Материал подготовлен автоматически по первоисточникам: ссылки на них — в конце статьи.
Веса и промежуточные значения LLM удалось перевести в четырёхбитный вид без заранее собранных примеров и сохранить выигрыш при реальном запуске. Хотя препринт d-Matrix не проходил рецензирование и числа в нём получили сами авторы, DualQuant сократил расход памяти Llama-3.1-8B на RTX 4090 в 2,61 раза относительно BF16. Калибровочная выборка перестаёт быть обязательной частью подготовки модели, если ускоритель и программный стек поддерживают низкобитные операции над весами и активациями.
Масштабы активаций выводят из весов
Квантование переводит значения модели из формата с высокой точностью в компактную сетку допустимых чисел. Веса к этому приспособить сравнительно легко: они известны заранее и не меняются между запросами. Активации возникают во время работы модели, причём отдельные каналы содержат выбросы, из-за которых большая часть доступной сетки расходуется неэффективно.
SmoothQuant решает эту проблему по статистике активаций, собранной на калибровочных примерах. Такой подход требует доступа к данным, похожим на будущие запросы. Это усложняет подготовку моделей для закрытых наборов данных, локальных устройств и продуктов, где распределение запросов меняется.
DualQuant использует для каждого блока весов два набора масштабов: по строкам и по столбцам. Алгоритм подбирает их так, чтобы минимизировать среднюю квадратичную ошибку между исходными и восстановленными весами. Масштаб строки учитывает диапазон значений внутри блока, а масштаб столбца ослабляет каналы, где крупные веса сильнее влияют на результат слоя.
Тот же столбцовый масштаб применяют к активациям перед квантованием. Поэтому алгоритму не нужно заранее видеть активации: параметры для их преобразования получаются как побочный результат оптимизации весов. В опытах вариант с обоими масштабами работал лучше, чем применение только строкового или только столбцового.
Масштабы подбираются блочным покоординатным спуском: алгоритм по очереди пересчитывает строки и столбцы по готовым формулам, затем снова квантует матрицу. Сам квантователь рассматривается как отдельный оператор, а найденные масштабы округляются до значений, разрешённых выбранным форматом. Благодаря этому одна схема работает с INT4, MXINT4, MXFP4 и NVFP4.
Реальная упаковка сохранила качество расчётов
Качество проверяли на моделях семейств Llama и Qwen. Для языкового моделирования использовали WikiText-2 и C4, а способность решать задачи оценивали без примеров в запросе. DualQuant сравнивали с калибруемым SmoothQuant и методами без калибровки QuaRot и SINQ+. В большинстве сочетаний моделей и форматов он достигал качества SmoothQuant или превосходил его, а особенно заметный разрыв получился на блочных форматах MX и NV.
Эти проверки охватывают несколько моделей и форматов, но реальный упакованный инференс авторы собрали для одного сценария: Llama-3.1-8B, INT4 и одна RTX 4090. Веса и активации хранились в четырёхбитном виде, а столбцовый масштаб встроили в ядро квантования активаций без отдельного запуска GPU-операции.
Ускорение относительно BF16 составило от 1,39 до 2,46 раза в зависимости от режима. Квантование активаций занимало 4,3–6,1% времени GPU. Разница в перплексии между математической имитацией квантования и упакованной реализацией составила 0,01; эта метрика показывает, насколько уверенно модель предсказывает следующий токен, и меньшее значение считается лучшим.
Практическая проверка важна, потому что результаты имитации не гарантируют ускорения. Формат может выглядеть компактным в эксперименте, но проигрывать из-за распаковки, дополнительных преобразований или отсутствия подходящих ядер. Здесь веса оставались упакованными, а служебные масштабы не потребовали отдельного прохода по GPU.
Когда DualQuant меняет план внедрения
Работа меняет план команд, которые откладывали совместное квантование весов и активаций из-за калибровочных данных. Теперь в технический прототип можно включить путь без пользовательских запросов: вычислить масштабы по статическим весам, упаковать модель и проверить качество на собственных задачах. Это снимает зависимость от репрезентативной выборки, но не отменяет регрессионные тесты продукта.
Главное условие — реальная поддержка четырёхбитных матричных операций. Если среда исполняет низкобитные веса через распаковку в BF16 или оставляет активации в высокой точности, сам алгоритм не обеспечит показанного выигрыша. Помимо преобразования модели понадобятся совместимые форматы упаковки и ядро, которое применяет столбцовые масштабы во время квантования активаций.
DualQuant пока стоит рассматривать как кандидат для отдельной ветки производительного инференса, а не как замену действующему контуру по умолчанию. Его практическое преимущество возникает там, где калибровочные данные дороги или недоступны, а целевой ускоритель уже умеет эффективно считать с низкой точностью. Для остальных систем сначала важнее проверить поддержку операций и стоимость интеграции ядра, а затем сравнивать качество модели.
Источники
Похоже на вашу задачу?
Расскажите, что собираете. За полчаса разложим на этапы и назовём сроки — это бесплатно и ни к чему не обязывает.



