Мир сегодня с "Юрий Подоляка"
Мир сегодня с "Юрий Подоляка"
Труха⚡️Україна
Труха⚡️Україна
Николаевский Ванёк
Николаевский Ванёк
Мир сегодня с "Юрий Подоляка"
Мир сегодня с "Юрий Подоляка"
Труха⚡️Україна
Труха⚡️Україна
Николаевский Ванёк
Николаевский Ванёк
КПД avatar

КПД

Квантование & Прунинг & Дистилляция
Блог про сжатие сетей и не только.
От древнейших времен по настоящее время.
Рэйтынг TGlist
0
0
ТыпПублічны
Вертыфікацыя
Не вертыфікаваны
Надзейнасць
Не надзейны
РазмяшчэннеРосія
МоваІншая
Дата стварэння каналаJun 03, 2023
Дадана ў TGlist
Feb 11, 2025
Прыкрепленая група

Статыстыка Тэлеграм-канала КПД

Падпісчыкаў

2 214

24 гадз.
1
0%Тыдзень
12
0.6%Месяц
84
4%

Індэкс цытавання

0

Згадкі1Рэпостаў на каналах0Згадкі на каналах1

Сярэдняе ахоп 1 паста

747

12 гадз.6320%24 гадз.7470%48 гадз.8170%

Узаемадзеянне (ER)

5.49%

Рэпостаў13Каментары7Рэакцыі28

Узаемадзеянне па ахопу (ERR)

33.72%

24 гадз.0%Тыдзень
0.2%
Месяц
8.09%

Ахоп 1 рэкламнага паста

535

1 гадз.41978.32%1 – 4 гадз.11621.68%4 - 24 гадз.00%
Падключыце нашага бота да канала і даведайцеся пол аўдыторыі гэтага канала.
Усяго пастоў за 24 гадзіны
0
Дынаміка
-

Апошнія публікацыі ў групе "КПД"

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

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

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

3️⃣ Классная русская 🇷🇺 тусовка. На ICLR постоянно встречаешь русскоязычных ребят - как из Яндекса, AIRI, Т-банка, так и обосновавшихся в зарубежных лабах, компаниях и институтах - Google, Meta, ETH, NYU, и т.п и т.д.

4️⃣ Китайцы 🇨🇳 частенько говорят по английски плохо. Ну прям из ряда вон плохо. Как читаешь статейки прямо все по маслу, такие вычурные обороты, достойные Джейн Остин, Толкина и Байрона, а как доходит дело до устной речи, не понимают даже вроде бы довольно простые вопросы... Один даже честно признался, что не могет в инглиш и включил Google Translate с английского на китайский на планшете... Тем не менее, с некоторыми возникали прямо содержательные и интересные обсуждения. Например, с авторами SANA и SVD-Quant. Китайцы наиболее широко представлены среди всех национальностей, что , впрочем, неудивительно.

5️⃣ Имеет место явление, что на конференцию подаются несколько статей +/- про одно и тоже. На текущем ICLR я видел 3-4 статьи про комбинирование вращения + smoothquant для лучшей квантизации весов и активаций, и так же 3/4 статьи про sliding window + prefix attention с небольшими концептуальными отличиями.

6️⃣ В Сингапуре жарко снаружи и холодно внутри в помещениях. Прямо как в баньке с контрастным душем. Мерзнешь от кондиционеров и бежишь наружу париться, и когда напаришься вдоволь - идешь охлаждаться.

7️⃣ Все дорого. Прямо от слова совсем. И кофий не чета тому, что в Москве. За 8-9 баксов наливают бурду, которую в условном cofix / one price coffee постесняются налить за вчетверо меньшую сумму.

8️⃣ Город богатый и впечатляет. Возможно, меня покусал Варламов, но небоскребы тут смотрятся как-то гармонично и естественно в отличие от Москва-сити.

9️⃣ С алкашкой грустненько. И зожников много, везде видишь бегунов и велосипедистов.

1️⃣0️⃣ Дуриан выглядит классно. Прям хочется взять к себе домой эту здоровенную шишку, но запрещено законом.
Старческий склероз - это не болезнь, а фундаментальное ограничение кожаных мешков на размер контекстного окна.
ExLlamaV3
[Репозиторий][Чекпоинты]

