GPU для исследований в ML · Криптооплата без KYC
IteraGPU
Метод / Точность и компромиссы

Выбирайте квантизацию по результатам, а не по битам.

Квантование полезно, если оно сохраняет ваше качество и при этом улучшает реальное ограничение: память, задержку или задействованный бюджет. Сравните его с эталоном на тех же входных данных, а затем отдельно зафиксируйте формат весов, точность вычислений и кэш. Файл, заявленный как четырёхбитный, не означает, что всё выполнение использует четыре бита или что оно будет быстрее. Решение должно оставаться привязанным к измеренной нагрузке.

01 /

Описать вариант за пределами числа битов

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

В bitsandbytes квантованные линейные слои заменяют некоторые обычные слои; остальные модули следуют своему настроенному dtype. Поэтому это поведение само по себе не описывает пик процесса. Прочитайте фактическую конфигурацию после загрузки, затем проверьте, что вариант действительно выполняет ожидаемую обработку, а не иной программный откат.

Минимальный манифест для сравнения двух квантованных артефактов
ПолеЧто нужно сохранитьКакую путаницу это исключает
ПроисхождениеМодель, ревизия, tokenizer, метод и версииСравнение двух разных моделей под одним именем
ВесаФормат, биты, группы и исключённые модулиОтождествление четырёх битов с единственным рецептом
ВычисленияDtype, ядра и устройства, реально используемыеСмешение хранения и выполнения
ГенерацияКэш, контекст, ограничения вывода и конкурентностьПриписывание весам эффекта, вызванного кэшем
ИзготовлениеВозможная калибровка и ревизия данныхЗабывание того, как артефакт был создан

Технические источники: Hugging Face Transformers 5.17 — квантованные слои и прочие dtype

02 /

Разделять калибровку и оценку

Некоторые методы используют примеры для подготовки квантования. Описанная в Transformers процедура GPTQ, в частности, требует набора для калибровки и tokenizer. Этот набор участвует в создании артефакта: он не является независимым доказательством качества. Другие методы идут иным путём; не предполагайте, что один и тот же протокол калибровки применим ко всем форматам.

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

Технические источники: Hugging Face Transformers 5.17 — калибровка квантования GPTQ · Строить разбиения по их роли

03 /

Вычислить границу по весам, не выдавая её за пик

Возьмём вымышленную модель с тремя миллиардами параметров, все из которых хранятся с одинаковым числом битов. Сырой объём вычисляется как параметры × биты / 8. При 16 битах получаем 6 миллиардов байт; при 8 битах — 3 миллиарда; при 4 битах — 1,5 миллиарда. Эти числа — иллюстративная арифметика, а не наблюдаемые размеры артефакта и не потребности исполняемой модели.

Сырая разница между 16 и 4 битами составляет 4,5 ГБ, то есть примерно 4,191 ГиБ. Она исключает масштабы, метаданные, неквантованные модули, кэш и временные данные. Она позволяет сформулировать гипотезу о памяти, которую нужно проверить, но не предсказывает деление пика на четыре. В материале о памяти объясняется, как разделять фазы и интерпретировать счётчики.

Сырой объём в байтах = параметры × биты / 8. Объём в ГиБ = байты / 2³⁰.
Иллюстративный расчёт для 3 миллиардов параметров, хранимых единообразно — без дополнительных издержек
Предполагаемый форматСырые байтыДесятичные ГБПримерно GiB
16 бит6 000 000 00065,588
8 бит3 000 000 00032,794
4 бита1 500 000 0001,51,397

Технические источники: NIST — двоичные и десятичные приставки · IteraGPU — оценки и пики памяти

04 /

Меняйте веса прежде, чем менять кэш

Начните с эталона, поведение которого вам известно. Затем сравните варианты весов с тем же кэшем, теми же длинами, тем же батчем или той же конкурентностью. Если вы также меняете эти параметры, вы сравниваете полные конфигурации: заявите об этом и не приписывайте всю разницу квантованию весов.

Сам KV-кэш тоже можно квантовать, когда это позволяют модель и движок. Это отдельный выбор. В документации Transformers, в частности, отмечается, что квантованный кэш может ухудшить задержку для коротких контекстов, когда памяти ещё достаточно. Проверяйте это второе изменение в отдельной серии; больше сэкономленной памяти не гарантирует лучшего времени отклика.

