ML Underhood – Telegram
ML Underhood
3.39K subscribers
206 photos
27 videos
102 links
Рассказываем, чем живёт ML в Яндексе, и обсуждаем важные новости индустрии.

Вопросы и предложения > @yandex_ml_brand
Download Telegram
Как Алиса видит мир

Недавно Алиса научилась распознавать объекты, показанные через камеру смартфона. В основе этой фичи лежит мультимодальная нейросеть (Visual Language Model, VLM), которая уже используется в Поиске по картинкам, Умной камере и Нейроэксперте. На Хабре вышла большая статья о том, как создавали эту модель, а здесь мы кратко расскажем главное.

VLM основана на семействе YandexGPT 5. Она состоит из LLM и картиночного энкодера. VLM получает на вход изображение и произвольную текстовую инструкцию и предсказывает текст — ответ на пользовательский запрос.

Датасет для претрейна мультимодальной модели состоял из документов, содержащих изображения, текстовых документов, пар «картинка-текст» и OCR-данных. Далее в обучении шла стадия SFT, а за ней — DPO.

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

Далее запрос отправляется в интернет. Модель собирает всю нужную информацию и выдаёт пользователю ответ (15 минут, если что).

А более подробно о том, как устроена VLM, а также об экспериментах и трудностях, которые возникали по ходу обучения, читайте на Хабре.

ML Underhood
👍8🥰54
Как LLM помогает быстрее находить товары на складе Маркета

Часто на складских полках рядом оказываются очень похожие товары. Это приводит к тому, что при сборке заказов товары приходится долго искать: сборщик берёт не то, смотрит, кладёт обратно, продолжает искать нужное. На таких «плохих» полках, где лежат визуально похожие товары (например, шторки одного цвета, но разных моделей) шанс вытащить искомое с первого раза не самый большой. В среднем на поиск нужной позиции теряется 4 секунды. А если таких операций полмиллиона в день, масштабы становятся внушительными.

Екатерина Трофимова, менеджер продуктов в команде логистики Маркета, рассказала, как с помощью LLM получилось оптимизировать хранение товаров на складе с учётом их похожести для более быстрого поиска.

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

Мы применили технологию векторизации текста к названиям товаров, чтобы получить уникальный вектор, описывающий каждый товар. С её помощью считается и сравнивается похожесть того, что кладётся на полку, и того, что уже лежит на ней. Все наименования и метаданные товаров прогнали через YandexGPT и получили вектора, которые легко сравнить и посмотреть косинусную близость между ними. Если значение выше порогового — считаем, что товары слишком похожи и не даём класть их рядом. Если ниже — можно класть на одну полку.

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

Помимо LLM, пробовали использовать другие решения, например расстояние Левенштейна (метрика для измерения различий между двумя строками) — но это не сработало. В нашем случае названия товаров могут сильно различаться по форме, даже если они описывают один и тот же продукт, поэтому расстояние Левенштейна будет большим для схожих товаров. GPT справляется с задачей лучше: вектора для таких товаров близки, даже если названия выглядят совсем по-разному.

В среднем, новый подход даёт выигрыш в 2,5 секунды на поиск товара, что приводит к экономии около 2 миллионов рублей в месяц на масштабе всех фулфилментов Маркета. Точность применения метода мы субъективно оцениваем в 7 из 10 — можно было выиграть ещё 1,5 секунды, за счет более агрессивного значения схожести товаров, но чтобы не ловить упячки в духе «кастрюля схожа с вилкой, не клади их вместе», мы ограничились безопасным значением.

Проект работает в проде с июня 2024 года. Мы внедрили его на бэкенде WMS (системы управления складом), и в течение 30 дней после внедрения увидели, что эффект стабильно сохраняется.

Вся реализация решения от проверки гипотезы до внедрения в прод заняла один человеко-месяц разработки. Это подтверждает гипотезу, что не всегда нужно строить космолет — иногда можно сделать быстро, просто и полезно.

Можно сделать вывод, что LLM — это не только генерация, классификация и другие привычные задачи. Иногда стоит взглянуть на модель под другим углом — например, в этом случае её использовали как числовой преобразователь и нашли решение бизнес-задачи.

ML Underhood
🔥20👍85😁1🤔1
Как LLM помогают анализировать ответы в опросах

