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

Вопросы и предложения > @yandex_ml_brand
Download Telegram
Любопытная статья с NeurIPS 2025

Крупнейшая ML-конференция проходит сразу в двух местах: в Сан-Диего и Мехико. Руководитель группы AI-планирования робота доставки Дмитрий Быков находится в Мексике и делится с нами тем интересным, что видит на мероприятии. Слово Дмитрию.

State Entropy Regularization for Robust Reinforcement Learning

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

Авторы утверждают, что регуляризация энтропии политики (policy entropy) приводит к тому, что весь эксплорейшен сосредоточен вокруг оптимальной траектории. Поэтому, выходя за её пределы, модель оказывается в незнакомой для себя ситуации. Регуляризация энтропии стэйта (state entropy), в свою очередь, вознаграждает агента за то, что он проходит по тем состояниям, в которых не был.

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


Больше интересного с NeurIPS ищите в наших каналах ML Underhood, 404 Driver Not Found и CV Time по хештегу #YaNeurIPS25.

Душный NLP
🔥129👍6
Разное о scaling laws

Сегодня — сразу несколько статей о scaling laws. Но начнём с небольшого обзора сферы в целом.

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

Через два года вышла статья Training Compute-Optimal Large Language Models, где, на примере модели Chinchilla доказали, что при меньшем размере можно получать более высокое качество путём увеличения количества данных. Это в некотором роде противоречит выводам первой публикации. При этом авторы Training Compute-Optimal Large Language Models проверяли scaling laws на моделях большего размера, чем исследователи в 2020-м.

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

Scaling Data-Constrained Language Models (2023)

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

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

Говоря об увеличении уникальных данных, авторы статьи предлагают, в частности, вливать к текстовой информации код (в публикации это был код на Python) и использовать perplexity-filter. Это поднимает качество при использовании метода повторений, описанного выше.

Scaling Optimal LR Across Token Horizons (2024)

Статья Microsoft, в которой рассматривают, как перенести Learning Rate между обучениями с разным числом токенов. Эксперименты показали, что оптимальный LR при увеличении горизонта (собственно, числа токенов) меньше. Это справедливо даже если увеличивать размер батча (BS).

Predictable Scale: Part I, Step Law — Optimal Hyperparameter Scaling Law in Large Language Model Pretraining (2025)

Авторы исследуют проблему оптимального LR и BS при разном количестве параметров и токенов. Также проверяют, зависит ли scaling law от расписания LR и архитектуры модели. И выводят следующую формулу:

1.79N ^−0,713 * D ^0,307

Где N — число параметров, а D — количество данных в токенах. Что касается BS, то в публикации указывается, что оптимальный составляет 0,58D^0,571

В публикации сравнили две стратегии: decay (min_Ir = max_Ir / 10) и фиксированный min _Ir (в статье — 10^-5). Выяснилось, что оптимум смещается, но в целом закон выполняется. Такой же вывод получили, когда по-разному распределяли параметры внутри модели.

Душный NLP
17🔥8👍31
Метод контекстного параллелизма Ulysses

Для обучения моделей на длинный контекст требуется много памяти под активации. Cкажем, чтобы обучить Qwen3-235B на контекст в 131 тысячу токенов, только под активации требуется более 100 ГБ, даже при использовании чекпоинтинга. Учитывая, что на карте надо хранить ещё саму модель, состояния оптимизатора и прочее, получается слишком много даже для GPU последних поколений. Что можно с этим сделать?

Большинство операций в трансформере (нормы, mlp, residual) над одним токеном происходят независимо от других. Это значит, что мы можем разбить нашу последовательность на N частей и обрабатывать каждую на отдельной GPU. Но у нас всё ещё остаётся селф-аттеншн, для подсчёта которого необходима вся последовательность. Так мы подходим к группе sequence- и context-parallel-методов вроде TPSP, Ring/ZigZag, Ulysses. Кратко расскажем о последнем.

В чём заключается идея:

— каждая GPU внутри context-parallel-группы хранит и обрабатывает только часть последовательности;
— перед тем, как зайти в аттеншн, вычисляем QKV-проекции размера [local_seqlen, global_heads, head_dim];
— делаем all_to_all QKV-проекций и получаем тензор активаций размера [global_seqlen, local_heads, head_dim]. Таким образом, потребление памяти не изменилось, но теперь каждая GPU может вычислять селф-аттеншн независимо, потому что имеет всю последовательность (но только часть голов);
— после вычисления аттеншена и до output-проекции снова делаем all_to_all и снова получаем тензор, разбитый по длине последовательности.

