Самое любопытное во всей этой истории то, что вложив много сил в развитие 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-кэшей.
👍13
🔬 Метод
Рассматривают 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++.
🔥15❤5👍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, дабы утрясти возникшее недоразумение.
В комментариях жалуются на, что бигтехи бессовестно пиарят свои наработки, задвигая фундаментальную науку.
👍20🔥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.
🔥1
🔬 Метод
Мюон, выстреливший некоторое время назад, стал основным оптимизатором в претрейнах больших языковых моделей, сместив с пьедестала, казалось бы, навечно засевший там Адам. Суть алгоритма в том, чтобы сделать полярное разложение матрицы моментов:
и подставить его вместо момента.
Однако, есть у него существенный недостаток - значительно более дорогой шаг оптимизации в сравнении с Адамом. Адам производит сравнительно простые поточечные операции над параметрами, а Мюон - сложную машинерию с алгоритмом Ньютона-Шульца для ортогонализации матрицы производных.
Команда авторов не предлагает улучшения асимптотической сложности, но замечают, что некоторые операции можно делать более эффективно.
В качестве альтернативы оригинальному алгоритму предлагают считать полярное разложение в виде:
Для типичных конфигураций больших трансформеров это дает 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 - доля времени работы алгоритма повысится. Тем самым ускорение станет более актуальным.
🔥17👍3
Опенсорс исходников claude code это хорошо, но для полного счастья не хватает еще весов.
Глядишь, и конкурентам придется опенсорснуться, чтобы не ударить лицом в грязь.
Глядишь, и конкурентам придется опенсорснуться, чтобы не ударить лицом в грязь.
❤29🤪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 версии моделек.
Рецепт обучения, приведший к столь восхитительным результатам, остается за кадром.
❤8🔥3🥴2👍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 режиме.
💡 Выводы
Данный результат показывает, что рассуждающие модели имеет смысл специальным образом дообучать, чтобы адаптировать к большему объему релевантного или постороннего контекста, который может возникать в агентных сценариях.
🔥10❤2
Вдохновленный autoresearch от маэстро Андрея Карпатого, я решил попробовать поискать оптимальный метод квантизации при помощи LLMного агента.
Если конкретно, то агенту 🤖 дается следующая установка
📌 Получить как можно более низкую перплексию на wikitext2 при фиксированной битности / размере группы.
📌 Можно менять алгоритм квантизации, но нельзя трогать вид квантизованного представления (битность, векторную квантизацию вместо скалярной, скажем).
📌 Скрипт замера перплексии фиксирован.
В качестве стартовой точки дается ванильный GPTQ с параметрами по умолчанию.
Агент (Claude Sonnet 4.6) сделал следующее
🧪 На первой же итерации изменил порядок квантизации на actorder (каналы с большими активациями вначале). По всей видимости, это у него уже было в обучающей выборке.
🧪 Еще он пробовал тюнить параметры регуляризации и размер калибровочной выборки.
🧪 Наиболее интересным изменением был подбор скейлов квантизации. Он пришел к какому-то поиску, взвешенному на послойный Гессиан, и в самом топовом решении даже накрутил какой-то Ledoit-Wolf оценщик для матрицы ковариации (применительно к скейлам).
Если резюмировать - Америку оно не открыло, но нашло (или знало) мелкие эмпирические трюки для прокачки квантизации. Для более интересных результатов, наверное, надо отправить его лазить в интернет откапывать давно забытые труды советских математиков и кибернетиков.
🐈⬛ проекта выложен 👉 здесь
Если конкретно, то агенту 🤖 дается следующая установка
📌 Получить как можно более низкую перплексию на wikitext2 при фиксированной битности / размере группы.
📌 Можно менять алгоритм квантизации, но нельзя трогать вид квантизованного представления (битность, векторную квантизацию вместо скалярной, скажем).
📌 Скрипт замера перплексии фиксирован.
В качестве стартовой точки дается ванильный GPTQ с параметрами по умолчанию.
Агент (Claude Sonnet 4.6) сделал следующее
🧪 На первой же итерации изменил порядок квантизации на actorder (каналы с большими активациями вначале). По всей видимости, это у него уже было в обучающей выборке.
🧪 Еще он пробовал тюнить параметры регуляризации и размер калибровочной выборки.
🧪 Наиболее интересным изменением был подбор скейлов квантизации. Он пришел к какому-то поиску, взвешенному на послойный Гессиан, и в самом топовом решении даже накрутил какой-то Ledoit-Wolf оценщик для матрицы ковариации (применительно к скейлам).
Если резюмировать - Америку оно не открыло, но нашло (или знало) мелкие эмпирические трюки для прокачки квантизации. Для более интересных результатов, наверное, надо отправить его лазить в интернет откапывать давно забытые труды советских математиков и кибернетиков.
🐈⬛ проекта выложен 👉 здесь
🔥21❤3
WaterSIC: information-theoretically (near) optimal linear layer quantization
[Статья] [Кода нет, как и кернелей]
Вопрос об оптимальной квантизации продолжается оставаться актуальным. Есть методы достигающих хорошего баланса между качеством и сжатием за счет использования продвинутых представлений - векторной квантизации, треллисов. Но можно ли приблизиться к информационно-теоретическому пределу в рамках скалярной квантизации?
И группа исследователей разработала метод WaterSIC, который квантизует адаптивно в разную битность скалярной квантизацией и отстает от IT предела всего на 0.255 бит.
[Статья] [Кода нет, как и кернелей]
Вопрос об оптимальной квантизации продолжается оставаться актуальным. Есть методы достигающих хорошего баланса между качеством и сжатием за счет использования продвинутых представлений - векторной квантизации, треллисов. Но можно ли приблизиться к информационно-теоретическому пределу в рамках скалярной квантизации?
И группа исследователей разработала метод WaterSIC, который квантизует адаптивно в разную битность скалярной квантизацией и отстает от IT предела всего на 0.255 бит.
❤3👍3🔥3
🔬 Метод
Сначала выводят некоторые теоретические оценки на минимально достижимую ошибку квантизации линейного слоя для GPTQ с хаффмановым кодированием весов и WaterSIC, который будет предложен ниже. Полученные выражения - некоторые формулы, зависящие от элементов матрицы Холески для матрицы ковариации входных активаций.
Алгоритм WaterSIC состоит из следующих компонент:
🔅 Сначала находят ближайшее значение к вектору W L (вес на фактор Холески) на решетке, образованной столбцами матрицы L. По существу, переформулировка GPTQ. Для большей точности делают еще сжатие на некий фактор, оптимизирующий MSE.
🔅 Затем учитывают тот факт, что активации в прошлых слоях несколько разъехались по сравнению с исходной моделью и добавляют компенсацию ошибки.
🔅 Потом применяют диагональное перемасштабирование для минимизации MSE.
🔅 Энтропийное кодирование (Хаффман).
🔅 В матрицах слоев внимания перевзвешивают матрицы ковариации активаций на внимание токенов (приоритезируя оптимизацию ошибки на важных токенах).
🔅 Убирают размерности с околонулевым разбросом около среднего.
🧪 Эксперименты
Метод валидируют на weight-only сжатии Llama-3.2-1B и Qwen3-8B в битностях от 1 до 4 бит. При всех степенях сжатия на Llama-3.2-1B метод выдает качество лучше бейзлайнов, среди которых QTIP и предложенный Huffman-GPTQ (из статьи, правда, непонятно, какая базовая битность). На Qwen3-8B предложенный подход также выдает хорошую перплексию.
💡 Выводы
Ну что, мощные серверы больше не нужны?
А если серьезно, то результат интересный. Однако можно придраться к замерам одной лишь перплексии без каких-либо бенчей. Кроме того, хаффманово кодирование на GPU вроде бы эффективно не реализуешь, и достижимо ли хоть какое-то ускорение или хотя бы замедление в разумных пределах в такой постановке?
Сначала выводят некоторые теоретические оценки на минимально достижимую ошибку квантизации линейного слоя для GPTQ с хаффмановым кодированием весов и WaterSIC, который будет предложен ниже. Полученные выражения - некоторые формулы, зависящие от элементов матрицы Холески для матрицы ковариации входных активаций.
Алгоритм WaterSIC состоит из следующих компонент:
🔅 Сначала находят ближайшее значение к вектору W L (вес на фактор Холески) на решетке, образованной столбцами матрицы L. По существу, переформулировка GPTQ. Для большей точности делают еще сжатие на некий фактор, оптимизирующий MSE.
🔅 Затем учитывают тот факт, что активации в прошлых слоях несколько разъехались по сравнению с исходной моделью и добавляют компенсацию ошибки.
🔅 Потом применяют диагональное перемасштабирование для минимизации MSE.
🔅 Энтропийное кодирование (Хаффман).
🔅 В матрицах слоев внимания перевзвешивают матрицы ковариации активаций на внимание токенов (приоритезируя оптимизацию ошибки на важных токенах).
🔅 Убирают размерности с околонулевым разбросом около среднего.
🧪 Эксперименты
Метод валидируют на weight-only сжатии Llama-3.2-1B и Qwen3-8B в битностях от 1 до 4 бит. При всех степенях сжатия на Llama-3.2-1B метод выдает качество лучше бейзлайнов, среди которых QTIP и предложенный Huffman-GPTQ (из статьи, правда, непонятно, какая базовая битность). На Qwen3-8B предложенный подход также выдает хорошую перплексию.
💡 Выводы
Ну что, мощные серверы больше не нужны?
А если серьезно, то результат интересный. Однако можно придраться к замерам одной лишь перплексии без каких-либо бенчей. Кроме того, хаффманово кодирование на GPU вроде бы эффективно не реализуешь, и достижимо ли хоть какое-то ускорение или хотя бы замедление в разумных пределах в такой постановке?
❤6
Страсти вокруг TurboQuant продолжаются.
Попытки воспроизвести TurboQuant у сообщества приводят к тому, что люди переизобретают HIGGS...
• Пост Тима Деттмерса в X
• PR в vLLM
Попытки воспроизвести TurboQuant у сообщества приводят к тому, что люди переизобретают HIGGS...
• Пост Тима Деттмерса в X
• PR в vLLM
👀13🤔4😁2
Некто выложил на гитхаб проект под названием OpenMythos - типа гипотетическая реконструкция Claude Mythos.
Возникает вопрос: Почему он должен выглядеть именно так? 🤔
Ответ: Ну раз он такой умный, значит это Recurrent-Depth Transformer. Ну и потому что несколько авторитетных чуваков из твиттера так считают.
Осталось только взять реализацию модельки, заскейлить до триллиона параметров, обучить на сотнях триллионов токенов и миллионах роллаутов - и, вуаля, AGI готов.
😁29🤩3🤔2❤1
YSDA - Efficient models (Обзор библиотек).pdf
3.5 MB
Моя лекция с курса в ШАДе "Эффективные модели ML и архитектуры нейросетей" про разные движки для инференса и DSL для кернелов.
❤22🔥12👍2