Вы когда-нибудь задумывались, как исследователи анализируют результаты опросов? С закрытыми вопросами, у которых есть несколько вариантов ответа, всё достаточно просто — алгоритмы суммаризации существуют давно. Но что насчёт анализа открытых вопросов, на которые респонденты отвечают в свободной форме? Это кропотливый и изнурительный труд, ведь приходится вручную обрабатывать сотни, а то и тысячи ответов.

К счастью, LLM может помочь и здесь. Ведущий исследователь интеграции ИИ и UX в Поиске Яндекса Алексей Шипулин рассказал нашему каналу о созданном им телеграм-боте, который помогает анализировать ответы на открытые вопросы и экономит массу времени.

«Под капотом» у бота сразу несколько моделей. Первая — помощнее — читает все ответы, ищет близкие по смыслу и составляет некоторое количество категорий. Дальше в дело вступает модель послабее, которая тоже знакомится с ответами и распределяет их по созданным ранее категориям. Чтобы процесс был прозрачнее для исследователя, модель комментирует каждый ответ, объясняя, почему он попал в ту или иную группу. Тут важно ещё и то, что LLM знают не только ответы, но и вопросы — это положительно сказывается на категоризации.

Казалось бы, на этом можно и заканчивать, но нет. Вторая модель может совершать ошибки, относя ответ не к той категории, где ему следует быть. Проверкой занимается третья LLM — она оценивает ответы на соответствие категории по трёхбалльной шкале. Те ответы, которые получили оценку «два» или ниже, снова проходят через второй этап и распределяются по другим категориям. Потом опять проверка и опять перераспределение, если нужно.

На финальном этапе ответы распределяются по частотности. Самые редкие алгоритм предлагает не относить в отдельные категории, чтобы не размывать статистику. А делать это или нет — решает исследователь.

Весь процесс, на который человек мог бы убить целый день, занимает не более трёх минут — и на выходе получается наглядный график и таблица с ответами. Всего же с момента запуска в октябре телеграм-бот сэкономил исследователям Яндекса уже 12 лет!

ML Underhood
13👏8🔥5
Как Яндекс Браузер извлекает контент веб-страниц для пересказа? Часть I

Представьте, что вам нужно быстро проанализировать текст с десятка веб-страниц. На помощь придет функция краткого пересказа в Яндекс Браузере. Здесь — и не только здесь — работает суммаризация текста. Но возникает вопрос: что попадает в качестве входных данных в LLM, занимающуюся суммаризацией? На него в двух постах ответит Михаил Катунькин, старший ML-разработчик в Яндекс Браузере. В первой части речь пойдёт об общей идее и реализации, а во второй — об обучении модели.

Общая идея

Самое очевидное решение — взять HTML-код страницы. Его проблема в том, что верстка содержит в себе много лишней текстовой информации, которая «засорит» и сильно увеличит контекст модели: теги, скрипты, стили. Всё это приведёт к ухудшению качества пересказа, большему времени работы модели и удорожанию инференса.

Значит, следующий шаг — извлечь только текстовую информацию. Это улучшит ситуацию, но в контекст модели по-прежнему будет проникать много лишнего: реклама, меню, комментарии. А из-за того, что модель потеряет информацию о структуре страницы, в пересказ начнёт попадать, например, содержание статей из блока рекомендаций похожего контента.

Можно использовать разные эвристики, чтобы извлекать не весь текст страницы, а только полезный. Такой подход, например, используется в режиме чтения в браузере Однако из-за разнообразия верстки сайтов эта техника не является универсальной, нуждается в переподборе эвристик с течением времени, даёт плохое качество извлечения текста на определённых доменах.

Мы решили извлекать основной контент страницы при помощи ML-модели. А затем использовать информацию из HTML-кода для задания структуры текста: заголовков, подзаголовков, ссылок, выделений.

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

Реализация

HTML представляет собой дерево тегов. Блоки с текстом на странице — это листья в дереве. Будем для каждого листа принимать решение: брать его или нет в конечный текст. В качестве бинарного классификатора возьмем Catboost.

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

Использование семантических вектор-признаков, посчитанных по текстам, заметного улучшения качества суммаризации не даёт. Поэтому в продакшен-версии от них решили отказаться ради скорости работы модели.

