gonzo_ml | Unsorted

Telegram-канал gonzo_ml - gonzo-обзоры ML статей

21999

Авторы: Гриша Сапунов, ранее руководитель разработки Яндекс-Новостей, ныне CTO Intento. Области интересов: AI/ML/DL, биоинформатика. Лёша Тихонов, ранее аналитик в Яндексе, автор Автопоэта, Нейронной Обороны... Области интересов: discrete domain, NLP, RL.

Subscribe to a channel

gonzo-обзоры ML статей

Sakana.ai (1, 2) продолжает придумывать что-то прикольное.

Агентная система для генерации оптимизированных CUDA кернелов
https://sakana.ai/ai-cuda-engineer/

Внутрь статьи пока не забуривался, но выглядит прикольно.

Читать полностью…

gonzo-обзоры ML статей

Вслед за Гуглом с Willow (/channel/gonzo_ML/3078), в квантовых компьютерах активничает Microsoft.

Сегодня они анонсировали Majorana 1 (Этторе Майорану мы любим!), квантовый процессор на топологических кубитах. Microsoft рассчитывает отскейлить квантовые компьютеры на этой технологии.

Сатья Надела интересно написал:

A couple reflections on the quantum computing breakthrough we just announced...

Most of us grew up learning there are three main types of matter that matter: solid, liquid, and gas. Today, that changed.

After a nearly 20 year pursuit, we’ve created an entirely new state of matter, unlocked by a new class of materials, topoconductors, that enable a fundamental leap in computing.

It powers Majorana 1, the first quantum processing unit built on a topological core.

We believe this breakthrough will allow us to create a truly meaningful quantum computer not in decades, as some have predicted, but in years.

The qubits created with topoconductors are faster, more reliable, and smaller.

They are 1/100th of a millimeter, meaning we now have a clear path to a million-qubit processor.

Imagine a chip that can fit in the palm of your hand yet is capable of solving problems that even all the computers on Earth today combined could not!

Sometimes researchers have to work on things for decades to make progress possible.

It takes patience and persistence to have big impact in the world.

And I am glad we get the opportunity to do just that at Microsoft.

This is our focus: When productivity rises, economies grow faster, benefiting every sector and every corner of the globe.

It’s not about hyping tech; it’s about building technology that truly serves the world.



Ссылки в тему:
* https://news.microsoft.com/source/features/ai/microsofts-majorana-1-chip-carves-new-path-for-quantum-computing/
* https://azure.microsoft.com/en-us/blog/quantum/2025/02/19/microsoft-unveils-majorana-1-the-worlds-first-quantum-processor-powered-by-topological-qubits/
* https://arxiv.org/abs/2502.12252

Пора, кажется, уже учить квантовые алгоритмы, явно назревает что-то.

Читать полностью…

gonzo-обзоры ML статей

Grok 3 анонсируют сегодня ночью, но я предпочту узнать про это из утренних газет.

Читать полностью…

gonzo-обзоры ML статей

Метод

MatQuant по постановке ,поверх оптимизируемых методов квантизации, с обучаемыми непрерывными или дискретными параметрами.

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

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

MatQuant применяют поверх OmniQuant, в котором оптимизируются скейлы и biasы в квантизации через поблочную дистилляцию, и QAT, которая суть просто обучение (с кроссэнтропийным лоссом) с STE через недифференцируемую операцию квантизации.

Эксперименты

Метод валидируют преимущественно на Gemma 2 (2b и 9b) моделях и Мистрале 7b. Полагаю, что 🦙 и Квены не рассматривают из политических соображений (негоже поганых парнокопытных от Меты лапать, как и китайскую продукцию).

OmniQuant оптимизируют на 10, 20M токенах из C4, QAT на 100 M токенах. Причем в большинстве экспериментов квантизуют только FFN.

Качество оценивают по перплексии и 0—shots на lm-eval.

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

Просадки довольно значительные — 13, 15% для 2b, 6-12% для 9b Gemma 2 модели. Если бы квантизовались все слои, 2 бита были бы Парето—оптимальными (ибо точность квантизованной 9b модели равна несжатой 2b), но, увы, нет.

Полагаю, что подобный результат можно выжать более дешевыми QuIP (без решетки) и 1—мерным HIGGS, как и EfficientQAT.

В ablation показывают, что совместная оптимизация в разными битностями накидывает немного в качестве. Веса лоссов при разных битностых перебирают по сетке.

При квантизации Attention слоев метод тоже лучше бейзлайнов, но просадки становятся еще значительнее с 74 до 47% (остальные методы работают чуть лучше рандома в 2 битах).

Выводы

Название работы красивое, и мотивация хорошая — но результаты все же не слишком впечатляют. Также утверждение, что они первые, кто об этом задумался, не соответствует действительности — была такая работа Any Precision LLM (Oral прошлого ICLR), где разные битности получали через SqueezeLLM. Кроме того, вложенные представления разной точности можно получать через Residual Quantization.

Читать полностью…

gonzo-обзоры ML статей

Когда матрёшки (/channel/gonzo_ML/2037) не дают покоя!

Читать полностью…

gonzo-обзоры ML статей

Снова про JAX.

Если моя книга “Deep Learning with JAX” (/channel/gonzo_ML/2926) для вас ещё не является достаточной мотивацией освоить этот продвинутый фреймворк, то вот вам ещё пара крутых свежих материалов:

The PyTorch developer's guide to JAX fundamentals
https://cloud.google.com/blog/products/ai-machine-learning/guide-to-jax-for-pytorch-developers