Этот метод обладает серьёзными преимуществами:

— очень прост в реализации, но в то же время может быть эффективным при грамотном перекрытии вычислений и коммуникаций;
— независим от реализации аттеншна и при небольших модификациях работает в том числе с линейными вариантами. Также подходит для мультимодальных сценариев.
Но есть и ограничения. Например, размер CP-группы (Context Parallelism) не может быть больше количества query-голов. В случае GQA требуется копирование KV-голов до размера CP-группы. Кроме того, Ulysses становится довольно дорогим при межхостовых коммуникациях.

Инженеры Яндекса использовали этот метод в Alice AI. Ulysses позволил провести Midtrain-стадию обучения и увеличить контекст с хорошим ускорением за счёт перебалансировки нагрузки между процессами.

Разбор подготовил Антон Андрющенко

Душный NLP
Please open Telegram to view this post
VIEW IN TELEGRAM
17🔥7👍3
Подборка статей об альтернативах квадратичному селф-аттеншну

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

Why Did MiniMax M2 End Up as a Full Attention Model?

Начнём с поста от команды MiniMax. Их первая модель, MiniMax M1, была гибридной и использовала простой линейный аттеншн на матричных стейтах. Но во второй версии, MiniMax M2, они неожиданно вернулись к полному квадратичному аттеншну — даже без sliding window attention (SWA), который уже встречается в опенсорсных моделях.

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

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

The Sparse Frontier: Sparse Attention Trade-offs in Transformer LLMs

В этой работе изучают training free sparsity в аттеншне и пытаются понять, что реально работает с точки зрения баланса compute/accuracy. На умеренных контекстах спарсификация аттеншна почти не помогает и часто ухудшает качество. На очень длинных — даёт выигрыш по FLOPs, но часто приводит к ухудшению качества: авторы замечают, что метод, работающий на одной задаче, ломается на другой. В среднем удаётся получить около 5× сжатия без сильной деградации качества, но разброс большой, особенно для маленьких моделей.

Evaluating Long Context (Reasoning) Ability

В следующем посте автор критикует популярные long-context-бенчмарки. Он говорит, что needle-in-a-haystack-like-задачи в основном проверяют ретривал и плохо отражают реальную (более сложную) работу с длинным контекстом. На более сложных задачах, где контекст нужно понять, а не просто найти факт (например, в длинном коде с логическими ошибками), модели начинают деградировать уже на десятках тысяч токенов — даже с Full Attention. Вывод: бенчмарков, которые реально проверяют ризонинг на длинном контексте, пока недостаточно.

Kimi Linear: an expressive, efficient attention architecture

Спустя неделю после скептического поста MiniMax Moonshot AI (авторы модели Kimi K2 и не только) выпустили работу с почти противоположным тезисом: Linear Attention работает. В Kimi Linear предложили Kimi Delta Attention с gated delta rule и рекуррентной матричной памятью. В модели используют соотношение 3:1 линейных слоёв к Full Attention. Качество на бенчмарках в статье не хуже полного аттеншна, а эффективность выше: prefill на длинных промптах быстрее примерно в три раза, декодинг и memory footprint тоже выигрывают за счёт меньшей зависимости от KV-cache.

Разбор подготовил Иван Рубачёв, а ещё он приглашает вас на семинары Yandex Research Reading Group

Душный NLP
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
18👍12🔥6
🎄 Лучшее за год в Душном NLP

Снова это время — время подводить итоги! Собрали самые популярные посты в канале за 2025 год. Чтобы вспомнить крутое или наверстать упущенное. А если что-то крутое, из опубликованного нами, вам и так запомнилось, рассказывайте в комментариях. Будет интересно узнать, какие посты запали в душу.

Проблемы LLM-as-a-Judge и их решение

Авторы изучают LLM-as-a-Judge для оценки открытых ответов, сравнивают три схемы и предлагают решения возникающих проблем. В частности, можно менять пары ответов для оценки местами, чтобы не возникал position bias.

Технический отчёт Qwen2.5-Coder

Разбор техрепорта семейства моделей, предназначенных для генерации кода. В отчёте есть и о сборе датасета, и о DPO.

ICLR 2025

Сразу несколько постов с конференции ICLR — преимущественно с интересными постерами, но и без приколов не обошлось. Всех их вы можете найти по тегу #YaICLR. А по тегу #YaICML25 — найдёте посты, собственно, с ICML. Там тоже много любопытного!

