Искусственный интеллект — это венец творения всей IT-индустрии. Ученые и разработчики годами бились за то, чтобы научить программный код мыслить практически также, как человек. И хоть мы еще не так близки к созданию искусственного интеллекта, который нельзя отличить от хода мыслей реальных людей, разработчики с каждым годом делают этот момент не будущим, а настоящим. Причем, передовые языковые модели, такие как Llama или DeepSeek с многомиллиардным количеством параметров, доступны не только крупным корпорациям и ученым, которые имеют высокопроизводительные ИИ-ускорители. Обычные пользователи, в распоряжении которых есть только видеокарты, тоже могут запускать новейшие нейросети — это возможно благодаря схемам квантизации LLM. В этой статье мы расскажем вам, что такое схемы квантирования нейросетей, для чего они применяются, а также подробно объясним особенности каждой из этих схем.
Зачем используется квантование?
Полноценные, мощные языковые модели имеют колоссальное количество параметров. Параметры — это переменные (биты или веса), которые нейросеть усваивает из базы данных в ходе своего обучения, впоследствии используя их как подсказки для формирования ответов. Обычно чем больше параметров имеет нейросеть, тем выше точность ее ответов. К примеру, передовая китайская нейросеть DeepSeek R1 имеет 671 миллиардов параметров, а языковая модель от компании Meta* под названием Llama* 4 Behemoth, которая применялась для обучения LLM Llama* 4 Maverick и Llama* 4 Scout, имеет колоссальные 2 триллиона параметров. Количество переменных в параметрах также определяет то, сколько весит модель искусственного интеллекта, например, даже для запуска DeepSeek R1 с полным объемом параметров в стандартной схеме квантизации Q4_K_M необходимо 404 ГБ видеопамяти. Для запуска такой тяжелой модели не обойтись без использования GPU-сервера из 3 ИИ-ускорителей Nvidia H200. Само собой, у обычных пользователей нет таких ресурсов для запуска передовых LLM, поэтому чтобы открыть им доступ к работе с новейшими нейросетями, существует технология квантирования.
Пример распределение весов модели с помощью квантизации нейросети и точной настройки. Источник: Github.
Квантирование (или квантизация, квантование) — это способ сжатия языковой модели по алгоритму, который позволяет уменьшить ее вес путем небольшой потери точности ответов, тем самым открывая возможность запуска нейросети на более широком спектре устройств. Уменьшение веса осуществляется путем изменения способа хранения параметров, меняя количество бит содержащихся в них, тем самым снижая объем стандартной модели в режиме FP16. Напомним, что формат вычислений FP16 (половинная точность) стал основным в сфере машинного обучения, сместив формат FP32 (полная точность). Стоит отметить, что квантизация не влияет на количество параметров модели напрямую, а лишь уменьшает количество весов, содержащихся в этих параметрах. Помимо уменьшения веса, квантование также позволяет увеличить скорость генерации результатов, снижает нагрузку на систему, увеличивает ее энергоэффективность. Если брать в качестве примера тот же DeepSeek R1 70b с потреблением VRAM 141 ГБ (FP16), то при квантовании Q4_K_M можно уменьшить объем нейросети до уровня потребления VRAM в 43 ГБ, при этом теряя всего 4% точности. Способы квантизации бывают разными — если в приведенном примере использовалась 4-битная квантизация, то в более агрессивных схемах квантования, вроде 3-битной или 2-битной, потеря точности может значительно увеличиваться. Квантирование нередко используется совместно с другими методами оптимизации языковых моделей, например, прунингом (удаление малозначимых весов), дистилляцией (перенос знаний из большой модели в меньшую) и кэшированием контекста. К примеру, модель DeepSeek R1 в схеме Q4_K_M сочетает квантование с прунингом 20% весов, что сокращает размер еще на 15%. Интересно, что для современных схем квантизации с индексом K существовали другие, ныне устаревшие методы, такие как Q4_0 и Q4_1, однако, из-за низкой точности они быстро вышли из обихода.
Индексация схем квантирования
Прежде чем переходить к обзору всех схем квантования, стоит разобраться, как они обозначаются.
Q — сокращение от Quantization (квантование).
цифра — количество бит на единицу вес (например, Q2 = 2 бита, Q3 = 3 бита).
K — обозначение группового квантования (от "k-quants"). При групповом квантовании веса модели делятся на небольшие группы (блоки), например, по 64 веса в блоке. Для каждой группы определяется свой метод квантования.
S (Small) — малые группы по 32–64 весов. Требуют меньше видеопамяти, но точность вычислений ниже.
M (Medium) — средние группы по 64–128 весов. Баланс между размером модели и ее точностью, считается наиболее оптимальным вариантом и все передовые LLM используют групповое квантование M.
L (Large) — большие группы по 128+ весов. Требуют больше памяти при сохранении высокой точности.
Что такое смешанная точность?
Смешанная точность (смещение весов или ассиметричное квантование) — это особый метод квантизации нейросетей, который позволяет использовать разные уровни квантования для разных частей нейронной сети. Например, веса могут быть квантованы с использованием 8 бит, а при активации (инференсе) языковой модели – с использованием 4 бит. Это позволяет достичь более тонкой настройки и баланса между точностью и производительностью модели. В свою очередь, схемы квантования, которые не используют смещение весов, называются симметричными. Важно понимать, что для использования смешанной точности требуются использовать дополнительные данные из базы знаний, что затрудняет сжатие языковых моделей, обученных на закрытых датасетах. Смешанная точность активно применяется во всех нейросетях на архитектуре MoE, например, нейросетях семейства Qwen 3, DeepSeek R1 и V3, а также Llama* 4.
Q2_K (2-битное групповое квантование)
Q2_K — это 2-битная схема квантования 4 уровня, в которой веса делятся на блоки по 16-32 элементов. У схемы Q2_K в каждом блоке хранится по 8-16 бит данных, а также возможно использование смещения по 8-16 бит. Такая схема может поддерживать максимальное сжатие количества весов до 4 раз от размера FP16, что позволяет добиться максимально компактного веса и экономии 25% памяти устройства от потребления неквантизированных LLM. Благодаря этому, Q2_K часто используется для квантизации нейросетей, интегрируемых в крайне слабые устройства, например, одноплатные компьютерах Raspberry Pi Zero. Схема кванизации Q2_K применяется в модели TinyLLaMA* с 1 миллиардом параметров, а также других языковых моделях для компактных мобильных приложений. Однако, из-за сильного сжатия, Q2_K сильно снижает точность нейросетей. Еще один недостаток такого агрессивной квантизации — оно может вызывать повторяющиеся фразы или логические ошибки в длинных текстах, а также нередко модели со схемой квантизации Q2_K ( в том числе Q3_K ) начинают сильно галлюцинировать.
Q3_K (3-битное групповое квантование)
Q3_K — это 3-битная схема квантования 8 уровня, поддерживающая группировки Q3_K_S (блоки по 16 весов), Q3_K_M: (блоки по 32 веса) и Q3_K_L: (блоки по 64 веса). Имеет масштаб от 6 до 8 бит на один блок. Обычно в Q3_K не используется смещение ввиду минимального прироста производительности. Q3_K, по сути, обеспечивает баланс между размером модели (22% экономия памяти от Q4_K) и ее точностью (снижение всего на 3-5% по бенчмарку perplexity), что особенно полезно при интеграции нейросетей в мобильные приложения, по типу чат-ботов для смартфонов. Также схему Q3_K часто можно встретить у квантизированных нейросетей среднего размера с 7-10 миллиардов параметров, например, LLaMA-7B или Alpaca в формате Q3_K_M. Схема квантизации Q3_K является отправной точкой для моделей искусственного интеллекта, которые можно локально развертывать на пользовательских персональных компьютерах и более мощном оборудовании.
Q4_K (4-битное групповое квантование)
Q4_K — одна из самых популярных схем квантизации 16 уровня с 4 битами на вес. Поддерживает группировки Q4_K_S: (блоки по 32 веса), Q4_K_L: (блоки по 128 весов) и Q4_K_M: (блоки по 64 веса), которую можно встретить в большинстве современных языковых моделей. Имеет масштаб в 6 бит на один блок и нередко добавляются 4-битные смещения для асимметричного квантования. Благодаря наиболее оптимальному балансу, Q4_K отлично справляется с выполнением широкого круга задач, а также применяется для развертывания LLM на десктопных устройствах. Q4_K встречается во всех типах языковых моделей. Например, Q4_K можно увидеть в Qwen 3 235b, так и Gemma 3 4b. Схема Q4_K сохраняет до 95% точности от точности режима FP16, но экономит меньше памяти, нежели Q3_K.
Q5_K (5-битное групповое квантование)
Q5_K — менее распространенная схема квантования 32 уровня, чем Q4_K, использующая 5 бит на вес. Такая схема поддерживает группировки Q5_K_S: (блоки по 64 веса) и Q5_K_M: (блоки по 128 весов), а использование больших группировок недоступно. Имеет 8 бит на один блок, а смешанная точность практически не используется. Схема Q5_K в первую очередь необходима для сохранения максимальной точности модели при небольшом сжатии весов нейросети. Ввиду этого, Q5_K недоступна для развертывания на компактных устройствах — только для мощных серверных графических и центральных процессорах. Обычно Q5_K применяется в таких моделях, как LLaMA-2-70B, Falcon-40B, DeepSeek R1-70b и других нейросетях с количеством параметров, не превышающее 70b. Q5_K обеспечивает высочайшую точность, которая практически эквивалентна точности в режиме вычислений FP16, однако, сократить размер нейросети получится лишь до 2-2,5 раз от ее номинального размера. У схемы квантизации Q5_K есть серьезный минус — аппаратная зависимость. Дело в том, что она оптимизирована под архитектуру Nvidia Tensor Cores и может работать хуже на GPU или CPU от других компаний без использования специальных программных стеков, в частности, ROCm от компании AMD.
Q6_K (6-битное квантование)
Q6_K — это схема квантования 64 уровня, которая практически не меняет размер модели и сохраняет наивысшую точность, не отличимую от оригинальной, неквантизированной LLM в режиме FP16. Q6_K имеет 6 бит на вес с блоками по 256 весов. Поддерживает масштаб 8 –16 бит и не требует смещения ввиду оригинальной высочайшей производительности. Благодаря сохранению практически полной точности на уровне FP16 и сжатии всего в 1,5 раз, Q6_K редко применяется в коммерческих инфраструктурах или пользовательских приложениях — ее сфера применения не выходит за рамки научных вычислений или сред разработчиков LLM. Примечательно, что нейросети со схемой квантизации Q6_K применяются при тонкой настройке и обучении с дистилляцией других, более легковесных нейросетей. Для развертывания больших языковы моделей в Q6_K в недостаточно стандартных систем — необходимы полноценные ИИ-кластеры с большим количеством мощных графических ускорителей. Примером такой модели может послужить Llama* 4 Behemoth c 1,2 триллионом параметров.
Q8_K (8-битное квантование)
Q8_K — схема квантования 256 уровня с 8 битами на вес. По сути, данная схема практически эквивалентна по хранению весов с форматом INT 8, но имеет групповую оптимизацию на все блоки, (например, 256 элементов), как и в других схемах серии K. В каждом блоке хранятся 8-битные квантовые значения в масштабе 16-бит. Смещение опционально, но почти не используется. Q8_K обеспечивает самое минимальное снижение точности на уровне менее 1% от режима FP16, что делает эту схему практически полностью прозрачной, при этом минимально уменьшая вес модели (сжатие на уровне 2 раз). Q8_K доступна в стандартных репозиториях и подразумевают максимальную точность при инференсе LLM.
Как выбрать схему квантизации?
Поделимся небольшим советом о том, какие схемы квантизации языковых моделей лучше всего выбирать для решения определенных типов задач:
Для GPU с менее 6 ГБ VRAM: Q2_K_S (эксперименты с максимально облегченными моделями)
Для GPU с 6 ГБ VRAM: Q3_K_M (баланс скорости и памяти для повседневных задач).
Для GPU с 8 ГБ VRAM: Q4_K_M (оптимально для 7b-13b моделей).
Для GPU с 16 ГБ VRAM: Q4_K_L (развертывание моделей размером около 24b)
Для GPU с 32 ГБ VRAM: Q5_K_M: (инференс языковых моделей объемом до 70b)
GPU и ИИ-серверов с 80 ГБ VRAM и выше: Q6_K и Q8_K (запуск LLM почти с полным объемом параметров)
Важно понимать, что при выборе схемы квантизации языковых моделей, нужно обращать внимание на количество видеопамяти — чем больший размер модели вы планируете запускать на своем устройстве, тем более мощные графические ускорители вам понадобятся. Если перед вами стоит вопрос выбора нейросети с малым количеством параметром и без квантизации, или большую языковую модель со сжатыми параметрами благодаря квантизации, то лучшим выбором будет второй вариант. Квантизация позволяет уменьшить объем весов модели, при этом сохранив высокую точность, а также вам доступна вариативность в выборе подходящей схемы квантизации. В свою очередь, малые языковые модели хоть и более стабильны, но их точность будет не так велика, поскольку исходный датасет при обучении был меньше, нежели чем у больших языковых моделей.
Инструменты и библиотеки для квантизации
Для применения квантизации на практике разработчики используют специализированные фреймворки и библиотеки. Например:
llama.cpp — популярный инструмент для квантизации моделей семейства LLaMA*, поддерживающий все схемы от Q2_K до Q8_K.
Hugging Face Transformers — библиотека с интеграцией методов квантизации через модуль bitsandbytes, позволяющая сжимать модели до 4 бит.
TensorFlow Lite и PyTorch Quantization — предоставляют API для посттренировочного квантования и quantization-aware training (QAT).
GGML — тензорная библиотека для машинного обучения, оптимизированная для работы с квантованными моделями на CPU и GPU.
Эти инструменты автоматизируют процесс сжатия, позволяя выбирать схемы квантизации через простые конфигурации.
Будущее квантования
Схемы квантования не монолитны и множество разработчиков со всего мира активно занимаются созданием новейших систем для сжатия передовых нейросетей. Наибольший интерес вызывают алгоритмы, которые обеспечивают так называемое адаптивное квантование. При такой схеме, квантизированные LLM будут самостоятельно выбирать битность для каждой задачи, например, для повышения точности или внимания. Благодаря этому нейросети смогут адаптироваться под запросы пользователя, при этом не перестраивая свою архитектуру, что кратно увеличит производительность языковых моделей с умеренным количеством параметров (7, 14, 32 миллиардов). Также в ближайшем будущем можно ожидать особые алгоритмы квантизации без необходимости ввода данных. Такие системы уже есть — алгоритмы вроде OmniQuant калибруют модель под определенные задачи без обращения к исходному датасету, генерируя данные прямо в процессе настройки. Как вы могли заметить, мы не упомянули 1-битные схемы квантизации, и не просто так. В наше время они практически не используются ввиду падения точности более чем на 50%, поэтому такие алгоритмы еще требуют серьезной доработки. Но ученые и разработчики активно занимаются экспериментами с бинаризацией весов, что позволит достигнуть 32-кратного сокращения веса нейросетей, при этом оптимизировав точность ответов. Квантование с обучением (или QAT) является еще одним перспективным методом сжатия нейросетей. В отличие от посттренировочного квантования, которое помечается индексом “I”, QAT предполагает обучение модели с имитацией квантованных весов на этапе тренировки. Это позволяет нейросети адаптироваться к потере точности, сохраняя до 99% производительности даже при агрессивном сжатии (например, 4 бита). Метод особенно полезен для моделей, развертываемых на мобильных устройствах, где критичен баланс между размером нейросети и качеством ответов.
Выводы
Квантизация нейросетей — это не просто одна из множества технологий, имеющихся в арсенале разработчиков языковых моделей. Благодаря квантизации даже обычные пользователи, интересующиеся нейросетями, могут повседневно применять передовые модели искусственного интеллекта, выполняя широкий спектр задач — от поиска информации до ответов на сложнейшие вопросы. Причем, эта технология постоянно развивается и с каждым годом появляются все более и более производительные LLM, сжатые настолько, что их можно запускать даже на смартфонах или слабых ПК.
*LLAMA — проект Meta Platforms Inc.**, деятельность которой в России признана экстремистской и запрещена
**Деятельность Meta Platforms Inc. в России признана экстремистской и запрещена
Сейчас тут ничего нет. Ваш комментарий может стать первым.
Получите скидку 3 000 рублей или бесплатную доставку за подписку на новости*!
* — скидка предоставляется при покупке от 30 000 рублей, в ином случае предусмотрена бесплатная доставка.
Мы получили ваш отзыв!
Он появится на сайте после модерации.
Мы получили ваш отзыв!
Он появится на сайте после модерации.
Продолжная использовать наш сайт, вы даете согласие на использование файлов Cookie, пользовательских данных (IP-адрес, вид операционной системы, тип браузера, сведения о местоположении, источник, откуда пришел на сайт пользователь, с какого сайта или по какой рекламе, какие страницы
открывает и на какие страницы нажимает пользователь) в целях функционирования сайта, проведения статистических исследований и обзоров. Если вы не хотите, чтобы ваши данные обрабатывались, покиньте сайт.