Короткий гайд по созданию модели для тех, кто привык к PyTorch и хочет сравнить. Пример использует новый Flax NNX API (писал про него в посте JAX things to watch for in 2025, https://gonzoml.substack.com/p/jax-things-to-watch-for-in-2025), но есть также и пример на более старом но всё ещё популярном Flax Linen API.

================================

How to Scale Your Model

A Systems View of LLMs on TPUs
https://jax-ml.github.io/scaling-book/

Это прям целая книга про скейлинг LLM на TPU. Содержит несколько секций:

1. All About Rooflines
https://jax-ml.github.io/scaling-book/roofline/

Объясняет, что такое roofline model (писал про неё когда-то давно тут https://moocaholic.medium.com/hardware-for-deep-learning-part-3-gpu-8906c1644664). Это безумно важно понимать для оптимизации ваших вычислений, не всё определяется флопсами, многие алгоритмы ограничены коммуникацией, в смысле пересылкой данных, не обязательно в распределённой системе, даже при неудачно организованном чтении из памяти можно оказаться в ситуации, когда ваш GPU/TPU используется лишь на 5% и до пиковых флопс как до Луны.

2. What Is a TPU?
https://jax-ml.github.io/scaling-book/tpus/

Объясняет, что такое TPU (про это я тоже писал ещё давно https://moocaholic.medium.com/hardware-for-deep-learning-part-4-asic-96a542fe6a81), что такое систолический массив, какие блоки есть внутри, как связываются ускорители в Pod, каковы характеристики разных TPU от v3 до v6e.

3. Sharded Matrices and How to Multiply Them
https://jax-ml.github.io/scaling-book/sharding/

Подробно разбирает как работает шардинг (разбиение вычислений больших тензоров по нескольким ускорителям). Параллелизация, Collective Operations -- всё тут. У меня в книге этому посвящена 8-я глава, а кроме неё есть глава 7 про более классический метод параллелизации (pmap) и приложение D про уже устаревшие экспериментальные подходы, которые тем не менее могут помочь лучше понять как мы пришли в текущую точку.

4. All the Transformer Math You Need to Know
https://jax-ml.github.io/scaling-book/transformers/

Вся основа трансформеров на уровне вычислений. Где какие операции, как считать флопсы и параметры, MoE, Gradient checkpointing, KV caching, Flash Attention.

5. How to Parallelize a Transformer for Training
https://jax-ml.github.io/scaling-book/training/

Обсуждение разных видов параллелизма на примере трансформера: data parallelism, fully-sharded data parallelism (FSDP), tensor parallelism, pipeline parallelism.

6. Training LLaMA 3 on TPUs
https://jax-ml.github.io/scaling-book/applied-training/

Как применить все эти знания к обучению реальной модели (Llama 3) на TPU v5p. Что такое Llama 3, как отшардить модель LLaMA 3-70B.

7. All About Transformer Inference
https://jax-ml.github.io/scaling-book/inference/

В чём особенности инференса для трансформеров, где боттлнеки, что с памятью, что с latency. MHA, MQA, GQA (про MLA ещё нет: /channel/gonzo_ML/3292). KV cache, распределение инференса по разным ускорителям, фазы инференса (prefill, generation), шардирование KV-кэша, _много_ оптимизаций инференса.

8. Serving LLaMA 3-70B on TPUs
https://jax-ml.github.io/scaling-book/applied-inference/

Как применить все эти знания к инференсу реальной модели, той же самой Llama 3-70B.

9. How to Profile TPU Programs
https://jax-ml.github.io/scaling-book/profiling/

Как профилировать код на TPU и искать боттлнеки. Как работает компилятор XLA, что такое HLO (я много это разбираю в главе 5 своей книги, про компиляцию), что такое JAX TPU profiler, Trace Viewer, Graph Viewer, как делать профилирование памяти.

10. Programming TPUs in JAX
https://jax-ml.github.io/scaling-book/jax-stuff/

Читать полностью…

gonzo-обзоры ML статей

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

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

Жан-Реми, который всем этим руководит в забаненной в РФ Мете (на предыдущие работы с картинками и речью в их посте есть ссылки), довольно продвинутый и наверняка понимает, что это никак не приближает к "чтению мыслей". Но Мета уже давно вынуждена цепляться за соломинки в этой теме, после феерического провала Цукерберга, восемь лет назад пообещавшего, что в скором времени все смогут печатать в ФБ силой мысли со скоростью 100 слов в минуту. Его тогда развели, пообещав быстро сделать очень нереалистичную суперпупер неинвазивную технологию (и не получилось вообще ничего).

Думаю, Жана-Реми интересует не технология сама по себе, а возможность покопаться в мозгах. В названии препринта акцент сделан именно на этом: How a Hierarchy of Neural Dynamics Supports Language Production.

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

Lévy J, d'Ascoli S, Rapin J, Alario F, Bourdillon P, Pinet S, King JR. From Thought to Action: How a Hierarchy of Neural Dynamics Supports Language Production. arXiv, 2025 Feb 11 https://doi.org/10.48550/arXiv.2502.07429

Читать полностью…

gonzo-обзоры ML статей

Интересное интервью с Джеффом Дином и Ноамом Шазиром. Вряд ли этих людей нужно представлять.

https://youtu.be/v0gjI__RyCY?si=iCmm5tXkonFehIZk

Читать полностью…

gonzo-обзоры ML статей

И сразу в дополнение, обновлённый вариант s1 под названием s1.1, обученный на тех же самых 1к вопросов, но с трейсами DeepSeek-R1 взамен Gemini, даёт ещё лучшее качество. Трейсы R1 гораздо более разнообразны по длине.

https://x.com/Muennighoff/status/1889310803746246694

Читать полностью…

gonzo-обзоры ML статей

s1: Simple test-time scaling
Niklas Muennighoff, Zitong Yang, Weijia Shi, Xiang Lisa Li, Li Fei-Fei, Hannaneh Hajishirzi, Luke Zettlemoyer, Percy Liang, Emmanuel Candès, Tatsunori Hashimoto
Статья: https://arxiv.org/abs/2501.19393
Репа: https://github.com/simplescaling/s1

Продолжая тему про Test-time compute (/channel/gonzo_ML/3175). SFT на маленьком датасете в 1k примеров + простые стратегии чтобы заставить модель подумать подольше — и вуаля, бьём o1-preview на MATH and AIME24!

DeepSeek-R1 (/channel/gonzo_ML/3319) безусловно был достижением в обучении модели с ризонингом через RL, и в этом смысле открытый мир приблизился или даже догнал достижения OpenAI в лице o1, но эта работа не целилась в демонстрацию test-time scaling behaviour. В текущей работе совмещают и сильный ризонинг (но без RL), и скейлинг.

Рецепт простой и дешёвый.

1) Собираем датасет s1K из 1000 тщательно отобранных пар вопросов и ответов с reasoning traces, дистиллированных из Gemini Thinking Experimental.

2) Делаем на этом датасете SFT (PyTorch FSDP, 5 эпох, BF16) открытой модели (Qwen2.5- 32B-Instruct), в течение 26 минут на 16 H100 GPUs (это может стоить примерно от $25). Получаем модель s1-32B.

3) После обучения контролируем количество test-time compute через прямолинейную стратегию budget forcing, которая заключается в том, что 1) если модель нагенерировала уже слишком много токенов, то принудительно заканчиваем процесс добавлением end-of-thinking токена, а 2) если модель нагенерировала мало, то наоборот не даём её добавить этот токен окончания размышлений, а добавляем “Wait” и стимулируем модель подумать ещё.