GenARM — метод потокенного реворда

Авторы сделали потокенный реворд, чтобы использовать его в тест-тайме для генерации ответов. Предложенный метод по качеству и скорости инференса оказался лучше ARGS и Transfer Q.

Как обучить одну модель и получить несколько

Статья о методе MatFormer, который позволяет извлечь несколько «подмоделей» из одной большой обученной модели. Результат получается лучше, чем у LLM, натренированной с нуля.

С Новым годом, друзья! Желаем вам отлично провести праздники, а мы вернёмся совсем скоро — с новыми обзорами и кое-чем ещё.

Душный NLP
Please open Telegram to view this post
VIEW IN TELEGRAM
21👍9👏7
🎄 Лучшие статьи 2025 года — выбор инженеров Яндекса

Miss me? Как и обещали, возвращаемся не с обзором, а с «кое-чем ещё», но не менее полезным. Мы попросили инженеров Яндекса, чьи разборы вы можете почитать в канале, поделиться (уже) прошлогодними статьями, которые им запомнились больше всего.

ToolOrchestra: Elevating Intelligence via Efficient Model and Tool Orchestration

Статья о маленькой модели (Qwen3-8B-Based), которая, по сути, выполняет функцию планера и роутера во вспомогательные инструменты (глобальный/локальный поиск), специализированные модели (вроде Qwen3-Coder) и модели общего назначения (GPT-5) для решения задач. Кроме того, модель обучена учитывать преференции пользователя по использованию тулов и размену качества на скорость и цену. С помощью обучения на несложной синтетике у авторов получается модель, которая даёт высокий скор на HLE, FRAMES, tau2-bench и при этом оказывается более cost-effective.

Stabilizing Reinforcement Learning with LLMs: Formulation and Practices

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

Artificial Hivemind: The Open-Ended Homogeneity of Language Models (and Beyond)

Исследователи из разных университетов изучили ответы моделей на запросы, допускающие ответ в свободной форме (вроде «в чём смысл жизни?» или «сочини стихотворение о времени»). Обнаружили, что ответы одной и той же модели, и совершенно разных, по форме и содержанию очень похожи. Известные техники повышения разнообразия — регулировка температуры или Min-p Sampling — не сильно помогают. Например, большинство моделей стали сравнивать время с рекой.

Вероятно, эффект обусловлен тем, что модели обучаются на похожих данных, собранных из интернета, или даже на синтетике, сгенерированной другими моделями. Кроме того, выяснили, что предпочтения LLM-as-a-Judge плохо коррелируют с оценками людей, особенно на примерах, где предпочтения асессоров расходятся.

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

DAPO: An Open-Source LLM Reinforcement Learning System at Scale