Было важно оптимизировать код подсчёта признаков для модели, из-за того, что деревья тегов могут содержать сотни тысяч узлов. В итоговой версии код реализовали на C++. Он работает 40 мс на одно извлечение в 90 перцентили. Для сравнения, код на JS с эвристиками из режима чтения в Mozilla работает 1,125 с в 90 перцентили. Для достижения этого результата, в частности, мы оптимизировали динамические выделения памяти, а также удалили из набора признаков сложные в вычислении, но не столь значимые.

Из HTML-дерева с проклассифицироваными листьями уже можно получить очищенный текст в формате markdown. Для этого по дереву идёт обход в глубину, собирающий текст из листьев, прошедших порог классификации, и учитывающий наличие тегов с заголовками, ссылками, выделениями и прочим.

ML Underhood
👍193🔥3
В опенсорсе появился датасет Yambda, который поможет исследователям и разработчикам по всему миру тестировать и совершенствовать новые алгоритмы рекомендаций. Все подробности читайте в посте.
10
Исследователи Яндекса выложили в опенсорс Yambda — датасет на 5 млрд событий

В открытом доступе появился Yandex Music Billion-Interactions Dataset (Yambda) — один из крупнейших в мире датасетов в области рекомендательных систем. В этом посте рассказываем, зачем он нужен и какие у него ключевые особенности.

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

Существующие доступные датасеты, такие как MovieLens, Netflix Prize dataset, Amazon Reviews, Music4All-Onion, Steam и несколько других имеют ряд недостатков. Например, сравнительно небольшой размер делает их нерепрезентативным для коммерческих масштабов, а фокус на явных сигналах ограничивает полезность для моделирования реальных последовательных взаимодействий.

Чтобы решить эти проблемы и дать исследователям больше возможностей для разработки и тестирования новых гипотез в рекомендациях, исследователи Яндекса выложили в опенсорс свой датасет Yambda.

Ключевые особенности Yambda:

— Содержит 4,79 млрд обезличенных взаимодействий пользователей с музыкальными треками в Яндекс Музыке.
— Есть три версии: полная (5 млрд событий) и уменьшенные (500 млн и 50 млн
событий).
— Включает два основных типа взаимодействий: неявную обратную связь (прослушивания) и явную обратную связь (лайки, дизлайки, анлайки и андизлайки).
— Для большинства треков есть нейросетевые вектора, сгенерированные с помощью свёрточной нейронной сети (CNN), что позволяет учитывать некоторые характеристики музыкальных треков.
— Включены анонимизированные признаки метаданных треков, такие как длительность, содержание вложений, исполнитель и альбом.
— Каждое событие помечено флагом is_organic, который позволяет различать органические действия пользователей и действия, вызванные рекомендациями алгоритма.
— Все события имеют временные метки, что позволяет проводить анализ временных последовательностей и оценивать алгоритмы в условиях, приближённых к реальным.
— Данные распределены в формате Apache Parquet, что обеспечивает совместимость с распределёнными системами обработки данных (например, Hadoop, Spark) и современными аналитическими инструментами (например, Polars, Pandas).

Методы оценки

В отличие от метода Leave-One-Out (LOO), который исключает последнее положительное взаимодействие пользователя из обучающей выборки для предсказания, Yambda-5B использует глобальный временной сплит (Global Temporal Split, GTS). Преимущество GTS в том, что он сохраняет временную последовательность событий, предотвращая нарушение временных зависимостей между тренировочным и тестовым наборами данных. Это позволяет более точно оценить, как модель будет работать в реальных условиях, когда доступ к будущим данным ограничен или невозможен.

Вместе с датасетом представлены baseline-алгоритмы (MostPop, DecayPop, ItemKNN, iALS, BPR, SANSA, SASRec). Они служат отправной точкой для сравнения эффективности новых подходов в области рекомендательных систем.

Используются следующие метрики:

— NDCG@k (Normalized Discounted Cumulative Gain) — оценивает качество ранжирования рекомендаций.
— Recall@k — измеряет способность алгоритма генерировать релевантные рекомендации из общего набора возможных рекомендаций.
— Coverage@k — показывает, насколько широко представлен каталог элементов в рекомендации.

Датасет и код для оценочных бейзлайнов уже доступны на Hugging Face, а статья — на arXiv.