4) Профит! График демонстрирует test-time scaling. Да ещё и получаем модель на Парето-фронте по sample efficiency, лучше o1-preview.

Модель полностью открыта: веса, данные и код.

Теперь чуть подробнее про отдельные шаги.


📔Датасет

Датасет собирался в два этапа. Сначала собрали 59K (59,029) вопросов из 16 источников.

Взяли задачи из имеющихся датасетов (NuminaMATH, AIME, OlympicArena, OmniMath, AGIEval) и создали пару своих, s1-prob с вопросами по теории вероятности (182 штуки), и s1-teasers с головоломками (23 штуки). Вообще не очень привычно слышать про датасеты из 23 примеров…

Для каждого вопроса сгенерировали reasoning trace и решение через Google Gemini Flash Thinking API, получили 59K триплетов <вопрос, размышление, решение>. Почистили этот набор против имеющихся вопросов для evaluation через 8-граммы и дедупликацию.

Можно было сразу на этих 59k и обучать, но хотели найти минимальную конфигурацию, поэтому устроили три стадии фильтрации.

1) Качество (Quality) должно быть высоким. Смотрим на сэмплы и убираем проблемные примеры, например, с плохим форматированием. Уменьшили датасет до 51,581 примеров и из них отобрали 384 в финальный 1k датасет.

2) Сложность (Difficulty) должна быть на уровне и требовать ризонинга. Выкинули слишком лёгкие примеры, которые решил Qwen2.5-7B-Instruct или Qwen2.5-32B-Instruct. Корректность оценивал Claude 3.5 Sonnet относительно референса. Сложность оценивали по длине цепочки рассуждений, подразумевая, что более сложный вопрос требует более длинной цепочки. Сократили датасет до 24,496 примеров.

3) Разнообразие (Diversity): датасеты должны быть из разных областей и с разными задачами. Sonnet классифицировал задачи по Mathematics Subject Classification (MSC), далее выбирали случайно один из доменов, из него сэмплили задачу так, чтобы предпочитались более длинные рассуждения, и повторяли пока не наберётся 1000 примеров. Итого набрали 50 разных доменов.


⚒️Test-time scaling

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

Читать полностью…

gonzo-обзоры ML статей

Метод

Основным затруднением при оптимизации весов и активаций в низкой точности является высокая степень шума. Напомню, что операция квантизации недифференцируема, и дабы все можно было оптимизировать градиентными методами применяют трюк имени Бенджио под названием STE (небось, тоже спиздил у Шмидхубера) , где градиент просто пробрасывается через недифференцируемую операцию (как будто вместо нее стоит функция y=x). Но при низких битностнях, такая оценка сильно расходится от истинного градиента и не сходится нормально.

Авторы формулируют задачу оптимизации STE, как минимизацию между оцененным псевдоградиентом и истинным. Предполагая гладкость функции потерь по весам, можно оценить ошибку градиента, как константа на ошибку квантизации весов.
Веса модели разделяют на 2️⃣ группы - с ошибкой квантизации ниже и выше некоторого порога. На шаге оптимизации учитывают только градиенты от весов с ошибкой ниже заданного порога, ибо вторые как раз и вносят шум и нестабильность в обучение.

Далее, дабы работать с более регулярным распределением весов/активаций, которое проще квантизовать, применяют пару трюков:

1️⃣ Чтобы привести распределение в более удобо квантизуемый вид применяют известный старым читателям канала трюк - вращения Адамаровыми матрицами как весов и активаций. В результате получают что-то близкое к гауссиане.
2️⃣ Дабы привести все приблизительно к N(0, 1) применяют RMS нормализацию к результату шага 1. А для N(0, 1) можно уже численно найти оптимальный скейлинг фактор для решетки квантизации и пользоваться им.

То есть в итоге алгоритм выглядит следующим образом:

🎯 На прямом проходе вращаем и нормализуем веса, сохраняя Адамаровы матрицы
🎯 На обратном проходе применяем обратное Адамарово преобразование и маскируем градиент

В Ablation показывают, что trust estimator (отбрасывание градиентов по шумным весам) в связке с Адамаровыми вращениями дает хорошую близость с истинным градиентом, в то время как vanilla STE и без Адамара корреляция низкая.

Читать полностью…

gonzo-обзоры ML статей

FP1 в массы! Если реально есть потенциал ускорить обучение LLM в 16 раз (относительно BF16) или обучить модель в 16 раз большую, то это очень интересно.

Читать полностью…

gonzo-обзоры ML статей

Optimizing Large Language Model Training Using FP4 Quantization
Ruizhe Wang, Yeyun Gong, Xiao Liu, Guoshuai Zhao, Ziyue Yang, Baining Guo, Zhengjun Zha, Peng Cheng
Статья: https://arxiv.org/abs/2501.17116

Формат мини.

