Как стать автором
Обновить
413.41
Рейтинг
Яндекс
Как мы делаем Яндекс
Сначала показывать
  • Новые
  • Лучшие

DeDLOC: обучаем большие нейросети всем миром

Блог компании ЯндексOpen source*Машинное обучение*Распределённые системы*Искусственный интеллект


Как показывает опыт последних лет, самые интересные результаты в deep learning получаются при использовании больших нейросетей, обученных на массивах неразмеченных данных. Правда, для создания этих моделей нужен суперкомпьютер с десятками или сотнями мощных видеокарт, а также быстрым соединением между серверами. Но что делать, если таких ресурсов нет, а в открытом доступе хорошей модели под вашу задачу не нашлось?

Сегодня я расскажу про технологию, которая позволяет учить нейросети, объединяя через интернет вычислительные мощности энтузиастов из любой точки мира. В её основе лежит совместная научная работа Yandex Research, Hugging Face, студентов ШАД, ВШЭ и МФТИ, а также профессора Университета Торонто. Технология уже получила боевое крещение в ходе реального эксперимента, подробно описанного ниже. В конце статьи вы узнаете, как поставить такой эксперимент самостоятельно — модель и код доступны всем желающим.

Претрейн для всех, и пусть никто не уйдёт обиженным


За последние несколько лет во многих областях deep learning (например, в обработке естественного языка) стала популярной идея self-supervised learning. Оказалось, что для получения полезных в целевой задаче представлений не нужна большая размеченная выборка. Достаточно обучить модель на какой-то простой сигнал, построенный из неразмеченных данных, которых чаще всего в достатке. В частности, известные многим архитектуры BERT, GPT и языковая модель YaLM обучаются именно так.
Читать дальше →
Всего голосов 34: ↑34 и ↓0+34
Просмотры4.5K
Комментарии 4

Новости

Показать еще

Как можно оптимизировать dot-product и не только. Доклад Яндекса

Блог компании ЯндексВысокая производительность*Совершенный код*C++*Серверная оптимизация*
Разработчик инфраструктуры качества поиска Яндекса Ильнур Хузиев ilnurKh взял простую задачу — скалярное произведение двух векторов — и попробовал выжать все соки производительности кода. Из доклада вы узнаете, как использовать возможности процессора, настройки компилятора (и даже попробовать превзойти его), какой была бы правильная постановка задачи, как выбирать приоритеты и архитектуру. Да, вопрос выбора абстракций может встать даже на примере настолько простой задачи.

— Сегодня мы рассмотрим достаточно простую функцию — скалярное произведение двух векторов, и попробуем провести различные оптимизации. Надеюсь, что приёмы, которые мы рассмотрим, будут применены не только в этой задаче, но и в других.
Читать дальше →
Всего голосов 18: ↑18 и ↓0+18
Просмотры1.4K
Комментарии 1

C++ zero-cost abstractions на примере хеш-таблиц в ClickHouse. Доклад Яндекса

Блог компании ЯндексВысокая производительность*Open source*C++*Администрирование баз данных*
Хеш-таблицы — это королевы структур данных. Нигде не сломано так много копий, как на оптимизации хеш-таблиц. В докладе я рассказал ещё об одной хеш-таблице, которая используется в ClickHouse. Вы увидите, что zero-cost abstractions в современном С++ оправдывают себя и как с помощью небольших трюков получить разнообразные структуры данных из общей кодовой базы. На основе общих строительных блоков можно построить быстроочищаемую хеш-таблицу, несколько видов LRU-кешей, lookup-таблицы без хешей, хеш-таблицы для строк и т. п. Я показал, как получить максимальную производительность на конкретных сценариях и не ошибиться при её тестировании. В моём докладе — самая мякотка низкоуровневых оптимизаций. В общем, то, что мы любим.

