Как мы делаем Яндекс
3.33K subscribers
481 photos
5 videos
577 links
Сотрудники Яндекса каждый день решают технологические задачки.

В нашем блоге они делятся с сообществом опытом и знаниями.
Download Telegram
Беспилотные автомобили Яндекса уже проехали почти 30 миллионов километров по самым разным дорогам и перевезли десятки тысяч пассажиров. Чтобы это стало возможным, каждую сборку ПО тестируют с помощью симуляций, где алгоритмы могут воссоздавать тысячи разных сцен, к которым автомобиль должен быть готов в реальности.

Александр Чистяков из команды беспилотных автомобилей Яндекса посвятил свой доклад симуляторам: что это, зачем, как это устроено изнутри и какие в симуляции есть подводные камни, неожиданные парадоксы.
Ни для кого не секрет, что мы проектируем электронику наших Станций сами. Наши инженеры с огромным трепетом относятся к каждой плате, которую они создают, уделяя внимание мельчайшим деталям. Можно сказать, вкладывают в каждую Станцию частичку себя.

Проведя с проектом платы огромное количество часов, хочется оставить какое-то невинное и милое послание прямо от создателя к самому искушённому пользователю. Такие послания ещё называют «пасхалками». И да, они есть и в наших Станциях.

Алексей Фоменко из команды Алисы и умных устройств поделился краткой историей разработки некоторых плат в Станциях и показал, какие пасхалки скрывают в себе устройства.
Yandex Query Language (YQL) — универсальный декларативный язык запросов к системам хранения и обработки данных, разработанный в Яндексе. А ещё это один из самых нагруженных сервисов: YQL ежедневно обрабатывает около 800 петабайт данных и 600 000 SQL-запросов, и эти показатели постоянно растут.

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

Виктор Брыксин, руководитель разработки Яндекс Телемоста, рассказал в статье на Хабре про рабочие инструменты, которые помогли ему в свое. Если вы не знаете, как подступиться к декомпозиции сложного проекта и с чего начать, — эта статья вам в помощь.
Когда в команде регулярно проводятся ML-эксперименты, разработчики часто сталкиваются с обилием ручных операций при построении пайплайна. Например, когда нужно протестировать код на реальных данных, приходится вручную переносить окружение на удалённую машину, а потом много раз исправлять возникающие проблемы.

Из доклада Артёма Гойлика и Владислава Волоха из команды DataSphere в Yandex Cloud мы узнаем, как эта проблема решалась при создании инфраструктуры для ML‑разработчиков внутри Яндекса, и что привело к созданию сразу двух решений: опенсорс-инструмента и облачного сервиса.
Полтора года назад мы выпустили в опенсорс DivKit — фреймворк для отрисовки интерфейсов из ответа сервера. А сегодня у этого проекта появился долгожданный клиент для Flutter!

В своей статье Максим Ясаков рассказывает об особенностях вёрстки в DivKit и нашей реализации UI. Вы узнаете, какие фичи и компоненты Flutter поддерживаются во фреймворке на текущий момент. А ещё покажет, как начать пользоваться клиентом уже сейчас.
С момента прошлого релиза фреймворка 🐙 userver для С++ прошло чуть больше полугода. За это время его разработчики успели сделать многое:

- сильно оптимизировали работу фреймворка;
значительно упростили конфигурирование;
- обзавелись install, докер-образами, Yandex Cloud-образом и DEB-пакетами;
- обросли новой функциональностью, включая серверные мидлвари для HTTP, и YDB-драйвером;
- перешли на новую ежемесячную схему релизов и упростили версионирование.

Что ещё нового в релизе и как оно работает? Об этом рассказал Антон Полухин в своём посте на Хабре.
«Баннерная крутилка» — один из самых высоконагруженных сервисов в Яндексе, который умеет переживать 700 тысяч RPS, а иногда и больше. На каждый запрос он просматривает базу из миллиарда документов и выбирает из них самые релевантные. При этом 99% всех запросов обрабатываются менее чем за 200 миллисекунд.

Какими принципами стоит руководствоваться при построении подобных высоконагруженных систем? Как устроены стадии отбора документов? Какое участие в ранжировании принимает ML? Обо всём этом рассказал в своём докладе Артём Ваншулин, руководитель разработки ранжирования в команде баннерной системы.
Сегодня Яндекс открыл доступ к YandexGPT Lite третьего поколения. Одним из ключевых этапов её обучения стал этап Alignment, включающий в том числе стадию обучения с подкреплением — RL. Без этого этапа мы бы не смогли добиться такого роста в качестве, который был необходим для запуска новых возможностей и сервисов.