Только обсудили обучение DeepSeek в FP8 (/channel/gonzo_ML/3294) и упомянули старую работу про FP8-LM (https://arxiv.org/abs/2310.18313) от Microsoft, как та же команда анонсировала обучение в FP4!

С помощью ухищрений в виде differentiable quantization estimator для точного обновления весов и outlier clamping and compensation strategy для предотвращения коллапса активаций достигли качества аналогичного обучению в BF16 и FP8 и обучили 13B модель на 100B токенов.

FP16 использует формат E5M10 (5 бит на экспоненту, 10 на мантиссу), BF16 — E8M7, FP8 обычно есть в двух вариантах с E4M3 (был у DeepSeek-V3) и E5M2, а здесь FP4 сделали в формате E2M1. Ещё один бит — знак, если что.

Нвидиа теперь репортит флопсы в FP4 (/channel/gonzo_ML/3182), эта разрядность поддерживается новыми GPU, так что можно ожидать ещё одного удвоения производительности/размера моделей относительно DeepSeek, или учетверения относительно более традиционных моделей типа Llama.

Так и до FP1 INT1 дойдём!

Очень круто.

Читать полностью…

gonzo-обзоры ML статей

Для дистиллятов бейзлайном была QwQ-32B-Preview. Они тоже выглядят хорошо, например, DeepSeek-R1-Distill-Qwen-7B бьёт не-ризонинг модель GPT-4o-0513. Оно, конечно, логично, что ризонинг модель бьёт не-ризонинг, но важно, что теперь это доступная опенсорс модель, которую можно запустить у себя дома. DeepSeek-R1-14B бьём QwQ-32B-Preview, что тоже круто. А DeepSeek-R1-32B и DeepSeek-R1-70B бьют o1-mini. И это ещё коммьюнити не сделало доп.шаг RL. В общем, можно ожидать крутого развития.

Провели отдельный интересный эксперимент с Qwen-32B-Base, чтобы посмотреть куда можно дойти на чистом RL и как это соотносится с дистилляцией. Получили модель DeepSeek-R1-Zero-Qwen-32B, которая примерно соответствует QwQ-32B-Preview, но значительно слабее дистиллята DeepSeek-R1-Distill-Qwen-32B.

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

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


=== Что не удалось?

Process Reward Model (PRM, https://arxiv.org/abs/2211.14275), когда reward прилетает не только за финальный результат, но и за отдельные шаги CoT. На практике иногда сложно получить хорошо выделенный шаг в общем размышлении. Даже если удалось, то очень сложно оценивать его точность. Ну и оно также ведёт к reward hacking. Всё это усложняет процесс, и требует большого оверхеда. Полученные преимущества оказались ограниченными

Monte Carlo Tree Search (MCTS), как из AlphaGo 🙂 требует разделения ответа на более мелкие шаги, чтобы их пространство можно было исследовать. Модель попросили использовать отдельные теги для разных этапов размышлений. Здесь сначала использовали промптинг для нахождения ответов через MCTS с предобученной value model, а потом на найденных парах <вопрос, ответ> обучали actor и value модели, таким образом итеративно улучшая процесс.

Но это было сложно отскейлить. Пространство вариантов не так хорошо определено, как в играх. Генерация токенов экспоненциально более страшная, приходилось ограничивать максимальную глубину, а это вело к локальным оптимумам. К тому же обучить хорошую value модель не так просто, а её качество напрямую влияет на генерацию. В общем, не получилось итеративно её улучшать, это остаётся челленджем.


=== Будущее

Авторы планируют много улучшений, очень жду их R2 🙂

* Хотят улучшить function calling, multi-turn, complex role-playing, и JSON output.
* Хотят победить смешивание языков — модель оптимизирована на английский и китайский, поэтому при запросах на других языках может уходить думать на этих. Может это и не так плохо на самом деле, но пользователям непонятно.
* Модель чувствительна к промпту, few-shot стабильно ухудшает её перформанс, поэтому советуют использовать zero-shot. В принципе, это похоже на рекомендации и для o1 (https://www.deeplearning.ai/short-courses/reasoning-with-o1/).
* Хотят больше заточить модель на Software Engineering. Это вааще круто, скоро будет локальный опенсорсный copilot такими темпами.

Короче, спасибо DeepSeek, так сильно как они, мало кто продвигал всю область.

Читать полностью…

gonzo-обзоры ML статей

DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning
Статья: https://arxiv.org/abs/2501.12948
Репа: https://github.com/deepseek-ai/DeepSeek-R1

Аламмар Аламмаром (https://newsletter.languagemodels.co/p/the-illustrated-deepseek-r1), но всё-таки пару слов про DeepSeek-R1.

R1 — это reasoning модель, аналогичная OpenAI o1/o3, Google Gemini 2.0 Flash Thinking или Alibaba Cloud Qwen QwQ. Идея reasoning моделей в том, что вместо того чтобы сразу выдать ответ, модель сначала проводит некоторые рассуждения в духе Chain-of-Thought (CoT, /channel/gonzo_ML/1885), генеря кучу токенов в цепочками рассуждений, и лишь затем выдаёт финальный ответ. Таким образом, если раньше весь скейлинг моделей происходил на уровне компьюта во время обучения (берём больше, кидаем дальше — модель побольше и обучение подольше), то теперь модели можно дать “поразмышлять” подольше уже в inference time. Открылось новое измерения для масштабирования моделей — эра Test-time compute (/channel/gonzo_ML/3175).

DeepSeek-R1 — это, кажется, лучшая из открытых моделей с reasoning на сегодня, вполне конкурирующая с лучшими коммерческими. Гонка запущена, в ближайшие месяцы появятся кучи новых моделей, в том числе более скромного размера с ризонингом. Собственно уже началось, например, s1 (https://arxiv.org/abs/2501.19393).

Также можно сказать, что в NLP снова начинает работать RL.

Что именно сделано в работе про R1?

Главное достижение, мне кажется, примерно аналогично AlphaZero (и называется соответственно DeepSeek-R1-Zero): авторы показали, что для обучения ризонингу не обязательно иметь 100500 примеров для SFT, эти способности неплохо выучиваются с помощью large-scale RL, и можно вообще обойтись без “человеческих демонстраций” в виде SFT. Но если помочь cold start’у небольшим количеством SFT с хорошими примерами, то всё ещё лучше.

В качестве базовой модели взята DeepSeek-V3-Base, модель после Pre-training, но до Post-training, то есть без SFT и RL.


=== Начнём с DeepSeek-R1-Zero.

В качестве RL алгоритма взяли Group Relative Policy Optimization (GRPO), использовавшийся в DeepSeek-V3 (/channel/gonzo_ML/3313) и DeepSeekMath (https://arxiv.org/abs/2402.03300). Помните, что этот подход позволяет сэкономить на модели критика, которая обычно такого же размера, что и полиси модель.

Reward моделируется через систему на правилах, то есть вроде как ещё минус одна тяжёлая модель. Это выглядит аналогично Rule-based RM из пост-обучения DeepSeek-V3.

Используется два типа наград:

1) Accuracy rewards: определяют, корректен ответ или нет. В случае математических задач или кодирования это несложно.

2) Format rewards: следит за соответствием формата “мыслительного процесса”, он должен быть внутри тегов ‘<think>’ и ‘</think>’.

Neural-based RM не использовалась, потому что подвержена reward hacking, требует больших дополнительных ресурсов и вообще усложняет процесс обучения.

Используют довольно прямолинейный промпт с CoT, который требует от модели сначала подумать, а потом выдать ответ.

R1-Zero довольно неплохо прогрессирует в процессе обучения, на примере AIME 2024 за 8000 шагов добирается до качества не сильно позади OpenAI o1-0912 и выше o1-mini. Добавление мажоритарного голосования сильно повышает качество (в статье репортят результат с 64 ответами).

Подход Zero с чистым RL без SFT позволяет пронаблюдать, как модель эволюционирует по ходу обучения, и отдельный график показывает стабильный рост длины ответа. То есть модель сама выучивает, что думать дольше полезно. Так, спонтанно возникают способности к рефлексии (когда модель переоценивает предыдущие шаги) и исследование альтернативных подходов. Ничего этого заранее заложено не было.

Очень популярным стал пресловутый Aha Moment, когда модель научилась переобдумывать ответ, да ещё и сделала это очень антропоморфно.

DeepSeek-R1-Zero всё же не без недостатков: результаты модели плохо читаемы, и в них обнаруживается смесь языков, поэтому решили улучшить холодный старт модели и перед RL слегка дообучить её на хороших данных.


=== Поэтому следующий ход, DeepSeek-R1.

Читать полностью…

gonzo-обзоры ML статей

DeepMind опубликовали большой плейбук по скейлингу трансформеров на TPU (/channel/gonzo_ML/3365), а HuggingFace выложил похожее про GPU.

The Ultra-Scale Playbook: Training LLMs on GPU Clusters
https://huggingface.co/spaces/nanotron/ultrascale-playbook

Читать полностью…

gonzo-обзоры ML статей

Любопытные факты про Grok 3, который собрал Алекса Гордич в своём посте.

Surprising details about the Grok-3 release:

* Their current cluster already has 200k H100s/H200s. They initially reached out to datacenter facilities to ask how long for them to build them a 100k cluster and the timelines were 12-24 months, which was too slow, Elon said they'd definitely lose if they went that route.

So they found an abandoned factory in Memphis, an empty shell, and built custom electrical / cooling systems, using portable generators, Tesla packs to smoothen out the power spikes (due to the fact they're using synchronous gradient updates), etc.

It took them ~122 days to build the whole thing e2e with 100k H100s. And additional ~90 days to add 100k more. No one has ever done something like this.

* Elon announced they're building a new ~1.2 GW cluster of GB200s/GB300s - this is OOM larger than any other datacenter in the world, and their current datacenter is already the largest single cluster in the world.

* Igor said that while they were running Grok-3, AI engineers used to go to the cluster physically and plug off a node to make sure the run is robust to such pertrubations -> this is one of the things Elon does great, reduces barriers between designers/engineers, engineers/datacenter technicians, etc.

* Grok-3 is the first model to pass 1400 score on the arena :O

The scary obvious thing here is that due to the culture the team has, Elon's capability to attract capital and talent, and the rate of progress, I don't think anyone will be able to compete with them.

* They said they'll open-source Grok-2 as soon as Grok-3 is stable, in a few months. And they plan to keep that strategy going forward, open-sourcing last generation but still managing to stay competitive. They hide the chain of thought the same way OpenAI did.

Original video here: https://x.com/elonmusk/status/1891700271438233931

Читать полностью…

gonzo-обзоры ML статей

https://youtu.be/nltXzz9Aap8?si=1fXuJWpRObkbD9ZZ

Читать полностью…

gonzo-обзоры ML статей

Matryoshka Quantization
[Статья]
[Код есть, но мы вам его не покажем]

Введение

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

Команда из Глубокого Разума 🧠 на днях выкатила статейку по квантизации с примечательным названием Matryoshka Quantization 🪆, которая за один присест готовит квантизованные модельки в 2,4 и 8 бит.

Примечательно, что один из авторов, Kusupati, ранее публиковал другую работу про матрешки — Matryoshka Representation Learning.

Читать полностью…

gonzo-обзоры ML статей

Как эффективно программировать на TPU в JAX. Параллелизация неявная (через компилятор и jit, ранее pjit), и явная (shard_map, ранее pmap и xmap).

11. Conclusions and Further Reading
https://jax-ml.github.io/scaling-book/conclusion/

Заключение и полезные ссылки по теме.

Уникальный ресурс. Highly recommended.

================================

Пользуясь случаем также скажу, что на DeepLearning.ai вышел короткий полуторачасовой курс “How Transformer LLMs Work” про внутренности трансформера, от нашего любимого Jay Alammar, а также Maarten Grootendorst.

https://www.deeplearning.ai/short-courses/how-transformer-llms-work/

Список тем хороший:

* Introduction
* Understanding Language Models: Laguage as a Bag-of-Words
* Understanding Language Models: (Word) Embeddings
* Understanding Language Models: Encoding and Decoding Context with Attention
* Understanding Language Models: Transformers
* Tokenizers
* Architectural Overview
* The Transformer Block
* Self-Attention
* Model Example
* Recent Improvements
* Mixture of Experts (MoE)
* Conclusion

Читать полностью…

gonzo-обзоры ML статей

Впрочем, Алексей Осадчий обращает внимание на то, что в предобработке МЭГ использовались дефолтные параметры FIR фильтра пакета MNE, а они дают затекание информации из будущего. И, получается, этот анализ "иерархии" (в тч приведенная выше в репосте картинка) теряет всякий смысл...

Читать полностью…

gonzo-обзоры ML статей

Что-то любопытное.

https://ai.meta.com/blog/brain-ai-research-human-communication/

"For our first study, we use both MEG and EEG—non-invasive devices that measure the magnetic and electric fields elicited by neuronal activity—to record 35 healthy volunteers at BCBL while they type sentences. We then train a new AI model to reconstruct the sentence solely from the brain signals. On new sentences, our AI model decodes up to 80% of the characters typed by the participants recorded with MEG, at least twice better than what can be obtained with the classic EEG system."

А тут как будто базу под LCM (/channel/gonzo_ML/3149) подвели:

"To explore how the brain transforms thoughts into intricate sequences of motor actions, we used AI to help interpret the MEG signals while participants typed sentences. By taking 1,000 snapshots of the brain every second, we can pinpoint the precise moment where thoughts are turned into words, syllables, and even individual letters. Our study shows that the brain generates a sequence of representations that start from the most abstract level of representations—the meaning of a sentence—and progressively transform them into a myriad of actions, such as the actual finger movement on the keyboard.

Importantly, the study also reveals how the brain coherently and simultaneously represents successive words and actions. Our results show that the brain uses a ‘dynamic neural code’—a special neural mechanism that chains successive representations while maintaining each of them over long time periods."

Читать полностью…

gonzo-обзоры ML статей

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

Патреон: https://patreon.com/GonzoML
Boosty: https://boosty.to/gonzoml
Substack: https://gonzoml.substack.com/

Cпасибо тем, кто уже это делает! Это помогает мне быть более up-to-date, оплачивая разные подписки и кредиты сервисам.

Читать полностью…

gonzo-обзоры ML статей

Предложили вышеупомянутый метод Budget forcing, где можно задать минимальное и максимальное количество токенов в test time. Для форсирования ответа используется end-of-thinking token delimiter и строка “Final Answer:”, для форсирования размышлений — подавление генерации end-of-thinking token delimiter и строка “Wait”.

В качестве бейзлайна сравнивали с (I) Conditional length-control methods, когда в промпте говорят, какой длины ответ нужен (там внутри несколько разных методов про длину в токенах, в шагах и общая рекомендация генерить подлиннее или покороче), и (II) Rejection sampling, когда генерим, пока не попадём в заданный бюджет.


🏁Evaluation

При оценке смотрим не только на точность, но и на контролируемость. На фиксированном бенчмарке варьируем test-time compute и получаем кусочно-линейную функцию с зависимостью точности от длины размышлений.

Измеряем несколько метрик:
* Control — доля ответов вписавшихся в бюджет (мин/макс количество токенов).
* Scaling — наклон кусочно-линейной функции, положительный наклон хорошо и чем больше, тем лучше.
* Performance — максимальное качество на бенчмарке.

Проверяли на AIME24, MATH500 и GPQA Diamond.

Сравнивались с серией o1 от OpenAI, DeepSeek R1 (оригинал и 32B дистиллят), Qwen QwQ-32B-preview, Sky-T1-32B-Preview, Bespoke32B, Google Gemini 2.0 Flash Thinking Experimental.

В целом у модели достойный результат, качество приближается к Gemini. Перформанс растёт с увеличением количества размышлений. На AIME24 после шести Wait происходит насыщение. Majority voting не скейлится так хорошо, как форсирование более длинной цепочки размышлений.

Абляции показали, что от датасета много зависит. Если пожертвовать одним из трёх принципов, качество выходит хуже. Обучение на полном 59K датасете даёт более высокое качество (но не то чтобы прям сильно), ценой сильно больших ресурсов, 394 H100 GPU часов против 7.

Среди разных методов контроля длины budget forcing даёт максимальное качество на AIME24, отличную (100%) контролируемость и хороший скейлинг (у class-conditional control он повыше).

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


Это всё очень прикольный результат, чисто SFT очень малого размера. Интересно, что будет, если таки совместить это с последующим RL.

Читать полностью…

gonzo-обзоры ML статей

Эксперименты

Обучают семейство моделей размером от 30 до 800М параметров архитектуры 🦙-2 на C4 с более-менее стандартным рецептом обучения. По умолчанию отношение количества данных к числу параметров D/N=100.

Как меру качества берут перплексию на отложенной выборке.

QuEST работает лучше, чем PACT и LSQ бейзлайны.

Далее фитируют scaling law, который отличается от оригинального из статьи про Шиншиллу фактором eff(P) - поправкой на битность параметра (eff(P) = 1 для fp16). Исходя из эмпирических графиков лосса для моделей разного размера и битности, получают Парето-оптимальность в 4-х битах. 4 битный параметр эффективно равен 0.7 fp16, но модель-то при этом в 4 раза меньше, отсюда выигрыш в 2.7 раз по эффективности.

Метод пробуют на FP4 и 2:4 sparsity + INT4, где все тоже неплохо заводится.

В ablation показывают, что Адамаровы вращения дают некоторый прирост качества на W1A1 и W2A2, при этом лишь немного замедляя инференс.

Вывод

Как мне кажется, довольно обнадеживающий экспериментальный результат. Все больше и больше подтверждений тому, что следует с самого начала учить в низкой точности дабы нищеброды потом уже не просили униженно GGUF, GPTQ или AWQ кванты. Интересно, можно ли пробить ниже еще порог Парето-оптимальности по битностям весов/активаций или мы упираемся уже в некий потолок? Ждем экспериментов на большем масшабе. Глядишь Meta, Qwen или DeepSeek порадуют.

Читать полностью…

gonzo-обзоры ML статей

QuEST: Stable Training of LLMs with 1-Bit Weights and Activations
[Статья][Код]

Введение

Уважаемые коллеги из IST, в частности, @black_samorez_channel выпустили статью про стабильное обучение моделей с квантизованными весами и активациями.

Статей с той же аббревиатурой пруд пруди на архиве:
- Вот
- Вот
- Вот
- И вот

Но эта - особенная!

Ранее уже неоднократно поднимался (в том числе и на этом канале) вопрос о том, в какой точности оптимально учить модель (веса и активации), дабы получить наилучшее качество при заданном размере (через PTQ или QAT). Ранее утверждали, что 6-7 бит оптимально при квантизации весов и активаций в INTx/FPx. Но сама процедура была незамысловата, и нет гарантий, что нельзя пробить существенно Парето-фронт. Свежие результаты (смотри краткий обзор на gonzo-ml) показывают, что в fp4 тоже можно эффективно обучать.

В данной же статье авторам удается достичь Парето-оптимальности в W3A3/W4A4 и стабильного обучения в W1A1 😮 (уже не оптимального, но на одном уровне с fp16).

Читать полностью…

gonzo-обзоры ML статей

Дарио Амодеи написал программное заявление

"Time is short, and we must accelerate our actions to match accelerating AI progress. Possibly by 2026 or 2027 (and almost certainly no later than 2030), the capabilities of AI systems will be best thought of as akin to an entirely new state populated by highly intelligent people appearing on the global stage—a “country of geniuses in a datacenter”—with the profound economic, societal, and security implications that would bring."

https://www.anthropic.com/news/paris-ai-summit

Читать полностью…

gonzo-обзоры ML статей

Собрал свои посты про DeepSeek воедино в англоязычном блоге. Когда картинки внутри текста, оно, конечно, удобнее.

1️⃣ "DeepSeek moment" (https://gonzoml.substack.com/p/deepseek-moment).
The high-level overview of what was special with DeepSeek and what models are there.

2️⃣ "DeepSeek-V3: Technical Details" (https://gonzoml.substack.com/p/deepseek-v3-technical-details)
Technical details about DeepSeek-V3 architecture: Multi-head Latent Attention (MLA), DeepSeekMoE, Multi-Token Prediction (MTP), FP8 Training, Suggestions on Hardware Design, etc

3️⃣ "DeepSeek-V3: Training" (https://gonzoml.substack.com/p/deepseek-v3-training)
The training procedure of DeepSeek-V3-Base and DeepSeek-V3. Pre-training, Post-training, Group Relative Policy Optimization (GRPO), etc.

4️⃣ "DeepSeek-R1: Open model with Reasoning" (https://gonzoml.substack.com/.../deepseek-r1-open-model...)
The DeepSeek-R1 reasoning model, similar to OpenAI o1/o3, Google Gemini 2.0 Flash Thinking, or Alibaba Cloud Qwen QwQ. DeepSeek-R1-Zero, DeepSeek-R1, and DeepSeek-R1-Distill models are covered here.

Читать полностью…

gonzo-обзоры ML статей

Для этого обучения собрали пайплайн из четырёх этапов:

1) Cold Start.

Собрали небольшое количество примеров (тысячи) с длинными цепочками CoT, чтобы зафайнтюнить модель перед обучением RL. Для этого использовали few-shot промптинг с длинными CoT в качестве примеров, явно промптили с запросом генерировать детальные ответы и использовать рефлексию с верификацией, брали результаты DeepSeek-R1-Zero и постпроцессили людьми.

Примеры содержали саммари в конце цепочки размышлений.

2) Reasoning-oriented Reinforcement Learning.

DeepSeek-V3-Base зафайнтюнили на данных предыдущего этапа и запустили тот же самый RL процесс, что и у -Zero. Модель любила мешать разные языки, особенно если они были в запросе, так что пришлось добавить отдельный language consistency reward, который был равен доле целевого языка внутри CoT. От этого есть небольшая деградация по перформансу, но лучше метрика по человеческим предпочтениям. Финальный reward был суммой accuracy на задачах и language consistency. Обучали до сходимости.

3) Rejection Sampling and Supervised Fine-Tuning.

Чекпойнт предыдущего этапа использован для сбора данных для последующего SFT. Начальные cold-start данные целились в основном в ризонинг, а данные этого этапа включают примеры из различных доменов для улучшения способностей модели в writing, role-playing и other general-purpose tasks. Среди этого микса были Reasoning и Non-Reasoning данные.

В Reasoning (600k примеров) из предыдущего чекпойнта нагенерировали новых цепочек и пофильтровали их, в том числе используя DeepSeek-V3 как судью. Из каждого промпта генерили множество сэмплов и отфильтровывали проблемные (смесь языков, длинные параграфы, блоки кода).

В Non-Reasoning (200k примеров) включены примеры для writing, factual QA, self-cognition, translation. Взяли пайплайн от DeepSeek-V3 и переиспользовали части SFT датасета от него же. Также использовали DeepSeek-V3 и для генерации.

Далее файнтюнили DeepSeek-V3-Base (не предыдущий чекпойнт?) две эпохи на итоговом датасете с 800k примеров.

4) Reinforcement Learning for all Scenarios.

Второй этап RL для улучшения helpfulness и harmlessness модели (узнаёте подход Constitutional AI?) с одновременным улучшением способностей ризонинга. Для reasoning данных использовались rule-based rewards, для общих данных использовались reward models из пайплайна DeepSeek-V3. Для helpfulness фокусировались только на финальном саммари, для harmlessness оценивали весь вывод модели. Деталей в этом месте недостаточно, но выглядит так, что запустили Constitutional AI (или RLAIF) на оба этих сигнала, а не только на harmlessness, как в оригинальной работе по CAI (/channel/gonzo_ML/1285).


=== Last but not least, дистилляция.

Большая тяжёлая MoE модель это хорошо, но маленькие dense модели тоже нужны. Так что задистиллировали (/channel/gonzo_ML/117) DeepSeek-R1 в опенсорсные Qwen и Llama. Это значит, что эти модели зафайнтюнили на выдаче DeepSeek. Использовали те самые вышеупомянутые 800k сэмплов.

Итого, надистиллировали:
* Qwen2.5-Math-1.5B
* Qwen2.5-Math-7B
* Qwen2.5-14B
* Qwen2.5-32B
* Llama-3.1-8B
* Llama-3.3-70B-Instruct

Для дистиллятов был только SFT, без RL. Наверное, если провести ещё отдельную фазу RL, то ещё лучше будет? Это отдали на откуп коммьюнити, здесь фокусировались только на полезности дистилляции.


=== Evaluations

Провели много разных evaluations, с бейзлайнами в виде DeepSeek-V3, Claude-Sonnet-3.5-1022, GPT-4o-0513, OpenAI-o1-mini, OpenAI-o1-1217. Последняя в Китае не очень доступна, её цифры взяли из официальных репортов. Не понял только, а o1-mini доступна чтоли?

По ризонингу перформанс очень достойный, R1 делит топ с OpenAI-o1-1217. Sonnet, 4o и mini явно хуже.

Читать полностью…

gonzo-обзоры ML статей

Парето фронтир с ценами и перформансом LLM на Chatbot Arena

https://lmarena.ai/?price

Читать полностью…
Subscribe to a channel