Авторы исследуют недостатки ванильного Deepseek GRPO и предлагают для них очень логичные практические решения, которые совсем несложно добавить к себе. А ещё очень классно, что они опенсорсят датасет и код обучения (который теперь доступен в фреймворке verl. Разбор статьи есть в канале.

Любопытными статьями поделились Владимир Платонов, Алексей Зотов, Денис Кузнеделев и Артём Харинаев

Душный NLP
Please open Telegram to view this post
VIEW IN TELEGRAM
11🔥5🤗1
Ускорение E2E-инференса через оптимизацию KV-кэша. Часть I

Существует много способов ускорить инференс LLM: менять архитектуру, использовать speculative decoding или просто добавлять вычислительные ресурсы. Но есть и более практичный путь — оптимизация KV-кэша.

Её можно разделить на pre-train и post-train. Первые требуют изменений до обучения модели: это архитектурные решения вроде GQA/MQA/MLA, смешивание глобального и локального атеншена, а также другие модификации, которые обычно стоят дорого из-за переобучения.

Post-train-методы можно применять к уже готовой модели: это различные sparse-стратегии, pruning, удаление повторов токенов и другие техники, которые уменьшают объём KV или сокращают число обращений к нему во время инференса.

KV-бюджеты удобно делить на dense и sparse, отдельно для prefill и отдельно для decode. В варианте dense prefill + dense decode (обычный KV-кэш) каждый новый Q взаимодействует со всеми K и V до него: ко всем токенам промпта и всем ранее сгенерированным токенам. Тогда KV-бюджет равен сумме длины промпта и длины генерации.

Если сделать sparse только на prefill, а decode оставить плотным, то Q перестаёт смотреть на весь промпт, но общий выигрыш заметен в основном в сценариях «длинный промпт — короткий ответ». Если же оставить dense prefill и сделать sparse decode, это часто релевантно reasoning/CoT-сценариям. Sparse и на prefill, и на decode даёт максимальную экономию бюджета, но обычно сильнее всего ухудшает качество.

Sparse можно строить по-разному. Если пересчитывать важные токены на каждом шаге decode, то качество станет выше, но скорость падает. Если пересчитывать раз в несколько токенов, то получается быстрее, но нужно удерживать локальный контекст между пересчётами, иначе модель начинает терять связность.

Один из сильных post-train-методов оптимизации KV-кэша — ShadowKV, который позволяет получать минимальные просадки на бенчмарках без дообучения и увеличивает throughput до трёх раз. О нём мы подробно поговорим в следующей части.

Разбор подготовил Владислав Кругликов

Душный NLP
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19🔥6👀5❤‍🔥4🤯1
Ускорение E2E-инференса через оптимизацию KV-кэша. Часть II

В первой части разбора мы говорили о методах оптимизации KV-кэша в принципе. А сегодня речь пойдёт об одном конкретном подходе — ShadowKV.

В его основе наблюдение, что post-RoPE key cache обладает attention locality — соседние токены часто имеют высокую cosine similarity, и только небольшая часть токенов выбивается из этого паттерна. Поэтому их режут на чанки по 8 токенов и строят landmarks — репрезентативные средние ключи для чанка. Это значительно ускоряет этап выбора ключей на шаге декодирования, а также улучшает доступ к памяти и позволяет лучше насыщать шину.

Ключевой момент в том, что лучше всего сжимается именно pre-RoPE K: он хорошо раскладывается в низкий ранг с минимальной ошибкой, заметно лучше, чем V. Поэтому ShadowKV делает так: pre-RoPE K сжимается через SVD, а V не сжимается, а уезжает в CPU (RAM), чтобы экономить GPU память и bandwidth.

При этом небольшое число токенов, которые плохо объясняются landmark’ами, выделяются как outliers (выбросы) и сохраняются полнорангово. В статье отмечают, что значимая доля outliers — это sink tokens. Достаточно порядка 0,049% бюджета на выбросы, чтобы попасть в точку diminishing returns: это минимальное количество outliers, которое почти полностью закрывает деградацию качества, а дальнейшее увеличение бюджета даёт лишь пренебрежимо малый дополнительный вклад.

На этапе prefill пайплайн строится так: параллельно с основным префиллом быстро вычисляются landmarks и outliers, и это вычисление перекрывается с отгрузкой V на CPU. В результате дополнительные шаги минимально увеличивают critical path, потому что большая часть работы делается в overlap-режиме.

Q на decode скорится не по всем токенам, а по landmarks каждого чанка. Затем выбираются лучшие чанки, и уже все токены из выбранных чанков отправляются в kernel attention. Для этого K восстанавливаются обратно из low-rank пространства, а соответствующие V подгружаются из CPU.

Дополнительно используется оптимизация в духе branch prediction или speculative-подходов. Между двумя соседними шагами декодирования выбранный набор токенов обычно меняется незначительно, потому что запросы на соседних шагах похожи. Поэтому можно кэшировать уже подгруженные токены для каждого слоя и на следующем шаге считать разность множеств, догружая только те токены, которых ещё нет в рабочем наборе. Эта оптимизация lossless относительно ShadowKV, потому что сохраняется инвариант: на каждом шаге в аттеншн всё равно попадает актуальный набор токенов — просто часть из них переиспользуется без повторной загрузки.

На бенчмарках деградация остаётся минимальной при бюджете около 1,56% от полного объёма KV. При этом в практических сценариях ShadowKV обеспечивает заметный прирост скорости и позволяет поддерживать существенно больший размер батча — за счёт снижения нагрузки на VRAM и уменьшения стоимости аттеншн на длинных контекстах.

Отдельно важно понимать, почему вообще имеет смысл оптимизировать именно аттеншн. Его вычислительная стоимость растёт с длиной последовательности, и на длинных контекстах он начинает доминировать по времени, тогда как FFN от длины контекста почти не зависит. Поэтому на коротких последовательностях в профиле часто доминирует FFN, и ускорение аттеншена даёт небольшой выигрыш.

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

Разбор подготовил Владислав Кругликов

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