Душный NLP
6.01K subscribers
188 photos
2 videos
108 links
Разборы свежих статей от NLP-специалистов Яндекса. Подробно, полезно, с душ(нот)ой.

Вопросы и предложения > @yandex_ml_brand
Download Telegram
SRPO — альтернатива DPO

Сегодняшняя статья о Self-Improving Robust Preference Optimization (SRPO). Это алгоритм оффлайн-RLHF, подобный DPO, но более подходящий для off-policy датасета ранжирования. Кроме того, SRPO лучше переносится на OOD-задачи.

Основная идея метода заключается в состязательном обучении двух политик: генерирующей и улучшающей. Задача улучшающей политики — на основании запроса и имеющегося ответа создать улучшенную версию этого ответа; задача генерирующей — научиться создавать ответы, которые нельзя значительно улучшить.

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

Метод можно реализовать с помощью одной LLM, которая выступает и в качестве генератора, и в качестве «улучшатора». Обученную модель можно применять итеративно, каждый раз корректируя ответ, полученный на предыдущем шаге, чего не предполагают методы вроде DPO или IPO.

Даже без итераций, SRPO выигрывает у DPO и IPO: на сложных Arena-Hard-промптах метод показывает 56% win-rate. На задаче суммаризации Reddit TL;DR SRPO на 4-й итерации SRPO достигает максимального качества.

Разбор подготовил Алексей Зотов

Душный NLP
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥177👍1💯1
ICLR 2025: что нового в мультимодальном ранжировании

На Хабре вышла статья Алексея Спасёнова и Кирилла Никорова из Поиска Яндекса по картинкам и видео. Алексей и Кирилл побывали на конференции ICLR, которая прошла в апреле в Сингапуре, и привезли с собой не только впечатления, но и (возможно) загар, и (совершенно точно) подборку интересных статей. Полностью ознакомиться с ней вы можете на Хабре, а здесь расскажем о нескольких работах.

Multi-Field Adaptive Retrieval

Работа от авторов из Northeastern University, Augment Code и Microsoft посвящена улучшению поиска по структурированным данным с произвольным числом блоков с помощью подхода под названием Multi-Field Adaptive Retrieval (MFAR).

Авторы комбинируют близость лексикографическую (BM25) и семантическую — на основе векторных представлений. Для вычисления близости между запросом и документом используется скалярное произведение (dot product), а энкодеры дообучаются в контрастивном режиме.

Также применяется механизм внимания: модель учится определять значимость каждого блока документа относительно запроса. На этапе генерации кандидатов сначала выбираются топ-k документов стандартными методами ретривала, после чего проводится уточнение результатов с помощью MFAR.

Multimodal Unsupervised Domain Generalization by Retrieving Across the Modality Gap

Авторы из Boston University предлагают подход к задаче Domain Generalization — улучшение обобщающей способности моделей без доступа к целевому домену.

Они улучшают качество поиска с использованием Approximate Nearest Neighbor (ANN) за счёт уточнённых эмбеддингов объектов. Для этого используется аугментация текстовых описаний классов: к каждому классу генерируется набор вариантов запросов, после чего вычисляются эмбеддинги этих текстов.

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

TempMe: Video Temporal Token Merging for Efficient Text-Video Retrieval

В этой статье авторы предлагают новую архитектуру для ранжирования видео по текстовому запросу. Temporal Token Merging (TempMe) — эффективная в вычислительном плане архитектура с небольшим количеством параметров. Основа архитектуры — text-video-CLIP-модель.
Выигрыш в вычислительном плане достигается благодаря так называемым блокам Intra- и Cross-clip Merging. В них происходят агрегации эмбеддингов похожих кадров и патчей. Тем самым от слоя к слою уменьшается не только пространственная размерность, но и временная.

Авторы получают ускорение в 1,8 раза и улучшение качества ранжирования видео на 4,4% (в терминах mAR@10), по сравнению с предыдущими вычислительно эффективными методами text-video retrieval. В данных использовались как очень короткие видео по 4–5 секунд (датасет LSMDC), так и довольно продолжительные — вплоть до 20 минут (датасет ActivityNet). Однако домен всех датасетов, конечно же, сильно смещён относительно стандартного поискового потока.

#YaICLR

