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

Вопросы и предложения > @yandex_ml_brand
Download Telegram
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
И ещё постеры с ICML 2025

rStar-Math: Small LLMs Can Master Math Reasoning with Self-Evolved Deep Thinking

Статья показывает, как с помощью маленькой модели (1,5-7В) добиться качества на уровне больших вроде OpenAI o1. Для этого использует реворд-модель, которая умеет оценивать каждый шаг в рассуждении (process reward model, PRM) и генерируют рассуждения с помощью Monte Carlo Tree Search.

Как получить качественную PRM: шаг за шагом бустим политику и PRM. Сначала обучаем начальную политику на синтетике от DeepSeek-coder v2 (236B). Далее, используя её, получаем данные для обучения PRM. Следующим шагом с помощью и политики, и PRM генерируем новые более качественные данные. Обновляем все модели. А в конце полируем их, генерируя и обучаясь на траекториях для более сложных задач.

На каждом шаге для валидации правильности шагов используется код (то есть просят модель сгенерировать python-код для проверки шага). Результат — улучшение скоров на десятки процентов на математических бенчмарках.

VersaPRM: Multi-Domain Process Reward Model via Synthetic Reasoning Data

Ещё немного о PRM — VersaPRM. Авторы заметили, что такие модели работают только для математики, но не на остальных доменах (биология, философия, юридический домен). Проблема в данных — нет качественных размеченных пошаговых рассуждений для этих доменов.

Взяли вопросы из нужных доменов, сгенерировали рассуждения небольшой моделью (Llama-3.1 8B), оценили каждый шаг большой моделью (Llama-3.1 80B), и обучили на этом PRM. Далее при генерации ответов — взвешенный majority vote, где в качестве весов используют усреднённое по шагам предсказания PRM.

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

CollabLLM: From Passive Responders to Active Collaborators

На сессии Alignment and Agents был доклад, отмеченный как Outstanding Paper. Он посвящён тому, что диалоговая модель иногда должна отвечать не сразу, а сначала уточнить запрос пользователя — но без лишней «болтовни». Доклад довольно простой, и при этом получил признание.

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

#YaICML25

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