На этой неделе turboderp выпустил 3-ую версию своего фреймворка для инференса LLM.

На данный момент либа находится на стадии разработки:
📌 Есть куда расти в плане оптимизации (неоптимальная утилизация на Ampere GPU)
📌 AMD GPU (если у кого есть такие) не поддерживаются
📌 Планируют накатить интеграцию с FlashInfer
📌 На данный момент поддерживаются только Llama, Qwen, Gemma2, Mistral архитектуры.

Прошлая версия ExLlama в качестве метода квантизации брала GPTQ, но в этот раз за основу взяли тяжелую артиллерию среди низкобитных методов квантизации - адаптацию QTIP, тем самым гарантируя качество значительно лучше GGUF, особенно при экстремальном сжатии (в 2 и менее бит).

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

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

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

Благодаря RoPE позиционным эмбеддингам можно задавать произвольные позиции токенам в последовательностях, не меняя расположение токенов в KV-кэше в физической памяти.

Организовать кэш можно следующим образом:
📌 Interleaved layout. Процессы по очереди пишут общую память и видят чередующиеся шаги друг друга в прошлом.
📌 Contiguous layout. Процессы видят кэш другого процесса непрерывным блоком в прошлом.
📌 Combined layout. Промежуточный вариант. Процессы видят перемежающиеся шаги друг друга и текущий логический шаг рассуждения сплошным куском.

Промптинг состоит из 3 компонент:
1️⃣ Системного промпта, поясняющего LLMке, что надо работать в несколько потоков.
2️⃣ Few-shot примеры коллаборации потоков.
3️⃣ Вставка s1-like промптов, периодически спрашивающих процесс, занимается ли он полезной работой

Потенциальная польза от использования методов, что за меньшее количество прямых проходов по сети (инференс LLM memory-bound), можно прийти раньше к правильному решению, а в идеале, за счет самопроверки процессов - и поднять качество.

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

Эксперименты прогоняли на Qwen/QwQ-32B, как на модели достаточно хорошей и влезающей легко на 1 GPU.

Подход проверяли на модифицированной версии GSM8k и наборе примеров из LIMO.

Для GSM8k сравнивается работа в 1/2/4 потока. В большинстве случаев многопроцессовый режим работает лучше стандартной генерации при фиксированном бюджете.

На LIMO разные опции Hogwild! кэша с наивным бейзлайном с выдачей ответа одним процессом в заданном формате, с early stopping промптингом и независимыми процессами (Self-consistency). Hogwild! работает стабильно лучше. Разные стратегии обработки KV-кэша близки по качеству (за исключением совсем малых бюджетов), комбинированный выглядит немного предпочтительнее альтернатив. При бюджете в 8к прямых проходов в 2 потока достигается то же качество, что и генерация одним потоком 16к токенов.

Вывод

Научно-технический процесс достиг того уровня, что LLM способны заменять даже не одного, а нескольких кожаных мешков 🧍‍♂. Те не менее, удачная коллаборация происходит на практике далеко не всегда - иногда процессы вроде бы договорившись, начинают все равно дублировать друг друга или просто теряются. В дальнейшем планируется развитие подхода, в частности, специальное дообучение, для улучшения взаимодействия процессов друг с другом.
Релиз несколько затянулся ("Мыши плакали, кололись, но продолжали грызть кактус"), но в итоге допинали, как появилась полноценная поддержка в vLLM compressed_tensors, релиз квантизованных GPTQ в 4 бита моделей DeepSeek-R1 и самого кода квантизации моделей.

Речь пока не идет о том, что можно запустить у себя на калькуляторе, и даже на consumer-grade GPU, но в одну ноду (8x A100/H100) влезает уже без приседаний и с контекстом, достаточным для reasoning задач а-ля AIME, GPQA, MATH500.

Модели на 🤗
-🎯 DeepSeek-R1-GPTQ-4b-128g (квантизуются все слои в трансформерных блоках)
-🎯 DeepSeek-R1-GPTQ-4b-128g-experts (квантизуются только non-shared experts)