Статью подготовили Александр Плошкин, Владислав Тыцкий, Алексей Письменный, Владимир Байкалов, Евгений Тайчинов, Артём Пермяков, Даниил Бурлаков, Евгений Крофто, Николай Савушкин

@RecSysChannel
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2112🙏2
Как Яндекс Браузер извлекает контент веб-страниц для пересказа? Часть II

Продолжаем рассказ о суммаризации в Яндекс Браузере. В первой части речь шла об основной идее и её реализации, а во второй — заключительной — старший ML-разработчик в Яндекс Браузере Михаил Катунькин раскроет, как обучали модель.

Для сбора датасета мы пользовались двумя техниками: асессорскими разметками и синтетическими метками, полученными при помощи YandexGPT.

Асессору показывали веб-страницу, на которой он мог мышкой выделить блоки, соответствующие основному контенту. Таким образом собрали около 7 тысяч размеченных веб-страниц.

Размеченные данные мы разделили на две части. 2 тысячи примеров использовали в качестве тестового датасета. Оставшиеся 5 тысяч применили для дообучения YandexGPT для разметки веб-страниц.

При помощи YandexGPT разметили ещё 100 тысяч страниц, и уже на этих данных обучили Catboost. Последние 100 деревьев в Catboost обучались на 5 тысячах примеров, собранных асессорами.

Чтобы оценить качество извлечения контента, для каждой страницы считалась точность и полнота извлечения текста, а затем проводилось макроусреднение по всему датасету. Вариант без доразметки данных при помощи YandexGPT давал точность 88,8% и полноту в 96,3%. Доразметка подняла точность до 95,0% при той же полноте.

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

Для того, чтобы размечать страницы при помощи YandexGPT, применили следующую технику. HTML-дерево делится на несколько пересекающихся деревьев меньшего размера, чтобы каждое из них попадало в контекст из 8192 токенов модели. Затем к выходным эмбеддингам YandexGPT, соответствующим определённому блоку текста, применяется бинарный классификатор. Для тех блоков, которые классифицировали несколько раз из-за перекрытия деревьев, берётся средняя метка. Бинарный классификатор, а также LoRA-адаптер к модели учатся на 5 тысячах страниц, размеченных асессорами.

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

ML Underhood
10🔥4👍2
Как в Яндекс Картах находят редкие дорожные знаки среди миллионов изображений

Важная задача отдела картопроизводства — улучшать качество детекции дорожных знаков. Один из способов — находить знаки на панорамах, снятых с помощью телефонов или камер безопасности в такси. На момент старта проекта детектор знаков уже был, но он находил не все знаки и с недостаточной полнотой и точностью.

Сами по себе знаки можно взять хоть из Википедии — там есть список всех 300+ штук. Но модель не тренируется на списке — нужны десятки тысяч изображений с примерами каждого знака в реальных условиях. Вот тут и начинается основная работа.

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

1. Находим всё, что может быть знаком
На имеющемся датасете обучили RT-DETR на единственный класс «дорожный знак». Он «выкручен в полноту»: то есть в трейдофе полнота <-> точность, выбрана именно полнота. Так сделано, потому что предсказания этого детектора — кандидаты на проверку. На выходе из этого этапа получается много «кропов-кандидатов» — кусочков исходного снимка, на котором представлено что-то похожее на знак.

2. Классификация кропов
Дальше в дело вступает few-shot-классификатор на основе нашей картиночной тушки — большой свёрточной сети, которую разрабатывает Служба компьютерного зрения. Из неё взяты «эмбединги похожих» — представление изображений в векторном пространстве, где похожие изображения переходят в близкие вектора. Поверх этих эмбедингов обучены несколько линейных слоёв. В качестве примеров позитивного класса используются 20–30 примеров нужного нам знака. Примеров негативного класса в избытке — их берут из текущего датасета дорожных знаков. В результате получается блок, который умеет отвечать: похоже ли входное изображение (кроп-кандидат) на искомый нами знак.

3. Классификация снимков
Если хотя бы один кроп на снимке прошёл классификацию, мы сохраняем весь снимок. Так из сотен миллионов остаётся от сотни тысяч до миллиона в зависимости от знака. Из полученных кандидатов мы отбираем на разметку лишь малое количество: 2–5–10 тысяч картинок.

Дальше подключается трёхступенчатый пайплайн разметки с помощью людей в Яндекс Заданиях.

