Журнал · Rit.work

CurveTQ убирает поворот матриц из двухбитной квантизации LLM

CurveTQ переносит данные о кривизне прямо в поиск по решётчатому коду и сжимает веса LLM до двух бит без обратного поворота при генерации.

Rit.work
Студия разработки
8 октября 2026 г.3 мин чтения

Материал подготовлен автоматически по первоисточникам: ссылки на них — в конце статьи.

Новый кодек CurveTQ сжимает веса LLM до двух бит без поворота матриц, который прежним кодекам приходится отменять при каждом шаге генерации. На трёх моделях он обошёл QTIP и Proteus на 1–3 пункта средней точности, однако препринт не рецензирован, а числа получили сами авторы — Guanhua Ding, Zi Wang, Ruichao Li и Jack Liu. Для команд, которые оптимизируют локальный запуск или собственный контур вывода, работа добавляет в список кандидатов квантизацию без вычислений на обратный поворот.

Зачем QTIP и Proteus поворачивают матрицы весов

При двухбитной квантизации кодек заменяет исходные веса очень ограниченным набором значений. Простое округление портит одни параметры почти незаметно, а другие — существенно: чувствительность зависит от формы функции потерь возле текущих весов.

Эту чувствительность описывает матрица Гессе. QTIP и Proteus используют её для обратной связи между блоками кодирования: ошибка, накопленная в одном блоке, влияет на обработку следующего. Но внутри блока они ищут код по обычному евклидову расстоянию, поэтому считают все координаты одинаково важными.

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

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

Как кривизна попала в поиск по решётке

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

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

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

Вокруг поиска авторы собрали полноценный кодек. Он отдельно подстраивает масштаб и форму распределения весов, а также хранит начальное состояние для каждого блока. Это состояние позволяет решётке учитывать остаточную ошибку, которую передал предыдущий блок; одна эта модификация улучшила обе базовые системы на 1–3 пункта.

Без обратного поворота декодер CurveTQ оказался быстрее QTIP и Proteus при всех проверенных размерах пакета и вариантах разрядности. Абстракт не приводит время в миллисекундах, поэтому результат показывает преимущество между тремя реализациями, но не позволяет оценить выигрыш во всей системе генерации.

Меняет ли CurveTQ планы команд

Работа охватывает три Instruct-модели размером 4–8B и одну модель смеси экспертов на 35B, а сравнение проведено с QTIP и Proteus; поскольку материал подготовлен по абстракту, а полный текст получить не удалось, точный протокол оценки и устройство тестов восстановить нельзя. Поэтому вывод относится к решётчатой квантизации весов и не переносится автоматически на другие способы сжатия.

Для действующего контура на QTIP или Proteus немедленная замена кодека из этих результатов не следует. Практичнее сначала проверить начальное состояние блока: работа показывает, что этот элемент приносит базовым методам отдельный выигрыш и не требует принимать всю архитектуру CurveTQ.

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

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

Источники

Пауза в чтении

Похоже на вашу задачу?

Расскажите, что собираете. За полчаса разложим на этапы и назовём сроки — это бесплатно и ни к чему не обязывает.

Rit.work

Студия разработки

Собираем мобильные приложения и помогаем командам получать от AI реальную пользу. Основатель и команда, работаем удалённо — с клиентами в России и за рубежом.

← Ко всем материалам
Понравилось? Обсудим вашу задачу