— Для начала мы обсудим, зачем нужны хеш-таблицы, где их можно использовать в базах данных и как сделать их оптимальными. Затем посмотрим бенчмарки различных хеш-таблиц в интернете и разбёремся, как делать их правильно. В конце посмотрим на C++-обертку над идеальной хеш-таблицей в ClickHouse.
Читать дальше →
Всего голосов 35: ↑32 и ↓3+29
Просмотры4.8K
Комментарии 8

V8 в бэкенде С++: от одного JS-скрипта до фреймворка онлайн-вычислений

Блог компании ЯндексВысокая производительность*JavaScript*Анализ и проектирование систем*Проектирование и рефакторинг*
В этой статье я расскажу о долгом путешествии, в котором простая идея выноса в JavaScript часто меняющихся фрагментов алгоритма постепенно выросла в универсальный фреймворк, позволяющий быстро создавать микросервисы и так же быстро их развивать. Сейчас он служит основой для множества микросервисов в Яндекс Go. Тут не будет много специфики Go. Вместо этого будет много разработки и решений технических задач (а не продуктовых). Ещё я, конечно, расскажу про возникшие в процессе трудности: если вам, например, интересно, как V8 уживается с корутинами или как мы оптимизировали работу с ним для производительности, то добро пожаловать под кат.


Читать дальше →
Всего голосов 34: ↑34 и ↓0+34
Просмотры4.3K
Комментарии 6

Развитие инфраструктуры Погоды. Доклад Яндекса

Блог компании ЯндексIT-инфраструктура*API*Геоинформационные сервисы*
Что делать, если у вас завелись микросервисы, API стало слишком сложно пользоваться и на фронте все чаще мелькает undefined is not a function? На примере Яндекс.Погоды я показал, как мы эволюционировали из REST в GraphQL и почему это сделало жизнь разработчиков фронтенда и приложений мягкой и шелковистой.

— Меня зовут Всеволод Струкчинский, я ведущий разработчик Яндекс.Погоды. Доклад будет о том, как мы проектируем свой API, чтобы им было удобно пользоваться и мы от него не страдали.
Читать дальше →
Всего голосов 14: ↑13 и ↓1+12
Просмотры3.5K
Комментарии 4

Тернистая история Лисп-машин: первый бум AI, война Столлмана и удивительный интерфейс

Блог компании ЯндексLisp*Компьютерное железоИстория ITСтарое железо
Привет! Меня зовут Павел Анохин, я сооснователь и один из кураторов музея Яндекса. Хочу поделиться историей, связанной с нашим экспонатом — редкой платой с Лисп-процессором Symbolics. История эта уходит корнями в далёкое прошлое компьютерной эры — 70-е, времена огромных ЭВМ и первого бума интереса к искусственному интеллекту, продолжается в 80-е, когда Ричард Столлман воевал с компанией Symbolics за право открытого доступа к софту, и заканчивается в 90-х, когда ниша для применения Лисп-машин стала совсем узкой, а небольшие производители компьютеров пали под натиском крупных корпораций. Надеюсь, вам будет интересно узнать обо всём этом больше, а также посмотреть, как работает главный интерфейс Лисп-машины — Listener. Специально для статьи я записал видео с примерами создания несложных программ.


Лисп-плата из музея Яндекса
Читать дальше →
Всего голосов 57: ↑57 и ↓0+57
Просмотры11K
Комментарии 39

Приёмы ускорения кода на JS и других языках: подборка от разработчика поиска Яндекса

Блог компании ЯндексВысокая производительность*Разработка веб-сайтов*JavaScript*Программирование*
Привет! Меня зовут Виктор Хомяков, в Яндексе я работаю над скоростью страниц поиска. Однажды мне в голову пришла идея обобщить свой опыт и систематизировать приёмы ускорения работы кода на JavaScript. То, что получилось в итоге, собрано в этом материале.

Некоторые из приёмов будут полезны и тем, кто пишет на других языках. Все способы разделены на группы по убыванию специфичности: от наиболее общих до конкретных. Почти все примеры кода взяты из реальных проектов, из реального продакшена.