1. Проверка наличия знака
Асессор отвечает, есть ли на изображении нужный знак («да», «нет», «не загрузилась картинка»). Это быстрый и дешёвый способ отсеять ошибки предыдущих этапов, не тратя ресурсы на полную разметку ненужных картинок. Чтобы на выходе получить, например, 1200 знаков, на вход подаём с запасом — 2000–3000 изображений, иногда больше, если знак редкий.

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

3. Классификация каждого знака
Каждый размеченный знак показывается отдельно, и асессор выбирает, что это за знак — из палетки с 300+ вариантов. Пробовали упрощать интерфейс (группировка по цвету, форме и прочему), но это всё равно остаётся самым трудоёмким этапом.

Что в итоге
Сейчас весь пайплайн уже работает в проде. Для некоторых знаков, вроде «железнодорожный переезд», удалось собрать 5000 размеченных примеров — больше, чем требовалось. А вот со знаками поворота всё сложнее: классификатор часто путает «влево» и «вправо», из-за чего нужные картинки отсеиваются, и на выходе остаётся по 700–800 примеров. В ближайший месяц планируем дособрать все основные знаки по России и двинуться в сторону подготовки датасетов в межнаре.

ML Underhood
🔥137👍4💩1
Заметки с ICRA — главной конференции по робототехнике

В конце мая в США прошла ICRA — топ-1 по цитируемости конференция в области робототехники. На мероприятии побывала руководитель службы исследования алгоритмов нового поколения Мария Голицына. Она делится статьями на тему автономного транспорта, а ещё — фотографиями самых разных роботов. В разборе уместилось лишь несколько работ — полный список отобранных Марией статей можно увидеть по ссылке.

Mitigating Covariate Shift in Imitation Learning for Autonomous Vehicles Using Latent Space Generative World Models

Первым, с кем удалось поговорить на воркшопах, был Александр Попов — один из авторов статьи. Он работает в NVIDIA, где несколько сотен человек занимаются разработкой беспилотных автомобилей. В частности, команда развивает подход perception-to-trajectory: на входе — изображение с камеры, на выходе — траектория, по которой едет машина.

В работе обсуждается проблема covariate shift — отклонений от распределения, на котором модель обучалась. Это частая проблема в imitation learning: агент может оказаться в состояниях, которых не было в демонстрациях эксперта, и начинает совершать ошибки.

Авторы предлагают решение — использовать замкнутый цикл (closed-loop training) с генеративной моделью мира, работающей в латентном пространстве. В этой схеме берутся исторические данные с камер, затем система «закрывает глаза» и делает последовательность шагов вперёд в латентном пространстве — в статье это 12 шагов. На каждом шаге сравнивается действие эксперта и действие, предсказанное, чтобы выровнять распределения.

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

Completing Explicit 3D Reconstruction via View Extrapolation with Diffusion Priors

Другая работа — о 3D-реконструкции с помощью дополнения недостающих видов. Это идея, которая сейчас витает в воздухе: если у нас есть всего несколько ракурсов объекта, и их не хватает для точной реконструкции, можно дополнить недостающие изображения сгенерированными диффузионной моделью.

Авторы используют diffusion priors, чтобы «достроить» недостающие виды (view extrapolation), а затем делают реконструкцию по расширенному набору. Базовая модель — Foundation-модель MVDream, которая работает с несколькими изображениями на входе. Если подавать больше сгенерированных видов (например, 3 + 3, 3 + 6), качество итоговой реконструкции улучшается.

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

Uncertainty-Guided Enhancement on Driving Perception System via Foundation Models

Одна из немногих работ на ICRA, где LLM используется в контексте вождения. Идея простая: если perception-система не уверена в своём предсказании, можно подстраховаться с помощью foundation-модели. То есть модель делает предсказание и оценивает его надёжность. Если уверенность высокая — используем результат. Если низкая — подключаем LLM, которая даёт своё предсказание, и берём то, что надёжнее.

LLM тут не участвует в обучении и не делает инференс постоянно — её подключают только по необходимости. Это скорее механизм уверенного доуточнения, чем полноценный модуль восприятия.

Подводя итог, можно сказать, что ICRA, как и многие крупные конференции, — ещё и отличная площадка для нетворкинга. Удалось поговорить и обменяться идеями с инженерами из Zoox, Waymo, Nuro, Motional, Loxo и других компаний, которые занимаются автономным транспортом.