Технические источники: Hugging Face Transformers 5.17 — квантованный KV-кэш и компромисс по задержке

05 /

Пример правила качества: небольшое снижение может оставаться недопустимым

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

Приведённые ниже вымышленные значения делают A допустимым по обоим правилам: 94 % вместо 95 % и 18/20 в критической группе. B не проходит по обоим. Пока нельзя объявить A победителем: не указаны ни пиковая память, ни длительность. Кроме того, итоговые суммы не показывают, какие документы изменились; изучайте парные ошибки, чтобы выявить новые существенные регрессии.

Потеря A = 95 − 94 = 1 пункт; потеря B = 95 − 92 = 3 пункта. Один процентный пункт — это не относительное снижение на 1 %.
Вымышленные показатели качества для пояснения порогов; производительность GPU не измерялась
ВариантПринятые документыОбщий показательПринятые критические случаиВердикт по этим правилам
Эталон190 / 20095 %19 / 20 = 95 %Точка сравнения
A188 / 20094 %18 / 20 = 90 %Допустимо по качеству
B184 / 20092 %16 / 20 = 80 %Отклонено

Технические источники: Изучайте ошибки, а не только итог

06 /

Проведите сравнение, различия в котором объяснимы

Сначала подготовьте контракт сравнения, затем файлы результатов. Следующий протокол нужно выполнить на вашей нагрузке; предыдущие цифры его не заменяют. Если вариант не загружается или не имеет требуемых операторов, сохраните этот сбой как информацию о совместимости.

  • Зафиксируйте корпус, эталоны, модель, tokenizer, промпт и правила вывода; сохраняйте длинные и сложные случаи идентифицируемыми.
  • Задокументируйте калибровку, экспортированный артефакт и фактическую конфигурацию. Проверьте используемые устройства и возможные передачи CPU/GPU.
  • Разделяйте изготовление, загрузку, прогрев и стабилизированную обработку. Используйте одинаковые границы измерений и сохраняйте необработанные повторения.
  • Фиксируйте пик по каждому устройству и по каждой фазе; храните allocated и reserved раздельно. Не суммируйте эти счётчики и не вычитайте их независимые максимумы.
  • Оценивайте формат, содержание и согласованные подгруппы, затем сопоставляйте ошибки по идентификатору.
  • Перезагрузите выбранный артефакт в новом процессе и воспроизведите заданную проверку. Результат, полученный до экспорта, автоматически не подтверждает перезагрузку.

Технические источники: Правильно измеряйте память · Определите повторения и хронометраж

07 /

Свяжите компромисс с понесёнными затратами

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

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

Если одна аренда служит для сравнения нескольких вариантов, её сумма — это общие расходы кампании. Не приписывайте мысленно весь тариф каждому варианту и не складывайте затем эти суммы как отдельные реальные расходы. Для аналитического распределения объявите соглашение; оно не меняет общую понесённую сумму.

Технические источники: IteraGPU — полный тариф и стоимость одного эксперимента

08 /

Завершите выводом о конфигурации и её ограничениях

Итоговое решение называет артефакт, среду, охваченную нагрузку, пройденный критерий качества и улучшенное ограничение. Если варианты близки, сохраните эту неопределённость и отдайте предпочтение выбору, который вы умеете перезагружать и объяснять. Количество бит само по себе не является порядком предпочтения.

Вывод, сделанный на коротком корпусе, не переносится автоматически на длинные контексты, другой язык или большее число одновременных запросов. Квантование, выбранное для инференса, также не определяет обучаемые параметры дообучения. Держите эти вопросы раздельно и подтверждайте выбранный вариант на отложенном тесте.

Практические вопросы

Всегда ли четыре бита потребляют в четыре раза меньше памяти, чем шестнадцать?

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

Могу ли я калибровать квантование на финальном тесте?

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

Всегда ли меньший вариант дешевле в эксплуатации?

Нет. Бюджет зависит от периода и задействованных партий, от подготовки и принятых полезных результатов. Сокращение памяти без изменения этих элементов может улучшить маржу, не уменьшая сумму аренды.