Новый метод с открытым исходным кодом от Huawei уменьшает языковые модели для повышения их доступности
Лаборатория вычислительных систем Huawei в Цюрихе представила новый метод квантования с открытым исходным кодом для больших языковых моделей (LLM), направленный на снижение требований к памяти без ущерба для качества генерации.
Метод, получивший название SINQ (Sinkhorn-Normalized Quantization), разработан как быстрый, не требующий калибровки и простой в интеграции в существующие рабочие процессы моделей. Код для его реализации был опубликован исследовательской группой Huawei на Github и Hugging Face под мягкой, дружественной к бизнесу лицензией Apache 2.0, что позволяет организациям брать его, использовать, модифицировать и развертывать в коммерческих целях — и всё это абсолютно бесплатно.
Для моделей разного размера SINQ сокращает потребление памяти на 60–70% в зависимости от архитектуры и разрядности.
Это позволяет запускать модели, которым раньше требовалось >60 ГБ памяти, на конфигурациях с ~20 ГБ, что является критически важным фактором для работы с большими моделями на одном высокопроизводительном графическом процессоре или даже на потребительских сборках с несколькими видеокартами.
Благодаря этому становится возможным запуск моделей, ранее требовавших дорогостоящих корпоративных GPU — таких как NVIDIA A100 или H100, — на значительно более доступном оборудовании, например, на одной Nvidia GeForce RTX 4090 (около $1600), вместо корпоративного железа вроде A100 80GB ($19,000) или даже устройств H100, стоимость которых превышает $30 000.
Для команд, использующих облачную инфраструктуру, экономия столь же ощутима. Инстансы на базе A100 часто стоят $3–4,50 в час, в то время как 24-гигабайтные GPU, такие как RTX 4090, доступны на многих платформах по цене $1–1,50 в час.
Со временем, особенно при выполнении масштабных задач инференса, эта разница может вылиться в тысячи долларов экономии, а также открыть возможности для развертывания LLM на небольших кластерах, локальных рабочих станциях или потребительских ПК, ранее ограниченных объемами памяти.
Решение проблемы дефицита памяти в LLM
Запуск больших моделей часто требует компромиссов между производительностью и размером.
На практике нейросети используют числа с плавающей запятой для представления как весов, так и активаций. Число с плавающей запятой способно выражать широкий диапазон значений (очень малые, очень большие, с дробной частью).
Эта гибкость полезна тем, что в процессе обучения и инференса веса и активации могут существенно изменяться в масштабе. Использование плавающей запятой позволяет модели подстраиваться с высокой точностью (например, вес может составлять 0,0023 или 123,45, и формат с плавающей запятой может зафиксировать оба значения с приемлемой точностью).
Квантование — метод, снижающий точность весов модели, — предлагает практический путь к уменьшению потребления памяти, но обычно сопряжено с компромиссами в качестве модели, особенно при 4-битной точности и ниже.
Когда вы преобразуете значения с плавающей запятой в форматы более низкой точности (например, 8-битные целые числа), вы производите их аппроксимацию.
Это означает, что вы храните данные и производите вычисления с меньшим количеством бит, что быстрее и эффективнее с точки зрения памяти, но вы рискуете потерять точность (то есть внести небольшие ошибки).
Вся хитрость заключается в том, чтобы выполнить преобразование аккуратно, сохранив поведение модели практически неизменным, несмотря на то, что внутренне она работает с более грубыми приближениями этих весов и активаций.
SINQ решает эти проблемы, предлагая готовое решение по принципу «plug-and-play», которое обеспечивает высокую производительность даже в условиях низкой точности — без необходимости использования калибровочных данных или межслойных зависимостей.
Как работает SINQ
Подход SINQ предлагает два главных нововведения:
-
Масштабирование по двум осям (Dual-Axis Scaling): Вместо использования единого масштабного коэффициента для квантования матрицы SINQ применяет раздельные векторизованные коэффициенты масштабирования для строк и столбцов. Это помогает смягчить влияние выбросов и позволяет более гибко распределять ошибку квантования по всей матрице.
-
Нормализация в стиле Синхорна — Кноппа (Sinkhorn-Knopp-Style Normalization): Быстрый алгоритм, вдохновленный итерациями Синхорна, используется для нормализации стандартных отклонений строк и столбцов в матрице. Это помогает минимизировать то, что авторы называют «дисбалансом матрицы» — новую прокси-метрику, которая оказалась более эффективной, чем альтернативы вроде эксцесса, для улучшения производительности квантования.
Сочетание этих двух особенностей позволяет SINQ превосходить другие методы без калибровки, такие как Round-To-Nearest (RTN), HQQ и квантование на основе матриц Адамара, на множестве бенчмарков.
Производительность и совместимость
SINQ был протестирован на широком спектре архитектур и моделей, включая серии Qwen3, LLaMA и DeepSeek.
На таких бенчмарках, как WikiText2 и C4, SINQ стабильно снижает перплексию (perplexity) и частоту сбоев (flip rates) по сравнению с базовыми методами, часто приближаясь к производительности откалиброванных решений или соответствуя ей.
Он также поддерживает схемы неравномерного квантования, такие как NF4, и может комбинироваться с методами калибровки, например AWQ, образуя вариант A-SINQ. В условиях калибровки A-SINQ еще сильнее сокращает отставание от моделей полной точности.
С точки зрения эффективности выполнения, SINQ квантует модели примерно в два раза быстрее, чем HQQ, и более чем в 30 раз быстрее, чем AWQ. Это делает его отличным выбором как для исследовательских, так и для производственных сред, где время квантования имеет практическое значение.
Открытый исходный код и простота использования
Huawei выпустила SINQ как проект с открытым исходным кодом под мягкой, дружественной к бизнесу лицензией Apache 2.0. Инструкции по реализации и инструменты для обеспечения воспроизводимости доступны на GitHub:
Репозиторий включает поддержку квантования моделей Hugging Face всего в несколько строк кода, а также инструменты для сохранения и перезагрузки квантованных весов. Настройки по умолчанию обеспечивают баланс между экономией памяти и точностью, при этом пользователи могут настраивать такие параметры, как битовая ширина, стратегия тайлинга (tiling) и размер группы, в соответствии со своими потребностями.
Авторы также предоставляют интеграцию для оценки через библиотеку lm-eval и планируют в ближайшем будущем выпустить предварительно квантованные модели на платформе Hugging Face Hub.
Взгляд в будущее
В условиях растущего спроса на запуск больших моделей на потребительском оборудовании квантование становится важнейшим инструментом. SINQ призван снизить порог входа для развертывания LLM, позволяя разработчикам и исследователям эффективно уменьшать размер моделей без существенных компромиссов в качестве или совместимости.
В дальнейшем планируются новые обновления, включая интеграцию с Hugging Face Transformers и выпуск предварительно квантованных моделей, что делает этот проект крайне перспективным в сфере квантования.