Читать дальше →
Всего голосов 79: ↑79 и ↓0+79
Просмотры34K
Комментарии 50

Неправильный путь в backend driven UI. Доклад Яндекса

Блог компании ЯндексРазработка под iOS*Разработка мобильных приложений*Интерфейсы*Разработка под Android*
Архитектура современных приложений часто позволяет передавать логику между клиентом и бэкендом. Главное — не зайти в этих экспериментах слишком далеко. Разработчик iOS-приложения Авто.ру Сергей Сергеев объяснил, как его команда пришла к backend driven UI не самым легким способом.

— Всем привет. Я iOS-разработчик, но история будет кроссплатформенная.
Читать дальше →
Всего голосов 7: ↑4 и ↓3+1
Просмотры2.3K
Комментарии 3

Яндекс открывает датасеты Беспилотных автомобилей, Погоды и Переводчика, чтобы помочь решить проблему сдвига данных в ML

Блог компании ЯндексOpen source*Машинное обучение*Исследования и прогнозы в ITИскусственный интеллект


В рамках конкурса Shifts Challenge мы выкладываем в открытый доступ крупнейший в мире датасет для обучения беспилотных автомобилей, а также данные Яндекс.Переводчика и Погоды. Приглашаем исследователей в области машинного обучения присоединиться к поиску решения проблемы сдвига распределения данных в реальном мире по отношению к тому, с чем моделям приходится иметь дело при обучении.

Меня зовут Андрей Малинин, я старший исследователь в Yandex Research. Сегодня я расскажу о проблеме, о наших датасетах, а также о конкурсе, который мы проводим в рамках международной конференции NeurIPS 2021 совместно с учеными из Оксфордского и Кембриджского университетов.

Всего голосов 48: ↑47 и ↓1+46
Просмотры12K
Комментарии 7

Автоматизация UI-тестирования в приложении Недвижимости на Android. Доклад Яндекса

Блог компании ЯндексРазработка мобильных приложений*Интерфейсы*Разработка под Android*Тестирование мобильных приложений*
Чем больше процессов тестирования автоматизированы, тем эффективнее релизный пайплайн и тем быстрее пользователи получают новые возможности в сервисе. Руководитель Android-разработки Яндекс.Недвижимости Александр Рогов вспомнил, как эволюционировало UI-тестирование в его команде, как разработчики пришли к идее автоматизации, почему использовали фреймворк Espresso, с какими проблемами столкнулись и что в итоге получили.

— Начать хотелось бы с небольшого исторического экскурса.
Читать дальше →
Всего голосов 9: ↑8 и ↓1+7
Просмотры1.8K
Комментарии 1

Разработка и эксплуатация ядра Linux в нашей инфраструктуре. Доклад Яндекса

Блог компании ЯндексВысокая производительность*IT-инфраструктура*Разработка под Linux*IT-компании
Внутреннее облако Яндекса состоит из сотен тысяч серверов в нескольких дата-центрах России и Европы. Все эти серверы работают под управлением ядра Linux. Из доклада старшего разработчика Дмитрия Монахова вы узнаете, как и зачем Яндекс разрабатывает и эксплуатирует ядро, в чем уникальная специфика ядерных задач, которые нужно решать на наших масштабах, и почему мы выбрали стратегию максимальной открытости ядра.

— Здравствуйте, все! Забавно: в последний раз я выступал в Яндексе несколько лет назад, работал в другой компании, но тоже рассказывал про фрагментацию, правда файловых систем. Сейчас рассказываю про ядро Linux.
Читать дальше →
Всего голосов 38: ↑37 и ↓1+36
Просмотры5.4K
Комментарии 1

Встречаем Meteum 2.0 — первую технологию метеопрогноза, алгоритмы которой обучаются на сообщениях пользователей

Блог компании ЯндексГеоинформационные сервисы*Машинное обучение*Исследования и прогнозы в ITIT-компании

