Self-Supervised Flow Matching for Scalable Multi-Modal Synthesis
[Статья][Блог]
Ранее в работе REPA было показано, что выравнивание внутренних представлений сети с неким внешним энкодером, обученном на большом обьеме данных.
Однако, возникает вопрос - а какой энкодер брать, и как именно выравнивать признаки? Да и как-то оно не из первых принципов.
Ребята из Black Forest Labs предложили Self-Supervision на основе признаков самой диффузионной модели с более низкого уровня шума.
[Статья][Блог]
Ранее в работе REPA было показано, что выравнивание внутренних представлений сети с неким внешним энкодером, обученном на большом обьеме данных.
Однако, возникает вопрос - а какой энкодер брать, и как именно выравнивать признаки? Да и как-то оно не из первых принципов.
Ребята из Black Forest Labs предложили Self-Supervision на основе признаков самой диффузионной модели с более низкого уровня шума.
👍4
🔬 Метод
Первое наблюдение, которое делают авторы, что сила энкодера не всегда соответствует качеству генерации. Например, переход от DINOv2 к DINOv3, DINOv2-B к DINOv2-L ухудшает качество, хотя, казалось бы, внешняя модель должна была выучить лучшие репрезентации.
Потому предлагают выравнивать представления от самой модели на разных уровнях шума. Но как это правильно сделать 🤔?
Пробовали некоторые токены полностью зашумлять или зашумлять все независимо. Но это приводит к несовпадению между обучением и инференсом и только просаживает качество.
Вместо этого решили сэмплировать два времени - t и s - независимо, и часть токенов зашумлять на меньший шум, а часть - на больший.
Уже это как-то работает. Но еще лучше, если добавить лосс выравнивания (косинусную близость) между признаками ученика с входом зашумленным с разным силой и учителем (ЕМА ученика), зашумленным на меньший из шумов. Причем выравнивают более ранние (ближе к входу) признаки ученика с признаками учителя.
Итоговый лосс есть сумма flow-matching лосса и лосса выравнивания.
🧪 Эксперименты
Подход валидируют для 3 модальностей - text-2-image, text-2-video, text-2-audio и для мультимодальной генерации.
Для экспериментов на ImageNet берут SiT с SD автоэнкодером в базовой постановке. Self-Flow работает немного лучше, чем REPA и заметно лучше, чем бейзлайн SRA. Self-Flow помогает даже поверх RAE.
На text-2-image генерации Self-Flow тоже лучше SRA. REPA и SigLIP2 не помогают text-2-image генерации.
На видео 📹 генерации Self-Flow снова заметно улучшает метрики. Внешние автоэнкодеры (V-JEPA, DepthAnything) только просаживают качество.
И аналогичная картина наблюдается для аудио 🔉.
Кроме того, учат модель которая одновременно умеет в 3 модальности и video-action модель.
С увеличением размера моделей разница с REPA только растет (судя по CLIP Score).
В ablation показывают, что self-supervised лосс важен для качества. Также важно маскирование, и сэмплирование шагов на широком интервале значений, чтобы модель с высоких шумов могла видеть признаки с низких. Равномерное зашумление лучше логит-нормального.
💡 Выводы
Выглядит как универсальный и при этом достаточно простой рецепт ускорения претрейна для диффузионных моделей. Интересно, использовались ли данные наработки при обучении семейства Flux2, или додумались уже позднее?
Первое наблюдение, которое делают авторы, что сила энкодера не всегда соответствует качеству генерации. Например, переход от DINOv2 к DINOv3, DINOv2-B к DINOv2-L ухудшает качество, хотя, казалось бы, внешняя модель должна была выучить лучшие репрезентации.
Потому предлагают выравнивать представления от самой модели на разных уровнях шума. Но как это правильно сделать 🤔?
Пробовали некоторые токены полностью зашумлять или зашумлять все независимо. Но это приводит к несовпадению между обучением и инференсом и только просаживает качество.
Вместо этого решили сэмплировать два времени - t и s - независимо, и часть токенов зашумлять на меньший шум, а часть - на больший.
Уже это как-то работает. Но еще лучше, если добавить лосс выравнивания (косинусную близость) между признаками ученика с входом зашумленным с разным силой и учителем (ЕМА ученика), зашумленным на меньший из шумов. Причем выравнивают более ранние (ближе к входу) признаки ученика с признаками учителя.
Итоговый лосс есть сумма flow-matching лосса и лосса выравнивания.
🧪 Эксперименты
Подход валидируют для 3 модальностей - text-2-image, text-2-video, text-2-audio и для мультимодальной генерации.
Для экспериментов на ImageNet берут SiT с SD автоэнкодером в базовой постановке. Self-Flow работает немного лучше, чем REPA и заметно лучше, чем бейзлайн SRA. Self-Flow помогает даже поверх RAE.
На text-2-image генерации Self-Flow тоже лучше SRA. REPA и SigLIP2 не помогают text-2-image генерации.
На видео 📹 генерации Self-Flow снова заметно улучшает метрики. Внешние автоэнкодеры (V-JEPA, DepthAnything) только просаживают качество.
И аналогичная картина наблюдается для аудио 🔉.
Кроме того, учат модель которая одновременно умеет в 3 модальности и video-action модель.
С увеличением размера моделей разница с REPA только растет (судя по CLIP Score).
В ablation показывают, что self-supervised лосс важен для качества. Также важно маскирование, и сэмплирование шагов на широком интервале значений, чтобы модель с высоких шумов могла видеть признаки с низких. Равномерное зашумление лучше логит-нормального.
💡 Выводы
Выглядит как универсальный и при этом достаточно простой рецепт ускорения претрейна для диффузионных моделей. Интересно, использовались ли данные наработки при обучении семейства Flux2, или додумались уже позднее?
👍4
Видать давление со стороны Антропика и Гугла вынудило OpenAI зашевелиться.
Демонструют более эффективный tool use в сравнении с GPT-5.2, за меньшее число вызовов достигают лучшего качества. И якобы качество кодинга при той же latency чуть лучше, чем у специализированной GPT-5.3-Codex.
https://openai.com/index/introducing-gpt-5-4/
Демонструют более эффективный tool use в сравнении с GPT-5.2, за меньшее число вызовов достигают лучшего качества. И якобы качество кодинга при той же latency чуть лучше, чем у специализированной GPT-5.3-Codex.
https://openai.com/index/introducing-gpt-5-4/
Openai
Introducing GPT-5.4
Introducing GPT-5.4, OpenAI’s most most capable and efficient frontier model for professional work, with state-of-the-art coding, computer use, tool search, and 1M-token context.
👍6
Краткий обзор, посвященный исследованиям влияния температуры 🤒 на качество генераций БЯМ и разным методикам подбора адаптивной температуры.
В частности, рассмотрены разные варианты - обучаемые и entropy-based, с глобальной температурой на последовательность и потокенной.
Одна из эвристик предлагает поднимать температуру, когда модель не уверена в предсказании, и понижать в противном случае.
Существуют также разные опции RL-я и meta-learning для предсказания оптимальной температуры на инференсе. Выученные RL-политики, правда, оказываются похожими на вышеупомянутую эвристику.
Также приводится список работ, где адаптивная температура подбирается для калибровки вероятностного распределения
В частности, рассмотрены разные варианты - обучаемые и entropy-based, с глобальной температурой на последовательность и потокенной.
Одна из эвристик предлагает поднимать температуру, когда модель не уверена в предсказании, и понижать в противном случае.
Существуют также разные опции RL-я и meta-learning для предсказания оптимальной температуры на инференсе. Выученные RL-политики, правда, оказываются похожими на вышеупомянутую эвристику.
Также приводится список работ, где адаптивная температура подбирается для калибровки вероятностного распределения
👍4
Вот и настал тот славный день, когда мой скромный канальчик преодолел отметку в 3️⃣000 подписчиков.
Спасибо 🙏 всем за то, что вы здесь, за ваши комментарии, замечания и реакции.
Надеюсь и дальше продолжать делать обзорчики по квантизации, прунингу, дистилляции и иным ипостасям Efficient DL.
Спасибо 🙏 всем за то, что вы здесь, за ваши комментарии, замечания и реакции.
Надеюсь и дальше продолжать делать обзорчики по квантизации, прунингу, дистилляции и иным ипостасям Efficient DL.
🔥39🎉21👍6
Forwarded from black_samorez
Кернелы претрен NVFP4 B200 скачать бесплатно без смс и регистрации
from quartet2.linear import Quartet_II_linear
linear = Quartet_II_linear(
in_dim,
out_dim,
device="cuda",
)
...
❤5🔥4
Mamba-3: Improved Sequence Modeling using State Space Principles
[Статья] [Блог] [Код анонсирован, но не добавлен]
Фантастический Три Дао, Альберт Гу и их падаваны из CMU и Принстона тихо, без шума выпустили 3-ую часть саги про Мамбу 🐍.
[Статья] [Блог] [Код анонсирован, но не добавлен]
Фантастический Три Дао, Альберт Гу и их падаваны из CMU и Принстона тихо, без шума выпустили 3-ую часть саги про Мамбу 🐍.
🔥6
🔬 Метод
Основной целью модификаций в Mamba-2 было повышение эффективности обучения, и для этого, в частности, упростили матрицу перехода состояний.
Однако, ограничение выразительности может ограничивать и достижимое качество.
С другой стороны, на практике не менее важно иметь и эффективный инференс, утилизирующий вычислительные возможности GPU. Как известно, инференс SSM сильно memory-bound - вычисления занимают гораздо меньше времени, чем трансфер памяти. Отсюда возникает мысль увеличить объем вычислений на один шаг, не меняя при этом количество передаваемой памяти.
В Мамбе-3 3 ключевых нововведения:
1️⃣ Более общий и выразительной вид рекурсии (экспоненциально-трапециоидальная схема)
2️⃣ Переход к комплекснозначной SSM при этом без осуществления вычислений в комплексных числах при помощи RoPE-трюка.
3️⃣ Multi-input, multi-output SSM вместо single-input, single-output. Суть в общих чертах, в том, чтобы обрабатывать состояние в несколько параллельных потоков.
Кроме того, модифицировали и сам слой Мамбы - добавили QK-norm, убрали короткую свертку (которая более не помогает, ввиду того, что схема рекурсии эффективно является сверткой). Также для MIMO-варианта добавляются MIMO-проекции.
Для реализацим используется Trtion, TileLang и CuTe DSL.
🧪 Эксперименты
Архитектуру валидируют, обучая модели размера от 180M до 1.5B токенов на Fineweb-Edu.
Mamba 3 стабильно опережает Mamba-2 и Gated Delta Net того же размера. MIMO вариант еще немного подымает качество.
На retrieval задачах (Needle in a Haystack) Mamba-2 сильно страдала с увеличением длины контекста. Mamba-3 страдает меньше и показывает себя лучше чем GDN в среднем.
Prefill/Decode у SISO варианта Mamba-3 такой же по скорости, как у Mamba-2. У MIMO префилл чуть медленее, но декодирование почти не замедляется.
💡 Выводы
Выглядит как нетривиальное развитие направления с SSM, но полезность можно будет оценить только в более боевых и прикладных сетапах. Почти наверняка 3-ую Мамбу мы увидим в гибридных transformer/ssm моделях.
Основной целью модификаций в Mamba-2 было повышение эффективности обучения, и для этого, в частности, упростили матрицу перехода состояний.
Однако, ограничение выразительности может ограничивать и достижимое качество.
С другой стороны, на практике не менее важно иметь и эффективный инференс, утилизирующий вычислительные возможности GPU. Как известно, инференс SSM сильно memory-bound - вычисления занимают гораздо меньше времени, чем трансфер памяти. Отсюда возникает мысль увеличить объем вычислений на один шаг, не меняя при этом количество передаваемой памяти.
В Мамбе-3 3 ключевых нововведения:
1️⃣ Более общий и выразительной вид рекурсии (экспоненциально-трапециоидальная схема)
2️⃣ Переход к комплекснозначной SSM при этом без осуществления вычислений в комплексных числах при помощи RoPE-трюка.
3️⃣ Multi-input, multi-output SSM вместо single-input, single-output. Суть в общих чертах, в том, чтобы обрабатывать состояние в несколько параллельных потоков.
Кроме того, модифицировали и сам слой Мамбы - добавили QK-norm, убрали короткую свертку (которая более не помогает, ввиду того, что схема рекурсии эффективно является сверткой). Также для MIMO-варианта добавляются MIMO-проекции.
Для реализацим используется Trtion, TileLang и CuTe DSL.
🧪 Эксперименты
Архитектуру валидируют, обучая модели размера от 180M до 1.5B токенов на Fineweb-Edu.
Mamba 3 стабильно опережает Mamba-2 и Gated Delta Net того же размера. MIMO вариант еще немного подымает качество.
На retrieval задачах (Needle in a Haystack) Mamba-2 сильно страдала с увеличением длины контекста. Mamba-3 страдает меньше и показывает себя лучше чем GDN в среднем.
Prefill/Decode у SISO варианта Mamba-3 такой же по скорости, как у Mamba-2. У MIMO префилл чуть медленее, но декодирование почти не замедляется.
💡 Выводы
Выглядит как нетривиальное развитие направления с SSM, но полезность можно будет оценить только в более боевых и прикладных сетапах. Почти наверняка 3-ую Мамбу мы увидим в гибридных transformer/ssm моделях.
Самое любопытное во всей этой истории то, что вложив много сил в развитие SSM, Tri Dao убивает их, выпуская новые версии Flash Attention.
😁16💯5
TurboQuant: Online Vector Quantization with Near-optimal Distortion Rate
[Статья] [Пост][Неофициальный код под MLX]
Квантизовать что-либо, будь то эмбеддинги, активации или KV-кэши хочется не абы как, а по возможности максимально точно.
И команда из Google Research предложила новый метод квантизации с теоретическими гарантиями и применила к задаче сжатия эмбеддингов в KV-кэшей.
[Статья] [Пост][Неофициальный код под MLX]
Квантизовать что-либо, будь то эмбеддинги, активации или KV-кэши хочется не абы как, а по возможности максимально точно.
И команда из Google Research предложила новый метод квантизации с теоретическими гарантиями и применила к задаче сжатия эмбеддингов в KV-кэшей.
👍12
🔬 Метод
Рассматривают 2-возможные постановки задачи оптимальной квантизации:
🔅 MSE - отпимальную, которая ищет лучшее приближение по квадратичной ошибке к заданному вектору
🔅 Inner Product - оптимальную - поиск лучшей квантизации для скалярного произведения пар векторов, где один из них квантизуется.
От второй еще хочется свойства несмещенности - матожидание квантизованного произведения должно быть равно неквантизованному.
Для MSE-оптимизированного TurboQuant вектора поворачивают на случайную ортогональную матрицу (не Адамар), а затем подбирают оптимальную решетку с помощью Max-Lloyd для целевых битностей.
Для Inner Product алгоритм для MSE не годится из-за сдвига матожидания. Вместо этого делают следующее - сначала квантизуют MSE отпимальным квантизатором в битность - 1, а 1-битный остаток квантизуют через Quantized Johnson-Lindenstrauss (QJL).
Суть последнего в следующем:
В статье далее приводятся множество разных оценок на нижний и верхний порог ошибки.
🧪 Эксперименты
Сначала сжимают DBpedia Entities OpenAI3 эмбеддинги. Показывают, что MSE-оптимальный квантизатор имеет смещенную ошибку.
Затем переходят на сжатие KV-кэшей. На Needle-In-A-Haystack при сжатии в 4 бита не просаживаются в качестве, в отличие от бейзлайновых SnapKV, PyramidKV, KIVI (первые 2 подхода про прунинг токенов). На LongBench не просаживаются при 3.5 битной квантизации, и очень умеренно при 2.5 битной.
При 2-х и 4-х битной квантизации по качеству превосходят ProductQuantization и RabitQ, при этом работая гораздо быстрее.
💡 Выводы
Небезынтересная работа с солидной теоретической подоплекой. Однако, к выбору бейзлайнов можно придраться. В плане квантизации KV-кэшей есть более свежие и сильные бейзлайны. В частности, было бы интересно сравнить TurboQuant с квантизацией KV-кэшей
в HIGGS сетку на повернутых Адамаровыми вращениями векторах. И для сжатия эмбеддингов есть, как минимум Аддитивная квантизация и LSQ++.
Рассматривают 2-возможные постановки задачи оптимальной квантизации:
🔅 MSE - отпимальную, которая ищет лучшее приближение по квадратичной ошибке к заданному вектору
🔅 Inner Product - оптимальную - поиск лучшей квантизации для скалярного произведения пар векторов, где один из них квантизуется.
От второй еще хочется свойства несмещенности - матожидание квантизованного произведения должно быть равно неквантизованному.
Для MSE-оптимизированного TurboQuant вектора поворачивают на случайную ортогональную матрицу (не Адамар), а затем подбирают оптимальную решетку с помощью Max-Lloyd для целевых битностей.
Для Inner Product алгоритм для MSE не годится из-за сдвига матожидания. Вместо этого делают следующее - сначала квантизуют MSE отпимальным квантизатором в битность - 1, а 1-битный остаток квантизуют через Quantized Johnson-Lindenstrauss (QJL).
Суть последнего в следующем:
Поворачиваем на случайную ортогональную матрицу, а затем берем знак. Деквантизация - это обратный поворот и перенормировка.
В статье далее приводятся множество разных оценок на нижний и верхний порог ошибки.
🧪 Эксперименты
Сначала сжимают DBpedia Entities OpenAI3 эмбеддинги. Показывают, что MSE-оптимальный квантизатор имеет смещенную ошибку.
Затем переходят на сжатие KV-кэшей. На Needle-In-A-Haystack при сжатии в 4 бита не просаживаются в качестве, в отличие от бейзлайновых SnapKV, PyramidKV, KIVI (первые 2 подхода про прунинг токенов). На LongBench не просаживаются при 3.5 битной квантизации, и очень умеренно при 2.5 битной.
При 2-х и 4-х битной квантизации по качеству превосходят ProductQuantization и RabitQ, при этом работая гораздо быстрее.
💡 Выводы
Небезынтересная работа с солидной теоретической подоплекой. Однако, к выбору бейзлайнов можно придраться. В плане квантизации KV-кэшей есть более свежие и сильные бейзлайны. В частности, было бы интересно сравнить TurboQuant с квантизацией KV-кэшей
в HIGGS сетку на повернутых Адамаровыми вращениями векторах. И для сжатия эмбеддингов есть, как минимум Аддитивная квантизация и LSQ++.
🔥13❤4👍2
ZOMG TEH DRAMA!
Авторы RabitQ написали гневный пост в x.com (бывшем твиттере) по поводу хайпанувшего TurboQuant.
Суть их претензий в следующем - RabitQ основан на тех же идеях - случайном повороте и теоретической оптимальности, но в TurboQuant об этом никак не упоминает. Кроме того, сравнивается производительность TurboQuant на GPU против single CPU core RabitQ.
Засим они подали публичную претензию в комментарии OpenReview, дабы утрясти возникшее недоразумение.
В комментариях жалуются на, что бигтехи бессовестно пиарят свои наработки, задвигая фундаментальную науку.
Авторы RabitQ написали гневный пост в x.com (бывшем твиттере) по поводу хайпанувшего TurboQuant.
Суть их претензий в следующем - RabitQ основан на тех же идеях - случайном повороте и теоретической оптимальности, но в TurboQuant об этом никак не упоминает. Кроме того, сравнивается производительность TurboQuant на GPU против single CPU core RabitQ.
Засим они подали публичную претензию в комментарии OpenReview, дабы утрясти возникшее недоразумение.
В комментариях жалуются на, что бигтехи бессовестно пиарят свои наработки, задвигая фундаментальную науку.
👍19🔥7
Gram Newton-Schulz: A Fast, Hardware-Aware Newton-Schulz Algorithm for Muon
[Блог]
Монстрический 👾 Три Дао и его команда нашли очередное место с потенциалом ускорения - оптимизацию оптимизатора Мюона.
[Блог]
Монстрический 👾 Три Дао и его команда нашли очередное место с потенциалом ускорения - оптимизацию оптимизатора Мюона.
dao-lab.ai
Gram Newton-Schulz: A Fast, Hardware-Aware Newton-Schulz Algorithm for Muon | Dao AI Lab
Homepage of the Dao AI Lab @ Princeton CS.
🔬 Метод
Мюон, выстреливший некоторое время назад, стал основным оптимизатором в претрейнах больших языковых моделей, сместив с пьедестала, казалось бы, навечно засевший там Адам. Суть алгоритма в том, чтобы сделать полярное разложение матрицы моментов:
и подставить его вместо момента.
Однако, есть у него существенный недостаток - значительно более дорогой шаг оптимизации в сравнении с Адамом. Адам производит сравнительно простые поточечные операции над параметрами, а Мюон - сложную машинерию с алгоритмом Ньютона-Шульца для ортогонализации матрицы производных.
Команда авторов не предлагает улучшения асимптотической сложности, но замечают, что некоторые операции можно делать более эффективно.
В качестве альтернативы оригинальному алгоритму предлагают считать полярное разложение в виде:
Для типичных конфигураций больших трансформеров это дает 55% уменьшений FLOPs против оптимизированных реализаций.
Далее замечают, что при перемножении симметричных матриц достаточно считать половину элементов, а остальные отражать по диагонали.
И все - успех, победа 🍾?
Ан нет. Наивная реализация, описанная выше численно нестабильна и приводит к спайкам в лоссе, инфам и нанам.
Анализируют причины произошедшего и, оказывается, что все дело в численной стабильности. Из-за конечной точности матрица X^T X может оказаться не положительно определенной. Да и собственные значения разъезжаются.
Чтобы это побороть делают алгоритм с рестартами. Это позволяет добиться контролями над собственными значениями. И для подстраховки делят матрицы на 1.02 - 1.05, дабы надежнее попасть в интервал собственных значений [0, 1], чтобы сойтись к оптимуму. Это чуть увеличивает время алгоритма, но стабилизирует его.
Между float16 и bfloat16 большой разницы нет, но авторы рекомендуют первый, как более точный в окрестности нуля.
Под используемые в работе матричные операции с симметричным матрицами пишут и выкладывают свои кернелы в Quack.
🧪 Эксперименты
Учат семейства моделей разной архитектуры - Llama-430M, Qwen-600M, Gemma-1B и кастомный MoE на 2х Шиншилла оптимальном бюджете. Вроде учится стабильно. Кривые лосса сходятся с исходным мюоном.
Ускорение оптимизатора в 1.5-2 раза в сравнении с ванильной торчовой реализацией, и несколько меньше против Мюона со специальными кернелами. Правда, в плане производительности (времени на шаг) все еще далеко до Адама.
💡 Выводы
Солидная инженерная работа с очевидной пользой для сообщества. В текущих воркфлоу шаг оптимизатора обычно не очень дорогой - 5-15% от общей стоимости обучения. Но с переходом на обучение в FP8/NVFP4 - доля времени работы алгоритма повысится. Тем самым ускорение станет более актуальным.
Мюон, выстреливший некоторое время назад, стал основным оптимизатором в претрейнах больших языковых моделей, сместив с пьедестала, казалось бы, навечно засевший там Адам. Суть алгоритма в том, чтобы сделать полярное разложение матрицы моментов:
polar(X) = U V^T для X = U S V^Tи подставить его вместо момента.
Однако, есть у него существенный недостаток - значительно более дорогой шаг оптимизации в сравнении с Адамом. Адам производит сравнительно простые поточечные операции над параметрами, а Мюон - сложную машинерию с алгоритмом Ньютона-Шульца для ортогонализации матрицы производных.
Команда авторов не предлагает улучшения асимптотической сложности, но замечают, что некоторые операции можно делать более эффективно.
В выражения, возникающие в процессе подсчета многочленов в Ньютоне-Шульце, несколько раз возникают матричные произведения с матрицей X, которая может быть сильно вытянутой вдоль одной из размерностей. Гораздо дешевле тогда работать с матрицей Грама X^T X.
В качестве альтернативы оригинальному алгоритму предлагают считать полярное разложение в виде:
X (X^T X)^{-1/2}. Матричную степень находят тоже через Ньютон-Шульц, но для матрицы X^T X меньшего размера теперь уже.Для типичных конфигураций больших трансформеров это дает 55% уменьшений FLOPs против оптимизированных реализаций.
Далее замечают, что при перемножении симметричных матриц достаточно считать половину элементов, а остальные отражать по диагонали.
И все - успех, победа 🍾?
Ан нет. Наивная реализация, описанная выше численно нестабильна и приводит к спайкам в лоссе, инфам и нанам.
Анализируют причины произошедшего и, оказывается, что все дело в численной стабильности. Из-за конечной точности матрица X^T X может оказаться не положительно определенной. Да и собственные значения разъезжаются.
Чтобы это побороть делают алгоритм с рестартами. Это позволяет добиться контролями над собственными значениями. И для подстраховки делят матрицы на 1.02 - 1.05, дабы надежнее попасть в интервал собственных значений [0, 1], чтобы сойтись к оптимуму. Это чуть увеличивает время алгоритма, но стабилизирует его.
Между float16 и bfloat16 большой разницы нет, но авторы рекомендуют первый, как более точный в окрестности нуля.
Под используемые в работе матричные операции с симметричным матрицами пишут и выкладывают свои кернелы в Quack.
🧪 Эксперименты
Учат семейства моделей разной архитектуры - Llama-430M, Qwen-600M, Gemma-1B и кастомный MoE на 2х Шиншилла оптимальном бюджете. Вроде учится стабильно. Кривые лосса сходятся с исходным мюоном.
Ускорение оптимизатора в 1.5-2 раза в сравнении с ванильной торчовой реализацией, и несколько меньше против Мюона со специальными кернелами. Правда, в плане производительности (времени на шаг) все еще далеко до Адама.
💡 Выводы
Солидная инженерная работа с очевидной пользой для сообщества. В текущих воркфлоу шаг оптимизатора обычно не очень дорогой - 5-15% от общей стоимости обучения. Но с переходом на обучение в FP8/NVFP4 - доля времени работы алгоритма повысится. Тем самым ускорение станет более актуальным.
🔥16👍2
Опенсорс исходников claude code это хорошо, но для полного счастья не хватает еще весов.
Глядишь, и конкурентам придется опенсорснуться, чтобы не ударить лицом в грязь.
Глядишь, и конкурентам придется опенсорснуться, чтобы не ударить лицом в грязь.
❤28🤪5😁1
Announcing 1-bit Bonsai: The First Commercially Viable 1-bit LLMs
[Блог][Гитхаб с демо][Коллекция]
Стартап PrismML анонсировал Bonsai - семейство 1-битных LLM, которые можно запустить на любом чайнике.
Квантизуется все - эмбеддинги, внимание, MLP и lm голова.
По бенчам выдает что-то на уровне Ministral/Olmo 3 7b, при этом будучи заметно меньше по размеру чекпоинта. Дабы продемонстрировать свою мегаэффективность, вводят понятие intelligence density -
Это дело можно запустить на iPhone 17, в то время как в half precision 8B модель просто не поместится, и генерить со скоростью 40 токенов в секунду.
Кроме того, оно якобы работает быстрее на RTX 4090 (через llama.cpp) и M4Pro. Энергоэффективность на один токен улучается в 4-5 раз.
Также выпускают 1.7B и 4B версии моделек.
Рецепт обучения, приведший к столь восхитительным результатам, остается за кадром.
[Блог][Гитхаб с демо][Коллекция]
Стартап PrismML анонсировал Bonsai - семейство 1-битных LLM, которые можно запустить на любом чайнике.
Квантизуется все - эмбеддинги, внимание, MLP и lm голова.
По бенчам выдает что-то на уровне Ministral/Olmo 3 7b, при этом будучи заметно меньше по размеру чекпоинта. Дабы продемонстрировать свою мегаэффективность, вводят понятие intelligence density -
минус log(ошибка на наборе бенчей) / размер модели в Gb. По этому показателю заметно обходят всех (бейзлайны тоже можно было бы квантизовать).Это дело можно запустить на iPhone 17, в то время как в half precision 8B модель просто не поместится, и генерить со скоростью 40 токенов в секунду.
Кроме того, оно якобы работает быстрее на RTX 4090 (через llama.cpp) и M4Pro. Энергоэффективность на один токен улучается в 4-5 раз.
Также выпускают 1.7B и 4B версии моделек.
Рецепт обучения, приведший к столь восхитительным результатам, остается за кадром.
❤6🔥3👍1🥴1
🔬 Метод
Длинные цепочки рассуждений, как известно, позволяют заметно улучшить качество на определенном классе задач. В то же время, бывает так, что избыточные рассуждения 🤔 могут вредить и уводить от правильного ответа.
Данная работа ищет ответ на следующие вопросы - что происходит с рассуждениями при наличии дополнительного контекста, может ли модель так же хорошо решать поставленную задачу?
Рассматриваются следующие постановки:
🔅 Baseline. Просто исходная задача и вопрос.
🔅 Subtask. Одно пользовательское сообщение и две подзадачи.
🔅 Long input. Много иррелевантного контекста и задача,
🔅 Multi-turn. Многошаговый диалог после которого идет сама задача.
🧪 Эксперименты
Проверяют следующие модели:
🚀 Qwen-3.5-27B
🚀 GPT-OSS-120B
🚀 Gemini 3 Flash Preview
🚀 Kimi K2 Thinking
Для всех не Baseline вариантов наблюдается следующее:
🩳 Длина ответа сокращается
⬇️ Качество несколько проседает
Затем подают в Qwen3.5-27B разное количество токенов иррелевантного контекста и наблюдают монотонную просадку длины генераций. 64к токенов укорачивают ответ вдвое (с 8к до 4к).
Кроме того, пробуют модели семейства Olmo-3:
🔅На Instruct чекпоинте почти не наблюдает описанное явление.
🔅Для Thinking чекпоинтов сокращение длины имеет место.
Для Qwen-3-32B укорачивание генераций тоже гораздо более заметно в reasoning режиме.
💡 Выводы
Данный результат показывает, что рассуждающие модели имеет смысл специальным образом дообучать, чтобы адаптировать к большему объему релевантного или постороннего контекста, который может возникать в агентных сценариях.
Длинные цепочки рассуждений, как известно, позволяют заметно улучшить качество на определенном классе задач. В то же время, бывает так, что избыточные рассуждения 🤔 могут вредить и уводить от правильного ответа.
Данная работа ищет ответ на следующие вопросы - что происходит с рассуждениями при наличии дополнительного контекста, может ли модель так же хорошо решать поставленную задачу?
Рассматриваются следующие постановки:
🔅 Baseline. Просто исходная задача и вопрос.
🔅 Subtask. Одно пользовательское сообщение и две подзадачи.
🔅 Long input. Много иррелевантного контекста и задача,
🔅 Multi-turn. Многошаговый диалог после которого идет сама задача.
🧪 Эксперименты
Проверяют следующие модели:
🚀 Qwen-3.5-27B
🚀 GPT-OSS-120B
🚀 Gemini 3 Flash Preview
🚀 Kimi K2 Thinking
Для всех не Baseline вариантов наблюдается следующее:
🩳 Длина ответа сокращается
⬇️ Качество несколько проседает
Затем подают в Qwen3.5-27B разное количество токенов иррелевантного контекста и наблюдают монотонную просадку длины генераций. 64к токенов укорачивают ответ вдвое (с 8к до 4к).
Кроме того, пробуют модели семейства Olmo-3:
🔅На Instruct чекпоинте почти не наблюдает описанное явление.
🔅Для Thinking чекпоинтов сокращение длины имеет место.
Для Qwen-3-32B укорачивание генераций тоже гораздо более заметно в reasoning режиме.
💡 Выводы
Данный результат показывает, что рассуждающие модели имеет смысл специальным образом дообучать, чтобы адаптировать к большему объему релевантного или постороннего контекста, который может возникать в агентных сценариях.
🔥6❤2