Лабораторія обчислювальних систем Huawei у Цюриху представила новий відкритий метод квантування для великих мовних моделей (LLM), який дозволяє суттєво знизити потребу в пам’яті без втрати якості результатів.
Ця техніка, названа SINQ (Sinkhorn-Normalized Quantization), створена з акцентом на швидкість, відсутність потреби в калібруванні та простоту інтеграції в наявні робочі процеси моделей. Код для її реалізації команда Huawei виклала на GitHub і Hugging Face під відкритою, зручною для корпоративного використання ліцензією Apache 2.0, що дозволяє організаціям вільно використовувати, змінювати та комерційно розгортати розробку.
Залежно від архітектури та розрядності, SINQ скорочує споживання пам’яті на 60–70%.
Це означає, що моделі, яким раніше потрібно було понад 60 ГБ пам’яті, тепер можуть працювати на конфігураціях із близько 20 ГБ – важливий крок до запуску великих моделей на одному потужному, але споживчому GPU або кількох недорогих відеокартах.
Таким чином, моделі, які раніше вимагали корпоративних GPU рівня NVIDIA A100 або H100, тепер можна запускати на значно доступнішому обладнанні – наприклад, на NVIDIA GeForce RTX 4090 (приблизно $1600) замість A100 80GB (близько $19 000) чи навіть H100, вартість яких перевищує $30 000.
Для команд, що працюють у хмарних інфраструктурах, економія також відчутна. Екземпляри на базі A100 коштують $3–4,50 за годину, тоді як GPU з 24 ГБ пам’яті, як-от RTX 4090, доступні на багатьох платформах за $1–1,50 за годину.
З часом, особливо для тривалих процесів інференсу, це може зменшити витрати на тисячі доларів, а також дає змогу розгортати LLM на менших кластерах, локальних робочих станціях або споживчому обладнанні, яке раніше обмежувалося нестачею пам’яті.
Подолання проблеми пам’яті у LLM
Запуск великих моделей часто вимагає компромісу між продуктивністю та розміром.
На практиці нейронні мережі використовують числа з плаваючою комою (floating-point) для представлення ваг і активацій. Вони можуть охоплювати величезний діапазон значень — від дуже малих до дуже великих, з десятковими частинами.
Ця гнучкість корисна, оскільки під час тренування й інференсу значення ваг можуть змінюватися в масштабі на кілька порядків. Використання floating-point дозволяє моделі тонко підлаштовуватися. Наприклад, вага може дорівнювати 0.0023 або 123.45 – і обидва значення зберігаються з достатньою точністю.
Квантування – це метод, який зменшує точність чисел у моделі, щоб скоротити обсяг пам’яті. Однак це зазвичай призводить до компромісів у якості, особливо при 4-бітній точності або нижче.
Під час конвертації цих чисел у формат нижчої розрядності (наприклад, 8-бітні цілі числа) відбувається апроксимація.
Тобто зберігається менше бітів, що робить обчислення швидшими та менш вимогливими до пам’яті, але може призвести до втрати точності.
Завдання полягає в тому, щоб зробити цю конверсію так, аби поведінка моделі залишалася практично незмінною, навіть якщо всередині вона працює з грубішими наближеннями ваг і активацій.
SINQ вирішує ці проблеми, пропонуючи готове рішення з високою продуктивністю навіть у режимах низької точності – без потреби в калібрувальних даних або складних міжшарових залежностях.
Як працює SINQ
Підхід SINQ базується на двох основних новаціях:
-
Двовісне масштабування (Dual-Axis Scaling): замість одного коефіцієнта масштабування для всієї матриці SINQ використовує окремі вектори масштабування для рядків і стовпців. Це зменшує вплив викидів і дозволяє гнучкіше розподіляти похибку квантування.
-
Нормалізація за принципом Sinkhorn-Knopp: швидкий алгоритм, натхненний ітераціями Сінкгорна, використовується для нормалізації стандартних відхилень рядків і стовпців у матриці. Це допомагає мінімізувати так званий «дисбаланс матриці» — нову метрику, яка виявилася ефективнішою за традиційні показники, як-от ексцес, у підвищенні точності квантування.
Комбінація цих двох підходів дозволяє SINQ перевершувати інші безкалібрувальні техніки, зокрема RTN, HQQ та методи на основі перетворення Адамара, за багатьма показниками.
Продуктивність і сумісність
SINQ було протестовано на широкому спектрі архітектур і моделей, включно з Qwen3, LLaMA та DeepSeek.
На бенчмарках, як-от WikiText2 та C4, SINQ стабільно знижує перплексію та flip rate порівняно з базовими методами, часто наближаючись або навіть досягаючи результатів каліброваних рішень.
Метод підтримує також неоднорідні схеми квантування, наприклад NF4, і може поєднуватися з калібруванням AWQ, утворюючи варіант A-SINQ. У каліброваних налаштуваннях A-SINQ ще більше зменшує розрив із моделями повної точності.
Щодо швидкодії, SINQ квантує моделі приблизно удвічі швидше за HQQ і понад у 30 разів швидше за AWQ, що робить його придатним як для наукових експериментів, так і для промислового використання, де час квантування є критичним фактором.
Відкритий код і простота використання
Huawei опублікувала SINQ як відкритий проєкт під ліцензією Apache 2.0, із детальними інструкціями з реалізації та інструментами для відтворюваності на GitHub.
Репозиторій містить підтримку квантування моделей Hugging Face кількома рядками коду, а також інструменти для збереження та повторного завантаження квантизованих ваг.
Параметри за замовчуванням забезпечують баланс між економією пам’яті та точністю, але користувачі можуть налаштовувати розрядність, стратегію розбиття на блоки й розмір груп залежно від власних потреб.
Розробники також додали інтеграцію для оцінювання через бібліотеку lm-eval та планують у майбутньому викласти попередньо квантизовані моделі на Hugging Face Hub.
Перспективи
Зі зростанням попиту на запуск великих моделей на споживчому обладнанні квантування стає ключовим інструментом. SINQ прагне знизити бар’єр входу для розгортання LLM, дозволяючи розробникам і дослідникам ефективно стискати моделі без суттєвих втрат у якості чи сумісності.
Очікуються подальші оновлення, зокрема інтеграція з Hugging Face Transformers і публікація попередньо квантизованих моделей, що робить SINQ одним із найперспективніших проєктів у галузі квантування.