Предсказывать погоду — дело неблагодарное. Рано или поздно каждый из нас сталкивается с ошибками в прогнозе, избежать которых трудно из-за постоянного недостатка информации и ограничений метеорологического оборудования. Но там, где не справляется техника, может помочь человек. 

Сегодня мы начинаем раскатывать новую версию прогнозирования осадков в Яндекс.Погоде. Ключевое изменение — внедрение технологии Meteum 2.0, которая впервые в истории метеопрогноза полагается не только на данные технических средств, но и на сообщения пользователей. В это сложно поверить, но сигналы пользователей оказались не менее полезны для качества прогнозов, чем данные радаров и спутников. Благодаря этому краткосрочный прогноз осадков стал точнее на 20%, а значит, люди будут реже попадать под дождь.

Присаживайтесь поудобнее — сейчас расскажу обо всём по порядку. 

История про погоду и людей
Всего голосов 63: ↑59 и ↓4+55
Просмотры15K
Комментарии 49

Сборка и тестирование в монорепозитории: кластер распределённой сборки DistBuild. Доклад Яндекса

Блог компании ЯндексАнализ и проектирование систем*IT-инфраструктура*Системы сборки*Распределённые системы*
Как собирать 7000 изменений в день в огромном монорепозитории? Я постарался рассказать об этом на недавнем Я.Субботнике. Во вводной части я напомнил, чем мы в принципе занимаемся в отделе технологий разработки Яндекса. Дальше поговорили про устройство нашего кластера, а на десерт пообсуждали, как у нас используются вычислительные ресурсы на этом кластере — насколько хорошо они утилизируются.

Чем мы занимаемся


— Итак, давайте начинать. Наверняка все из вас каким-то образом связаны с IT и знают нормальный жизненный цикл или каждодневную работу разработчика. Он приносит основную ценность тем, что пишет код.
Читать дальше →
Всего голосов 8: ↑7 и ↓1+6
Просмотры1.7K
Комментарии 4

Как и для чего мы два раза переезжали на GraphQL — опыт Яндекс.Афиши

Блог компании ЯндексВысокая производительность*Анализ и проектирование систем*Проектирование и рефакторинг*API*
Привет! Сегодня мы поговорим с вами о том, как эволюционировала архитектура Яндекс.Афиши, а именно — как и почему мы перешли от REST на GraphQL к Node.js + Python, а потом в целях оптимизации избавились от Node.js + Python и переписали весь GraphQL на Java. Это история борьбы за производительность, скорость и удобство работы Афиши и некоторых других сервисов, которая может быть полезна тем, кто планирует оптимизировать ресурсы на своём проекте, ускорить работу запросов в БД, создать быстрый и поддерживаемый API Gateway с удобным языком запросов или разделить устаревший монолит на микросервисы.



Меня зовут Александр Поляков, я больше семи лет работаю в Медиасервисах Яндекса: руководил командой программистов в Афише, а сейчас руковожу разработкой в Яндекс Плюсе. Соавтор этой статьи — мой коллега Михаил Сурин Antimony, который руководит разработчиками в Яндекс.Афише сейчас. Теперь, когда наша роль в этой долгой и непростой истории ясна, начнём!
Читать дальше →
Всего голосов 27: ↑25 и ↓2+23
Просмотры8.2K
Комментарии 56

Как мы ускоряли ввод текста на смартфоне: динамическая сетка в Яндекс.Клавиатуре

Блог компании ЯндексРазработка мобильных приложений*Интерфейсы*Машинное обучение*Смартфоны


Нельзя быть полностью довольным своей клавиатурой. Кажется, абсолютное большинство людей недолюбливает этот инструмент и мечтает печатать быстрее. Особенно достаётся клавиатурам мобильных устройств: в набранных с их помощью текстах в два-три раза больше ошибок, чем при десктопном вводе. Неудивительно: попробуй попади с первого раза по всем нужным кнопкам, когда они такие маленькие и никак не отделены друг от друга тактильно. А если ещё и печатать на ходу?