Код 👨‍💻 квантизации
- MoE-Quant
Презентация с моей сегодняшней лекции про методы сжатия БЯМ на курсе Школы Анализа Данных Яндекса "Эффективные Модели".

В ней даю краткий обзор по существующим подходам, актуальным работам в области и некоторые общие рекомендации.
За наводку спасибо @snk4tr
Выдалена07.04.202520:16
Демку c 🦙-4 на vLLM уже выложили в llama-cookbook репозитории.
[Демка]

В частности, демонстрируют следующее:

🤖 Генерацию README.md для репозитория с кодом
💬 Обычный текстовый режим
🕉 Генерацию на хинди
📷 Понимание одной и нескольких картинок

Оперативненько!
Сук

Даже VPN не помог(

И указание другой страны
Кстати, с квантизацией Llama 4 в оригинальной репе какой-то наеб.

Скрипт квантизации quantize.py ссылается на несуществующий quantize_impls.

Правда, учитывая, что это RTN квантизация, которая раскоает модель в негодность в 4-х битах, да и вроде обещают QAT модельки, может и пох.
Выдалена07.04.202520:16
В ожидании аппрува на веса Llama 4
Qwerky-72B and 32B : Training large attention free models, with only 8 GPU's
[Блог Пост]

‼️ Attention is NOT all you need ‼️

Убийца трансформеров, новая ступень эволюции архитектур 🤩!

Если вам зачем-то приспичило отказаться от Attention, то данный рецепт предлагает решение, которое позволит вам превратить трансформер, превратить трансформер в элегантную RWKV модель.

Процедура следующая:

🤩 Берете трансформер
🤩 Заменяете Attention на RWKV

1️⃣ Сначала пытаетесь добиться того, чтобы блок RWKV воспроизвел выход исходного трансформерного
2️⃣ Потом дистиллируете логиты исходной модели (обучая только RWKV)
3️⃣ Потом еще раз дистиллируете (разморозив все)
4️⃣ Дообучаете на более длинном контексте

Бюджет дистилляции - всего-то несколько сот лямов токенов.

Таким образом получаются:
- Qwerky-QwQ из Qwen/QwQ
- Qwerky-72B Qwen/Qwen-2.5-72B-Instruct


На некоторых бенчах сохраняют качество, где-то теряют до 5%. Но хоть как-то работает, и ладно. И даже, как заявляется, опережает не абы что, а GPT-3.5 turbo без единого Attention слоя.

8 GPU это не A100/H100, как вы могли подумать, а амудшные карточки с 192Gb VRAM.
Я
Придумай шутку про Сэма Альтмана и AGI. Шутка должна быть очень тонкой и остроумной, прямо чтобы разрывало от смеха.

DeepSeek-V3-0324
Тончайшая шутка для ценителей:

"Сэм Альтман пообещал, что AGI будет 'выравнивающим' для человечества. Видимо, поэтому совет директоров сначала 'выровнял' его должность до нуля, а потом обратно до единицы. Квантовая суперпозиция CEO!"

Разбор остроты (для тех, кто хочет смеяться осознанно):

Игра на двойном смысле "alignment" — термин из AI safety (чтобы ИИ был безопасным) vs. буквальное "выравнивание" (как в увольнении/возвращении).
Квантовая шутка — отсылка к тому, что его статус был одновременно и "0" (уволен), и "1" (на посту), пока не "коллапсировал" в реальность.
Сабж для гиков — только те, кто следил за драмой в OpenAI, оценят весь юмор.

Альтернативный вариант (ещё чернее):
"AGI сможет решить проблему голода, кризис энергии и даже alignment... Но вот договориться с советом директоров — это уже задача уровня ASI."

(ASI = Artificial Superintelligence, следующий уровень после AGI)

P.S. Если не разорвало — возвращаю диплом остроумия в бюро! 😉
Метод и эксперименты

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

Давным-давно в одной далекой Галактике было показано что при фиксированном количестве FLOPs на обучение оптимальное качество достигается при отношении количества токенов (D) к параметрам модели (N) около 20. Но жирные модельки потом дорого гонять на железе, потому обыкновенно выходят далеко за данное отношение и качество все равно монотонно растет, хоть и не так быстро, как при отпимальном скейлинге. В частности, для Llama-3 отношение D/N = 2000.

Авторы взяли веса моделей (OLMo-1B, OLMo-2-7B, LLM360-Amber) с разных шагов обучения и обнаружили, что начиная с какого-то момента качество на некоторых задачах (AlpacaEval, ARC (не AGI), PiQA) при дообучении начинает убывать. При этом качество базовой модели непрерывно растет. Для 7B модели при этом такого явления не наблюдается, так как модель, по всей видимости еще не успела перейти в режим “перетренированности”.

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

Дабы проверить данную гипотезу, авторы обучают на корпусе С4 модели от 15M до 90M параметров (с подвыборками размером от 4B до 128B токенов).

Сначала авторы исследуют зависимость лосса модели от времени обучения при фиксированной величине пертурбаций параметров гауссовым шумом. Первоначально, лосс модели не сильно меняется даже при большой величине шума. Но начиная с какого-то момента при сильном зашумлении лосс “зашумленной” модели начинает возрастать, несмотря на то, что качество исходной модели монотонно улучшается. То есть просадка модели, вызванная шумом, растет быстрее, чем улучшается модель.

Дообучение, конечно, сильно отличается от добавления гауссового шума, но тем не менее оказывается, что на некоторых датасетах при лернинг рейте побольше начиная с какого-то момента качество падает ↘️.

Далее авторы пробуют уменьшать шаг обучения, чтобы учесть большую чувствительность параметров модели, и это помогает на ID (in domain) задачах, но качество на OOD (out of domain) все равно может ухудшаться при дальнейшем обучении.

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

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

В конце авторы вспоминают, про работы из RL и “пластичность”, комментируя , что обнаруженное явление имеет по всей видимости ту же самую природу.

Вывод

Довольно любопытное и интересное наблюдение. Для полноценной валидации требуется репродукция другими командами ибо результат может быть обусловлен такими нюансами как детали оптимизации, архитектуры, mixed-precision настроек и выбора данных. Потенциально еще причина может быть в специфике оптимизации Adam-oм или стремлении модели неограниченно наращивать логиты вероятностей для оптимизации кросс-энтропии. Использование другого оптимизатора или регуляризации (например, SAM) вероятно способно предотвратить проблему. Было бы интересно еще проверить имеет ли место эффект в других задачах: т.е будет ли ухудшаться качество vision foundation моделей (CLIP/SigLIP) на downstream при очень продолжительном обучении?

Рэкорды

27.04.202523:59
2.2KПадпісчыкаў
11.02.202517:37
100Індэкс цытавання
25.03.202523:59
1.7KАхоп 1 паста
29.03.202523:59
723Ахоп рэкламнага паста
14.03.202514:37
18.82%ER
25.03.202523:59
80.79%ERR

Развіццё

Падпісчыкаў
Індэкс цытавання
Ахоп 1 паста
Ахоп рэкламнага паста
ER
ERR
JAN '25FEB '25MAR '25APR '25

Папулярныя публікацыі КПД

07.04.202520:14
Презентация с моей сегодняшней лекции про методы сжатия БЯМ на курсе Школы Анализа Данных Яндекса "Эффективные Модели".

В ней даю краткий обзор по существующим подходам, актуальным работам в области и некоторые общие рекомендации.
Выдалена07.04.202520:16
05.04.202520:43
08.04.202507:56
Релиз несколько затянулся ("Мыши плакали, кололись, но продолжали грызть кактус"), но в итоге допинали, как появилась полноценная поддержка в vLLM compressed_tensors, релиз квантизованных GPTQ в 4 бита моделей DeepSeek-R1 и самого кода квантизации моделей.

Речь пока не идет о том, что можно запустить у себя на калькуляторе, и даже на consumer-grade GPU, но в одну ноду (8x A100/H100) влезает уже без приседаний и с контекстом, достаточным для reasoning задач а-ля AIME, GPQA, MATH500.

Модели на 🤗
-🎯 DeepSeek-R1-GPTQ-4b-128g (квантизуются все слои в трансформерных блоках)
-🎯 DeepSeek-R1-GPTQ-4b-128g-experts (квантизуются только non-shared experts)

Код 👨‍💻 квантизации
- MoE-Quant
25.04.202516:09
По итогу конференции ICLR 2025, проходящей сейчас в Сингапуре, планирую сделать подборку заинтересовавших постеров по теме EfficientDL и смежным вопросам, а также разобрать некоторые из них вид в виде лонгридов, а пока хотел бы поделиться общими впечатлениями от конференции:

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

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

3️⃣ Классная русская 🇷🇺 тусовка. На ICLR постоянно встречаешь русскоязычных ребят - как из Яндекса, AIRI, Т-банка, так и обосновавшихся в зарубежных лабах, компаниях и институтах - Google, Meta, ETH, NYU, и т.п и т.д.

4️⃣ Китайцы 🇨🇳 частенько говорят по английски плохо. Ну прям из ряда вон плохо. Как читаешь статейки прямо все по маслу, такие вычурные обороты, достойные Джейн Остин, Толкина и Байрона, а как доходит дело до устной речи, не понимают даже вроде бы довольно простые вопросы... Один даже честно признался, что не могет в инглиш и включил Google Translate с английского на китайский на планшете... Тем не менее, с некоторыми возникали прямо содержательные и интересные обсуждения. Например, с авторами SANA и SVD-Quant. Китайцы наиболее широко представлены среди всех национальностей, что , впрочем, неудивительно.

5️⃣ Имеет место явление, что на конференцию подаются несколько статей +/- про одно и тоже. На текущем ICLR я видел 3-4 статьи про комбинирование вращения + smoothquant для лучшей квантизации весов и активаций, и так же 3/4 статьи про sliding window + prefix attention с небольшими концептуальными отличиями.

6️⃣ В Сингапуре жарко снаружи и холодно внутри в помещениях. Прямо как в баньке с контрастным душем. Мерзнешь от кондиционеров и бежишь наружу париться, и когда напаришься вдоволь - идешь охлаждаться.

7️⃣ Все дорого. Прямо от слова совсем. И кофий не чета тому, что в Москве. За 8-9 баксов наливают бурду, которую в условном cofix / one price coffee постесняются налить за вчетверо меньшую сумму.

8️⃣ Город богатый и впечатляет. Возможно, меня покусал Варламов, но небоскребы тут смотрятся как-то гармонично и естественно в отличие от Москва-сити.

9️⃣ С алкашкой грустненько. И зожников много, везде видишь бегунов и велосипедистов.

1️⃣0️⃣ Дуриан выглядит классно. Прям хочется взять к себе домой эту здоровенную шишку, но запрещено законом.
16.04.202518:07
Старческий склероз - это не болезнь, а фундаментальное ограничение кожаных мешков на размер контекстного окна.
За наводку спасибо @snk4tr
03.04.202521:17
Qwerky-72B and 32B : Training large attention free models, with only 8 GPU's
[Блог Пост]

‼️ Attention is NOT all you need ‼️

Убийца трансформеров, новая ступень эволюции архитектур 🤩!

Если вам зачем-то приспичило отказаться от Attention, то данный рецепт предлагает решение, которое позволит вам превратить трансформер, превратить трансформер в элегантную RWKV модель.

Процедура следующая:

🤩 Берете трансформер
🤩 Заменяете Attention на RWKV

1️⃣ Сначала пытаетесь добиться того, чтобы блок RWKV воспроизвел выход исходного трансформерного
2️⃣ Потом дистиллируете логиты исходной модели (обучая только RWKV)
3️⃣ Потом еще раз дистиллируете (разморозив все)
4️⃣ Дообучаете на более длинном контексте

Бюджет дистилляции - всего-то несколько сот лямов токенов.

Таким образом получаются:
- Qwerky-QwQ из Qwen/QwQ
- Qwerky-72B Qwen/Qwen-2.5-72B-Instruct


На некоторых бенчах сохраняют качество, где-то теряют до 5%. Но хоть как-то работает, и ладно. И даже, как заявляется, опережает не абы что, а GPT-3.5 turbo без единого Attention слоя.

8 GPU это не A100/H100, как вы могли подумать, а амудшные карточки с 192Gb VRAM.
01.04.202509:45
Я
Придумай шутку про Сэма Альтмана и AGI. Шутка должна быть очень тонкой и остроумной, прямо чтобы разрывало от смеха.

DeepSeek-V3-0324
Тончайшая шутка для ценителей:

"Сэм Альтман пообещал, что AGI будет 'выравнивающим' для человечества. Видимо, поэтому совет директоров сначала 'выровнял' его должность до нуля, а потом обратно до единицы. Квантовая суперпозиция CEO!"

Разбор остроты (для тех, кто хочет смеяться осознанно):

Игра на двойном смысле "alignment" — термин из AI safety (чтобы ИИ был безопасным) vs. буквальное "выравнивание" (как в увольнении/возвращении).
Квантовая шутка — отсылка к тому, что его статус был одновременно и "0" (уволен), и "1" (на посту), пока не "коллапсировал" в реальность.
Сабж для гиков — только те, кто следил за драмой в OpenAI, оценят весь юмор.

Альтернативный вариант (ещё чернее):
"AGI сможет решить проблему голода, кризис энергии и даже alignment... Но вот договориться с советом директоров — это уже задача уровня ASI."

(ASI = Artificial Superintelligence, следующий уровень после AGI)

P.S. Если не разорвало — возвращаю диплом остроумия в бюро! 😉
05.04.202520:49
Сук

Даже VPN не помог(

И указание другой страны
10.04.202510:44
Метод

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

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

Благодаря RoPE позиционным эмбеддингам можно задавать произвольные позиции токенам в последовательностях, не меняя расположение токенов в KV-кэше в физической памяти.

Организовать кэш можно следующим образом:
📌 Interleaved layout. Процессы по очереди пишут общую память и видят чередующиеся шаги друг друга в прошлом.
📌 Contiguous layout. Процессы видят кэш другого процесса непрерывным блоком в прошлом.
📌 Combined layout. Промежуточный вариант. Процессы видят перемежающиеся шаги друг друга и текущий логический шаг рассуждения сплошным куском.

Промптинг состоит из 3 компонент:
1️⃣ Системного промпта, поясняющего LLMке, что надо работать в несколько потоков.
2️⃣ Few-shot примеры коллаборации потоков.
3️⃣ Вставка s1-like промптов, периодически спрашивающих процесс, занимается ли он полезной работой

Потенциальная польза от использования методов, что за меньшее количество прямых проходов по сети (инференс LLM memory-bound), можно прийти раньше к правильному решению, а в идеале, за счет самопроверки процессов - и поднять качество.

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

Эксперименты прогоняли на Qwen/QwQ-32B, как на модели достаточно хорошей и влезающей легко на 1 GPU.

Подход проверяли на модифицированной версии GSM8k и наборе примеров из LIMO.

Для GSM8k сравнивается работа в 1/2/4 потока. В большинстве случаев многопроцессовый режим работает лучше стандартной генерации при фиксированном бюджете.

На LIMO разные опции Hogwild! кэша с наивным бейзлайном с выдачей ответа одним процессом в заданном формате, с early stopping промптингом и независимыми процессами (Self-consistency). Hogwild! работает стабильно лучше. Разные стратегии обработки KV-кэша близки по качеству (за исключением совсем малых бюджетов), комбинированный выглядит немного предпочтительнее альтернатив. При бюджете в 8к прямых проходов в 2 потока достигается то же качество, что и генерация одним потоком 16к токенов.

Вывод

Научно-технический процесс достиг того уровня, что LLM способны заменять даже не одного, а нескольких кожаных мешков 🧍‍♂. Те не менее, удачная коллаборация происходит на практике далеко не всегда - иногда процессы вроде бы договорившись, начинают все равно дублировать друг друга или просто теряются. В дальнейшем планируется развитие подхода, в частности, специальное дообучение, для улучшения взаимодействия процессов друг с другом.
Выдалена07.04.202520:16
06.04.202508:35
Демку c 🦙-4 на vLLM уже выложили в llama-cookbook репозитории.
[Демка]

В частности, демонстрируют следующее:

🤖 Генерацию README.md для репозитория с кодом
💬 Обычный текстовый режим
🕉 Генерацию на хинди
📷 Понимание одной и нескольких картинок

Оперативненько!
ExLlamaV3
[Репозиторий][Чекпоинты]

На этой неделе turboderp выпустил 3-ую версию своего фреймворка для инференса LLM.

На данный момент либа находится на стадии разработки:
📌 Есть куда расти в плане оптимизации (неоптимальная утилизация на Ampere GPU)
📌 AMD GPU (если у кого есть такие) не поддерживаются
📌 Планируют накатить интеграцию с FlashInfer
📌 На данный момент поддерживаются только Llama, Qwen, Gemma2, Mistral архитектуры.

Прошлая версия ExLlama в качестве метода квантизации брала GPTQ, но в этот раз за основу взяли тяжелую артиллерию среди низкобитных методов квантизации - адаптацию QTIP, тем самым гарантируя качество значительно лучше GGUF, особенно при экстремальном сжатии (в 2 и менее бит).

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

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

Давным-давно в одной далекой Галактике было показано что при фиксированном количестве FLOPs на обучение оптимальное качество достигается при отношении количества токенов (D) к параметрам модели (N) около 20. Но жирные модельки потом дорого гонять на железе, потому обыкновенно выходят далеко за данное отношение и качество все равно монотонно растет, хоть и не так быстро, как при отпимальном скейлинге. В частности, для Llama-3 отношение D/N = 2000.

Авторы взяли веса моделей (OLMo-1B, OLMo-2-7B, LLM360-Amber) с разных шагов обучения и обнаружили, что начиная с какого-то момента качество на некоторых задачах (AlpacaEval, ARC (не AGI), PiQA) при дообучении начинает убывать. При этом качество базовой модели непрерывно растет. Для 7B модели при этом такого явления не наблюдается, так как модель, по всей видимости еще не успела перейти в режим “перетренированности”.

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

Дабы проверить данную гипотезу, авторы обучают на корпусе С4 модели от 15M до 90M параметров (с подвыборками размером от 4B до 128B токенов).

Сначала авторы исследуют зависимость лосса модели от времени обучения при фиксированной величине пертурбаций параметров гауссовым шумом. Первоначально, лосс модели не сильно меняется даже при большой величине шума. Но начиная с какого-то момента при сильном зашумлении лосс “зашумленной” модели начинает возрастать, несмотря на то, что качество исходной модели монотонно улучшается. То есть просадка модели, вызванная шумом, растет быстрее, чем улучшается модель.

Дообучение, конечно, сильно отличается от добавления гауссового шума, но тем не менее оказывается, что на некоторых датасетах при лернинг рейте побольше начиная с какого-то момента качество падает ↘️.

Далее авторы пробуют уменьшать шаг обучения, чтобы учесть большую чувствительность параметров модели, и это помогает на ID (in domain) задачах, но качество на OOD (out of domain) все равно может ухудшаться при дальнейшем обучении.

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

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

В конце авторы вспоминают, про работы из RL и “пластичность”, комментируя , что обнаруженное явление имеет по всей видимости ту же самую природу.

Вывод

Довольно любопытное и интересное наблюдение. Для полноценной валидации требуется репродукция другими командами ибо результат может быть обусловлен такими нюансами как детали оптимизации, архитектуры, mixed-precision настроек и выбора данных. Потенциально еще причина может быть в специфике оптимизации Adam-oм или стремлении модели неограниченно наращивать логиты вероятностей для оптимизации кросс-энтропии. Использование другого оптимизатора или регуляризации (например, SAM) вероятно способно предотвратить проблему. Было бы интересно еще проверить имеет ли место эффект в других задачах: т.е будет ли ухудшаться качество vision foundation моделей (CLIP/SigLIP) на downstream при очень продолжительном обучении?
Overtrained Language Models Are Harder to Fine-Tune
[Статья] [Где код, Билли?]

Введение

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

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

Однако группа исследователей (часть из них ранее засветилась в Scaling Laws for Precision) обнаружила, что начиная с какого-то момента чекпоинты OLMo начинают проседать по качеству при файтьюнинге, решила поглубже исследовать данный вопрос и найти какое-то объяснение явлению “перетренированности” 💪.
В ожидании аппрува на веса Llama 4
Увайдзіце, каб разблакаваць больш функцый.