Душный NLP
👍92🔥2
DAPO: An Open-Source LLM Reinforcement Learning System at Scale

Сегодня разберём короткую, но ёмкую статью из Китая. Авторы предлагают опенсорсный метод работы с большими LLM RL: алгоритмы, инфраструктуру кода и датасеты. Забавно, что на момент подготовки обзора у ребят почти пустой GitHub — большая его часть заполнена картинками.

DAPO — Dynamic sAmpling Policy Optimization — не представляет из себя чего-то кардинально нового. Использованные авторами подходы либо витали в воздухе, либо публиковались в других статьях.

Этот метод — модификация GRPO, который в свою очередь получился после улучшения PPO. Все эти алгоритмы объединяет возможность переиспользовать генерации. В обычных on-policy RL-алгоритмах каждый шаг оптимизации требует генерации свежей модели. А в PPO-подобных можно заранее создать большой батч ответов и сделать для него не один, а сразу несколько шагов оптимизации. Зачем? Большой батч эффективнее генерировать!

Новое классное свойство появляется за счёт использования importance sampling и трюка с обрезкой градиентов там, где свежая политика и так уже слишком сильно отличается от той, что сгенерировала данные.

Конкретно DAPO отличается от GRPO четырьмя вещами. Здесь есть:

— Модификация процедуры обрезки градиентов — Clip-Higher. Верхний порог обрезки выше, чем у GRPO, что улучшает итоговое качество.
— Динамическое сэмплирование: авторы предлагают с запасом генерировать ответы и выкидывать те, которые набрали одинаковую награду.
— Усреднение функционала ошибки по токенам, а не по запросам. Это придаёт больший вес длинным генерациям в общем функционале.
— Фильтрация слишком длинных ответов. Ответы, превысившие рекомендуемую длину получают небольшой штраф, а ответы вышедшие за максимальную длину — вообще не участвуют в оптимизации.

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

Самый классный, на мой взгляд, результат, — авторам DAPO удалось обойти SoTA DeepSeek-R1-Zero-Qwen-32B в решении задач олимпиадной математики. При этом они потратили 50% от мощностей, которые использовали для аналогичного обучения Qwen.

Разбор подготовил Павел Темирчев

Душный NLP
Please open Telegram to view this post
VIEW IN TELEGRAM
10👍2🔥2
Впечатления от конференции ICLR 2025

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

Материалы, которые упоминаются в карточках:

Asynchronous RLHF. Faster And More Efficient Off-Policy RL For LLMs
Learning Dynamics of LLM Finetuning
Cheating Automatic LLM Benchmarks: Null Models Achieve High Win Rates
Strong Model Collapse
Maximizing the Potential of Synthetic Data: Insights from Random Matrix Theory
IST-DASLab/MoE-Quant: Code for data-aware compression of DeepSeek models

*Компания Meta признана экстремистской организацией в России.

Душный NLP
👍163🔥2
Соскучились по конференциям? Тогда ICML 2025 спешит на помощь!

В Ванкувере стартовала конференция ICML, а это значит, что мы — уже по традиции — будем делиться самым интересным с мероприятия. И вот первая подборка постеров, с пылу с жару.

Scion: Training Deep Learning Models with Norm-Constrained LMOs

Самый популярный оптимизатор — AdamW — не делает никаких предположений о геометрии весов модели. Из-за этого во время обучения надо накапливать и хранить статистики градиента. В Scion сразу вводят предположение о норме весов и используют linear minimization oracle для вычисления их апдейта на каждой итерации. Для разных типов слоёв можно (и нужно) использовать разные нормы.

Получаем менее требовательный к памяти алгоритм — не надо хранить первый и второй моменты градиента. Кроме того, оптимальные гиперпараметры переносятся между моделями разных размеров. А главное — Scion находит лучший лосс по сравнению с AdamW и позволяет сократить общее время обучения на 25-40% . Это происходит благодаря большому батчу.

Learning Dynamics in Continual Pre-Training for Large Language Models

Было много постеров о scaling laws. На этом — исследуют динамику дообучения (continual Pre-training), зависимость от lr schedule и от данных. Заметили, что на дообучении лосс сходится к тому же значению, что и при обучении на этом же датасете с нуля. Кроме того, лосс повторяет форму lr scheduler с некоторой задержкой. Опираясь на это, выводят scaling law. Ну а дальше подбирают некоторые оптимальные гиперпараметры обучения.