Павел Темирчев, один из разработчиков YandexGPT, рассказал на Хабре подробности о двух этапах выравнивания — SFT и RLHF, а также как выбрать оптимальную модель награды.
Разработчики мобильных приложений временами сталкиваются с разными трудностями: медленный выход релизов, поддержка консистентности приложений на разных платформах, лишние запросы в бэкенд, которые сьедают скорость приложения. И иногда найденные решения помогают только на время: всё это напоминает древнегреческий миф, в котором Сизиф толкает в гору камень, он скатывается вниз, и всё начинается по новой.

Алексей Морозов из инфраструктурной команды Яндекс Маркета поделился историей, как им удалось построить BDUI. В статье он рассказал о том, как это случилось, что сделали и какой в итоге получили результат, а также показал примеры использования подхода в реальных задачах.

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

Марат Сибгатулин в своей новой статье разобрал на примере Yandex Cloud, как настроить аутентификацию и авторизацию на сетевом оборудовании на основе TACACS, сделать работу сервиса отказоустойчивой и обеспечить себе запасной ход на случай глобальных проблем.

#статья
Яндекс представил новую версию машинного перевода, обученную с помощью YandexGPT

Мы впервые применили большую языковую модель YandexGPT для подготовили эталонных примеров текстов, на которых затем обучили нейросеть в Яндекс Переводчике. Это позволило сервису точнее понимать контекст, распознавать фразеологизмы и ориентироваться в профессиональной лексике.

#новость
И ещё одна небольшая, но полезная новость для тех, кто интересуется историей. Мы добавили в Поиск по архивам новый тип документов — справочники XIX–XX веков из фондов Национальной электронной библиотеки и Российской государственной библиотеки.

Более подробно о сервисе и нашей технологии распознавания рукописных документов мы рассказывали на Хабре в прошлом году.

#пост
Многие пользователи не только читают книги, но и слушают их аудиоверсии. К сожалению, далеко не для всех книг такие версии существуют. Но мы придумали, как помочь пользователям.

В Букмейте появился виртуальный рассказчик. Он позволяет в режиме реального времени слушать книги, у которых нет предзаписанных аудиоверсий. Рассказчик разработан на базе комплекса речевых технологий Яндекса с привлечением профессиональных дикторов.

На данный момент виртуальный рассказчик доступен для 13 000 книг.

#новость
Гайд по ICLR 2024: тренды и лучшие доклады

Недавно состоялась ежегодная международная конференция, посвященная машинному обучению — ICLR. Доклады были самые разные: генеративные модели для текстов, изображений и видео, графовые сети, робототехника, но самым популярным словом ивента было, конечно же, «LLM». Второе по популярности — «RL», а третье — «диффузионные модели».

На конференции побывали разработчики Яндекса и поделились инсайтами и ссылками на полезные статьи.

#статья
Яндекс открывает YaFSDP — инструмент для ускорения обучения больших языковых моделей и сокращения расходов на GPU

Сегодня мы выкладываем в опенсорс наш новый инструмент — алгоритм YaFSDP, который помогает существенно ускорить процесс обучения больших языковых моделей. Использование библиотеки на моделях с открытым исходным кодом позволяет сократить время обучения LLM до 25% в зависимости от архитектуры и количества параметров.

В статье рассказали о том, как можно организовать обучение больших языковых моделей на кластере и какие проблемы при этом возникают, а также об альтернативных методах ZeRo и FSDP, которые помогают организовать этот процесс, и чем YaFSDP отличается от них.

#статья
Test Driven Development в Embedded, или Как увеличить производительность команды на 37%

Проектирование и планирование — очень непростые темы, не поддающиеся математическому анализу. Тем не менее есть множество инструментов, которые позволяют взглянуть на правильность планирования в ретроспективе и сделать выводы.

Сегодня расскажем об опыте, который приобрела команда Яндекс Маркета в рамках работы над проектом складского робота. Внедрение подхода TDD позволило им сократить количество ошибок на 40–60% и тем самым увеличить производительность на 37%.

#статья
Как эволюционировала платформа управления данными в Яндекс Go. Доклад Яндекса

Владимир Верстов, руководитель платформы управления данными Яндекс Go, выступил на конференции SmartData. В своём докладе он поделился историей построения платформы, рассказал, с какими задачами столкнулась команда и как их решали.

#доклад
Яндекс выпустил отчёт об устойчивом развитии за 2023 год: подборка фактов для Хабра

Сегодня мы опубликовали отчёт о прогрессе в области устойчивого развития. Он составлен по международным стандартам GRI Standards и SASB и выпускается ежегодно. Отчёт посвящён тому, что было сделано за год в тех направлениях, где мы можем принести наибольшую пользу обществу, компаниям и окружающей среде.

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

#новость
А ещё у нас вышел пост Романа Иванова с лайфхаком, который поможет переводить на русский язык экран любого приложения на iPhone всего лишь по одному двойному тапу.

Альтернативные советы для пользователей Android прилагаются.

#пост