На связи Антон Дворкович. Вы можете помнить меня по постам о тонкостях чувашского языка и технологиях машинного перевода. Почему сегодня я рассказываю о Клавиатуре? Потому что в её основе — технологии и опыт Яндекс.Переводчика. Именно они помогают пользователям меньше ошибаться и печатать быстрее.

Из этой статьи вы узнаете не только о «классическом» подходе к исправлению опечаток с помощью подсказок и автокорректора, но и о динамической сетке, которая позволяет исправлять ошибки ещё до того, как человек их совершит.
Читать дальше →
Всего голосов 62: ↑61 и ↓1+60
Просмотры13K
Комментарии 114

Мультиарендный подход к инфраструктуре работы с данными. Доклад Яндекса

Блог компании ЯндексВысокая производительность*Анализ и проектирование систем*Хранение данных*
Времена, когда для экземпляра базы данных выделялся отдельный компьютер, давно прошли. Сейчас повсюду управляемые решения, поднимающие необходимые процессы в виртуальных машинах. Для вычислений применяется еще более прогрессивный подход — «бессерверные вычисления», например AWS Lambda или Yandex Cloud Funtions. И уж совсем на острие прогресса находятся бессерверные БД. Руководитель отдела разработки систем хранения и обработки данных Yandex.Cloud Андрей Фомичёв Anfo рассказал о бессерверных решениях, которые еще до всеобщего хайпа стали популярны в Яндексе и по-прежнему используются для хранения и обработки данных.

— Всем привет. Если вы не очень знаете, что означает слово «мультиарендный» (multitenant) в названии доклада — ничего страшного, я расскажу поподробнее, и станет понятно.

Доклад будет из четырех разделов. Сначала я расскажу, что такое многопользовательские и multitenant-системы и чем они отличаются. Потом приведу примеры мультиарендных multitenant-систем в Яндексе: Yandex Database (YDB) и Yandex Query. Затем расскажу, как мы все эти системы реализовываем, какие в них особенности. В заключение подведу итоги доклада.
Читать дальше →
Всего голосов 10: ↑9 и ↓1+8
Просмотры1.4K
Комментарии 4

Как проходят архитектурные секции собеседования в Яндексе: практика дизайна распределённых систем

Блог компании ЯндексВысокая производительность*Анализ и проектирование систем*Промышленное программирование*Распределённые системы*
Привет, меня зовут Костя Кардаманов, я работаю в отделе технологий разработки Яндекса. Обычно такой же фразой я приветствую и кандидатов на собеседовании. А сегодня я хотел бы рассказать вам, как и зачем мы проводим интервью по дизайну систем с бэкенд-разработчиками. Сразу скажу: для фронтендеров, мобильных разработчиков и ML-инженеров подобный тип собеседований применим слабо, так что эти специальности мы здесь обсуждать не будем.

Технический уровень кандидата у нас оценивается за счет всего двух типов интервью: секции с кодом и секции дизайна компьютерных систем. Первый тип мы назначаем всем претендентам вне зависимости от их уровня, а вот у кандидатов, которые претендуют на должность старшего специалиста, нужно проверять не только способность писать эффективный и работоспособный код, но и способность разрабатывать сложные системы в целом.

Что такое дизайн информационных систем


Основная цель любой IT-компании — производить сервисы, которые решают задачи пользователей. Мы должны уметь собирать элементы системы в единый механизм, который будет эффективно выполнять поставленную цель, и если первый тип собеседований нацелен в первую очередь на проверку необходимого минимума, то интервью про дизайн систем проверяет достаточность навыков кандидата в достижении конечной цели. Далекому от IT пользователю принципы и устройство систем могут казаться бесконечно сложными, но мы, их разработчики, должны иметь (не обязательно детальное) представление о принципах функционирования и роли каждого компонента.

Опытный читатель может сказать — в мире полно платных и бесплатных решений, из которых я могу собрать систему как из деталей конструктора, зачем мне понимать устройство этих деталей?
Читать дальше →
Всего голосов 94: ↑92 и ↓2+90
Просмотры31K
Комментарии 33