Scaling Collapse Reveals Universal Dynamics in Compute-Optimally Trained Neural Networks

Ещё один интересный постер о scaling law. Здесь показали, что если построить график нормированного лосса (нормируем на финальное значение) от нормированного компьюта (переводим в [0; 1]), то кривые для моделей разных размеров накладываются друг на друга. Причём этот феномен зависит от lr и lr scheduler. Для переобученных моделей кривые будут накладываться с некоторым шумом, а для неоптимальных lr — могут и вовсе расходиться. Также выводят scaling law, который зависит от lr scheduler. Как это можно использовать на практике — пока вопрос открытый.

Layer by Layer: Uncovering Hidden Representations in Language Models

Интересный постер об эмбеддингах промежуточных слоёв трансформера. Всегда считалось, что если нужны эмбеддинги для какой-нибудь задачи (например, классификации), то надо просто снять их с последнего слоя, и будет хорошо. А здесь авторы исследовали, насколько хороши эмбеддинги промежуточных слоёв (проверяют на MTEB), и оказалось, что всегда лучше брать какой-то промежуточный. Чтобы узнать, какой именно — считаем метрику prompt entropy для каждого слоя по некоторому набору входных данных. Чем она меньше — тем лучше будут работать эмбеддинги с этого слоя.

Интересным поделился Ермек Капушев

#YaICML25

Душный NLP
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥206👍6
Несём новую порцию статей с ICML 2025

Продолжаем рассказывать о том, что увидели на конференции.

Outlier Gradient Analysis: Efficiently Identifying Detrimental Training Samples for Deep Learning Models

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

В этой статье заметили, что на самом деле можно смотреть только на градиенты модели по примерам, которые мы проверяем. Если они сонаправлены с градиентами по данным из обучения — примеры хорошие, и наоборот. Далее, на основе этого можно применять методы детекции аномалий для нахождения примеров, которые портят обучение, и отфильтровывать их (но можно делать и наоборот — искать хорошие примеры и добавлять их в обучающую выборку). Основное преимущество метода — вычислительная простота; не нужны супердорогие обращения гессиана: только forward и backward pass модели для заданных примеров.

Towards Memorization Estimation: Fast, Formal and Free

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

Где это можно применять? Для фильтрации данных. Если вдруг модель никак не может выучить какой-то пример, то, вероятно, в нём есть шум (например, неправильное решение математической задачи или неполное условие). Такие примеры можно выкидывать и улучшать точность модели или уменьшать компьют на обучение. Интересная и простая идея, надо проверять, действительно ли она будет работать для LLM (в статье проверяли только на задаче компьютерного зрения, в которой одни и те же данные проходят несколько эпох).

NICE Data Selection for Instruction Tuning in LLMs with Non-differentiable Evaluation Metric

В этой статье снова задаются вопросом, как выбирать такие примеры для обучения, чтобы на валидации получать хорошее качество. Отличие в том, что качество на валидации измеряется не лоссом, а произвольной необязательно дифференцируемой функцией (например, accuracy). В качестве её градиента используют policy gradient.

Jailbreaking LLMs and Agentic Systems: Attacks, Defenses, and Evaluations

На туториале рассказали о защите языковых моделей от нарушения политик элайнмента — например, чтобы модель не выдавала инструкции по созданию опасных веществ или не генерировала дискриминационный контент. Оказалось, что white-box-модели с доступом к весам (например, Llama) до сих пор уязвимы к так называемым token-based-атакам — вставке «мусорных» токенов в промпт. С этим неплохо работают методы поиска инжекта, близкого к кластеру безопасных промптов.

Промпт-инжекты по-прежнему похожи на попытки обмануть не очень внимательного человека, но сейчас работают лучше. Для большинства моделей удаётся подобрать рабочий инжект за 256 попыток («shots»).

Дальше рассказывали о методах защиты. Понятный способ — кластеризовать опасные состояния, добавить состояния отклонения ответа и дообучить модель переходить в них. Однако такой подход снижает качество ответов даже на безобидные вопросы (например, «how to kill python script» — из-за слова kill).

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

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

Интересное увидели Алексей Поспелов и Ермек Капушев

#YaICML25

Душный NLP
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥104👍1