ML Underhood
🔥74👍2
Впечатления от ICLR 2025

Подводим итоги конференции вместе с инженерами Яндекса. Сегодня о своих впечатлениях от ICLR в этих карточках и одной секретной поделится руководитель Cloud AI/ML Services Yandex Cloud Василий Ершов.

ML Underhood
👍124🔥3
Yandex Research везёт на ICML 2025 шесть статей

Шесть работ российских исследователей из Яндекса приняли на ICML (International Conference on Machine Learning) — одну из старейших и самых авторитетных в мире научных конференций по ИИ, которая входит в топ-3 согласно Google Scholar. Статьи посвящены различным аспектам машинного обучения — от алгоритмического мышления нейронных сетей и измерения разнообразия до оптимизации использования памяти при работе с большими языковыми моделями. Кратко рассказываем о каждой из них — подробнее можно почитать в блоге Yandex Research.

Discrete Neural Algorithmic Reasoning
Авторы исследуют причины, по которым нейросетевые модели плохо обобщаются при обучении на алгоритмические задачи, и предлагают архитектурные изменения, решающие эту проблему. В частности, вводят ограничение на представление состояний вычислений, что обеспечивает точное соответствие исходным алгоритмам. Этот подход позволил добиться чёткого выполнения нейросетью нескольких алгоритмов. Кроме того, предложенная архитектура даёт возможность строго доказывать корректность работы обученных моделей на любых входных данных.

Measuring Diversity: Axioms and Challenges
В работе анализируют метрики разнообразия и выделяют три свойства, которым должна удовлетворять хорошая метрика: монотонность, уникальность и непрерывность. Существующие метрики не удовлетворяют хотя бы одному из этих свойств. При этом в работе приведены примеры метрик, которые удовлетворяют всем, но их вычисление — NP-трудная задача. Вопрос о том, существуют ли эффективные метрики со всеми желаемыми свойствами, остаётся открытым.

Cache Me If You Must: Adaptive Key-Value Quantization for Large Language Models
LLM хранят ключи (K) и значения (V) внимания для каждого токена, что быстро расходует память. Авторы предлагают сжимать их не в исходном виде, а с учётом взаимной информации между слоями — кодировать только то, что нельзя предсказать по соседнему слою линейными предикторами. Это позволяет сжимать KV-вектора почти без потерь качества даже при экстремальном 2-битном квантовании.

FRUGAL: Memory-Efficient Optimization by Reducing State Overhead for Scalable Training
При увеличении размеров обучаемой модели для хранения статистик оптимизатора требуется огромное количество памяти. Предыдущие методы уменьшали эту нагрузку, проецируя градиент на малоранговое пространство, где и хранились статистики оптимизатора. Однако такой подход не использует всю информацию из градиента. Авторы FRUGAL предлагают решить эту проблему, разделяя градиент на две части, одна из которых используется для обновления в малоранговом подпространстве через Adam, а вторая — в оставшемся подпространстве с помощью оптимизатора без статистик, например SGD или signSGD. Метод стабильно превосходит другие подходы при ограниченных ресурсах, достигая лучших результатов в предобучении и дообучении при той же экономии памяти.

Inverse Bridge Matching Distillation
Авторы предлагают алгоритм дистилляции diffusion bridge-модели (DBM) для задачи image-to-image translation до одного шага. Метод работает как для условных, так и безусловных моделей, может применяться для широкого класса задач реконструкции и генерации изображений, а также ускоряет работу моделей в 4–100 раз. В некоторых задачах модель-ученик даёт результат лучше, чем модель-учитель.

EvoPress: Towards Optimal Dynamic Model Compression via Evolutionary Search
EvoPress — метод оптимального динамического сжатия больших языковых моделей, основанный на применении эволюционного алгоритма. Он учитывает сложную нелинейную взаимосвязь между разными слоями нейронной сети. Подход валидируют на семействах моделей Llama, Mistral и Phi, где EvoPress достигает более высокого качества по сравнению с однородным сжатием и конкурентными динамическими методами.

В этом году конференция будет проходить с 13 по 19 июля в Ванкувере, и её по традиции посетят ML-инженеры из Яндекса. Ну а мы будем рассказывать о самых интересных статьях и докладах.

ML Underhood