Разработка платформы управления данными. Доклад Яндекса

Блог компании ЯндексPython*Администрирование баз данных*Хранение данных*Хранилища данных*
Яндекс Go разрабатывает платформу управления данными (DMP) как сервис для офлайн- и near real-time-обработки данных. Я постарался рассказать, какая мотивация нужна для создания собственного ETL-инструмента, как ETL и Data Warehouse превратить в DMP, какие проблемы возникают в процессе разработки и как мы их решаем.

— Меня зовут Владимир Верстов, я руковожу разработкой DMP в Яндекс Go — той частью, которая относится к платформе. Не контентной частью, а универсальными инструментами, которые мы переиспользуем, чтобы удобным образом выстроить внутри Такси, Еды и Лавки потоки данных и другие процессы, связанные с дата-инжинирингом. Чтобы сделать сущность, позволяющую дата-инженерам, аналитикам и разработчикам бэкенда коммуницировать на уровне данных и процессов.

Начать рассказ проще всего с вопроса, что вообще такое DMP, потому что каждый под этим может понимать что-то свое: нет устоявшихся паттернов. Расскажу, как мы вообще пришли к текущему состоянию, покажу несколько примеров использования нашей платформы для Greenplum, для Spark, и постараюсь успеть подвести итоги.
Читать дальше →
Всего голосов 10: ↑9 и ↓1+8
Просмотры3K
Комментарии 1

<img>. Доклад Яндекса

Блог компании ЯндексРазработка веб-сайтов*JavaScript*Интерфейсы*HTML*
«Просто добавь картинку на сайт», — говорили они. А оказалось, что «просто» не значит «правильно». В докладе я постарался разобраться, как эффективно добавлять изображения на страницу, какие форматы графики для каких случаев полезны и как автоматизировать автоматизируемое.

— Всем привет. У меня доклад с интригующим названием в виде одного тега.
Всего голосов 45: ↑45 и ↓0+45
Просмотры18K
Комментарии 4

Как Яндекс применил генеративные нейросети для поиска ответов

Блог компании ЯндексПоисковые технологии*Алгоритмы*Машинное обучение*Natural Language Processing*


Только что мы представили новую версию поиска Y1. Она включает в себя комплекс технологических изменений. В том числе улучшения в ранжировании за счёт более глубокого применения трансформеров. Подробнее об этом направлении мой коллега Саша Готманов уже рассказывал в нашем блоге. В новой версии модель стала мощнее: количество параметров возросло в 4 раза. Но сегодня мы поговорим о других изменениях.

Когда человек вводит запрос в поисковик, он ищет информацию или способ решения своей задачи. Наша глобальная цель — помогать находить такие ответы, причём сразу в наиболее ёмком виде, чтобы сэкономить людям время. Этот тренд на ускорение решения пользовательских задач особенно заметен в последние годы. К примеру, теперь многие пользователи задают свои вопросы не текстом в поиске, а голосовому помощнику. И тут нам на помощь пришли огромные генеративные нейросети, которые способны перерабатывать, суммаризировать и представлять в ёмком виде тексты на естественном языке. Пожалуй, самой неожиданной особенностью таких сетей стала возможность быстро обучаться на всё новые задачи без необходимости собирать большие датасеты.

Сегодня мы поделимся опытом создания и внедрения технологии YaLM (Yet another Language Model), которая теперь готовит ответы для Поиска и Алисы. В этом мне помогут её создатели — Алексей Петров petrovlesha и Николай Зинов nzinov. Эта история основана на их докладе с Data Fest 2021 и описывает опыт внедрения модели в реальные продукты, поэтому будет полезна и другим специалистам в области NLP. Передаю слово Алексею и Николаю.

Всего голосов 70: ↑68 и ↓2+66
Просмотры26K
Комментарии 16

Информация

Дата основания
Местоположение
Россия
Сайт
www.yandex.ru
Численность
свыше 10 000 человек
Дата регистрации