#YaICML25
🔥28👍148
Векторный поиск в YDB: зачем он нужен и как его используют в Алисе

Сегодня команда Yandex B2B Tech представила новую версию системы управления базами данных YDB. Главная фича — векторный поиск. С ним можно за миллисекунды находить информацию в разнородных данных и формировать персональные ответы на запросы пользователей.

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

Векторный поиск улучшает качество и увеличивает скорость работы продуктов на базе ИИ: рекомендательных и поисковых систем, виртуальных ассистентов. Никита Зубков, руководитель отдела разработки диалоговой системы Алисы, рассказал, как технология помогает сделать общение пользователей с ассистентом более персонализированным:

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

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


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

База данных YDB доступна как опенсорс-проект и как коммерческая сборка с открытым ядром. Обе версии можно развернуть на своих серверах или воспользоваться managed-решением в Yandex Cloud. Больше технических деталей можно узнать из статьи на Хабре.

ML Underhood
26🔥12👍4🥰1
ICML 2025: интересные доклады на тему ML — часть 1

В эти дни в Ванкувере стартовала ICML 2025. Инженеры Яндекса делятся первой порцией любопытных работ прямо с места событий.

Efficient Distributed Optimization under Heavy-Tailed Noise

Авторы пытаются бороться с шумными апдейтами без дополнительной памяти. Вводят два гиперпараметра: «верхний порог» и «нижний порог», но при этом не просто обрезают градиенты по порогам, а делают это необычным способом, получая более качественную оптимизацию. Достоинство метода — в его stateless-сущности и экономии памяти, недостаток — в необходимость подбирать два новых гиперпараметра. Существующие методы, вроде AMSgrad, делают примерно то же самое: борются с взрывными апдейтами, но с использованием дополнительной памяти. Огорчает, что нет сравнения с AMSgrad — старый stateful-метод VS новый stateless-метод.

Online Conformal Prediction via Online Optimization

Несмотря на немного обескураживающее название, под капотом — онлайн-обучение квантильной регрессии (алгоритм оптимизации разработан специально для неё). На постере нет оценок на regret, однако авторы заверили, что их можно получить, поскольку это узкая задача из уже изученного более широкого семейства.

Lean and Mean Adaptive Optimization via Subset-Norm and Subspace-Momentum with Convergence Guarantees

Сугубо теоретическая статья, практические применения которой уже можно было видеть. AdaGrad, Adam, RMSprop — покоординатные адаптивные lr. Есть другая крайность — один нормализатор на все параметры (что делает метод фактически SGD, только чуть более простым в подборе гиперпараметров). Авторы исследуют нечто среднее: делят параметры на группы и для каждой вычисляют нормализатор из нормы вектора градиентов. Во‑первых, авторы выписали оценки сходимости для ряда задач, во‑вторых — провели эксперименты с трансформерами для выбора оптимальных групп параметров. Из личного разговора с исследователем удалось узнать, что лучше брать матрицы целиком — поколоночные и построчные группы работают хуже и покоординатного метода, и предложенного метода.

Global curvature for second-order optimization of neural networks

Метод второго порядка для оптимизации нейросетей. Смысл такой же, как в классических подходах: давайте будем считать произведение обратного квадратного корня гессиана на градиент как-нибудь побыстрее. Авторы статьи говорят: вычисление feed forward-архитектур устойчиво к некоторым перестановкам в матрицах весов линейных проекций — и некоторыми похожими свойствами обладает гессиан. Из этого свойства они получают вычислительно более эффективный метод. Разные методы оптимизации предлагают разные способы считать произведение обратного квадратного корня гессиана на градиент. Самые известные методы для large scale-задач — BFGS и L-BFGS. Пообщались с авторами статей — они заявляют, что их метод лучше для их архитектур, потому что он ищет среди точных решений (с учётом исследуемого ими свойства устойчивости к перестановкам), а семейства BFSG используют low-rank аппроксимацию, то есть не дают точного решения. Формулы выписаны только для tanh-активации. Пожелаем авторам удачи — хочется увидеть фундаментальный сдвиг в качестве методов оптимизации и асимптотике сходимости, а не очередной «Adam с рюшечками».

Интересное отобрал Алексей Морозов

ML Underhood

#YaICML25
Please open Telegram to view this post
VIEW IN TELEGRAM
👍84🔥4