Содержание
Вы открываете Hugging Face, чтобы запустить локальную LLM, и у одной и той же модели — целая стена файлов: Q4_K_M, Q5_K_S, GPTQ, AWQ, IQ3_M… и вы застываете. Это первая стена, о которую спотыкается большинство. Эта статья практически отвечает на вопрос «какой квантованный файл скачать, чтобы модель просто заработала?». Тему что такое квантование (сама концепция) мы оставляем другой статье, а здесь сосредоточимся на выборе формата.
Мы разберём почему формат задаётся движком, схему именования GGUF (Q4_K_M), сравнение 4 форматов, как выбрать битность и как искать файлы. Главное — сразу. ① Формат в основном определяется тем, «на каком движке вы будете запускать» (GGUF = llama.cpp/Ollama; GPTQ/AWQ = GPU-движки вроде vLLM). ② Q4_K_M означает «4 бита, K-quant, размер M» — в большинстве случаев это оптимальная золотая середина. ③ Если сомневаетесь, начните с Q4_K_M; поднимайтесь до Q5/Q6, если хватает VRAM.
Формат задаётся движком
— сначала определите движок, и выбор файла быстро сузится
GGUF
llama.cpp / Ollama / LM Studio = CPU, Mac, частично GPU тоже (единственный дружелюбный к CPU)
GPTQ
vLLM / TGI / ExLlama = GPU (нужна калибровка)
AWQ
vLLM / TGI = GPU (защищает значимые веса через активации)
EXL2
ExLlamaV2 = GPU (тонкая настройка битности)
Поэтому первый вопрос — «на каком движке я буду это запускать?» Локально на CPU/Mac → GGUF. GPU-сервер ради скорости → GPTQ/AWQ.
1. Почему квантованные файлы сбивают с толку
Квантование означает округление весов модели до меньшего числа бит, чтобы сократить размер и объём памяти (см. что такое квантование). Загвоздка в том, что для этого округления есть несколько методов (форматов), и у каждого — множество вариаций по битности и зернистости. Итог: два десятка с лишним файлов под одной моделью на Hugging Face.
Но не переживайте — выбор становится простым, стоит разбить его на два шага: ① какой формат (= на каком движке будете запускать), затем ② какой файл по битности внутри него. Думайте именно в таком порядке.
2. Ключевое правило: формат задаётся движком
Самый важный факт: квантованный файл запускается только на движках, поддерживающих его формат. Поэтому сначала определите движок — и формат почти сам собой напрашивается.
| Формат | Основные движки | Оборудование | Калибровка |
|---|---|---|---|
| GGUF | llama.cpp / Ollama / LM Studio / KoboldCpp | CPU, Mac, частично GPU (смешанно) | Опционально (imatrix) |
| GPTQ | GPTQModel (ранее AutoGPTQ) / vLLM / TGI / ExLlama | GPU | Обязательна |
| AWQ | AutoAWQ / vLLM / TGI | GPU | Обязательна |
| EXL2 / EXL3 | ExLlamaV2 / ExLlamaV3 | GPU | Обязательна |
| bitsandbytes (NF4/INT8) | Transformers (квантует при загрузке) | GPU | Нет (без данных) |
Запомните одно: GGUF — единственный «локальный универсал», который работает на CPU / Mac / частично GPU; остальные (GPTQ/AWQ/EXL2) по сути только для GPU. Поэтому —
- Запуск на своём ПК / Mac / CPU (Ollama или LM Studio) → GGUF, без вариантов.
- Высокая пропускная способность на GPU-сервере (vLLM/TGI, обслуживание множества запросов) → GPTQ или AWQ.
- Тонкая подгонка битности на одной GPU → EXL2/EXL3.
- Быстрая проверка в Transformers (без готового квантованного файла) → bitsandbytes (NF4).
3. Расшифровка имён GGUF (Q4_K_M)
GGUF, с которым вы столкнётесь чаще всего при локальном использовании, безобиден, стоит лишь научиться читать «шифр» в имени файла. Q4_K_M состоит из трёх частей.
Q4_K_M
Итак, Q4_K_M = «4-битный K-quant, размер M (часть тензоров повышена ради качества)». Эффективная битность немного выше метки (напр., Q4_K ≈ 4.5 bpw).
Ещё два термина, чтобы не заблудиться.
- Семейство IQ (IQ2_XS, IQ3_M и т. д.) = I-quants: более новая линейка на основе кодовых книг, которая может уместиться ещё компактнее при той же битности. Но вывод тяжелее, и на практике они требуют imatrix (см. ниже). Козырь для случая «мне позарез нужно уместить это в VRAM».
- imatrix (матрица важности): прогоняете через модель калибровочный текст, чтобы измерить, какие веса важны, и затем в первую очередь защищаете именно их при низкой битности. Опционально для K-quant, фактически обязательно для I-quant. GGUF, собранные с imatrix, лучше держатся на низких битах.
4. Сравнение 4 форматов (GGUF/GPTQ/AWQ/EXL2)
Вот характер каждого из основных форматов, включая GPU-шные.
Единственный формат, работающий на CPU/Mac/смешанно. Стандарт llama.cpp. Гибок за счёт K-quant/I-quant/imatrix. Первый выбор для локального личного использования.
GPU-стандарт для 4 бит. Минимизирует послойную ошибку через калибровку. Быстр на vLLM/TGI. Теперь преемник — GPTQModel.
Защищает «значимые веса», анализируя активации (activation-aware). GPU, 4 бита только для весов. Широко используется на vLLM/TGI.
Задаёт битность дробным числом (напр., 4.5 bpw). Только ExLlama, GPU. EXL3 — более новая линейка на основе QTIP, всё ещё дозревает.
💡 GPTQ vs AWQ (кратко): GPTQ «послойно минимизирует ошибку восстановления», тогда как AWQ «смотрит на распределение активаций, чтобы защитить важные ~1% весов». Кто победит, зависит от модели, битности и реализации, так что ни один не лучше повсеместно. Просто берите тот, что поддерживает выбранный вами движок.
5. Какой файл / битность выбрать
Когда формат определён, следующий шаг — битность. На примере GGUF вот практическая лесенка на случай «если сомневаетесь, берите это» (числа приблизительные и зависят от модели и сборки).
| Файл | Роль | Когда выбирать |
|---|---|---|
| Q4_K_M | Обычная золотая середина (значение по умолчанию в Ollama для многих моделей) | Если сомневаетесь. Как правило, лучший баланс размера и качества |
| Q5_K_M / Q6_K | Ближе к полному качеству | Есть запас VRAM и хочется поднять ещё на ступеньку |
| Q8_0 | Почти без потерь, но не рекомендуется | Редко нужен (заметно больше RAM/медленнее ради крошечного прироста качества) |
| IQ2 / IQ3 (I-quant) | Впихнуть на очень низких битах | Только когда обязательно нужно уместить крупную модель в VRAM |
Как ориентир часто говорят, что примерно 4.5–5 бит на вес (Q4_K–Q5_K) — это «вкусная» полоса (эвристика). Выше Q6 прирост качества замедляется, а Q8_0 или FP16 обходятся дорого по памяти и скорости ради небольшой разницы — таков практический консенсус. Начните с запуска Q4_K_M, поднимитесь до Q5/Q6, если покажется мало, спуститесь до IQ, если не влезает, и подстраивайтесь по ходу. Для оценки нужного объёма VRAM см. требования к оборудованию для локальных LLM.
6. Поиск файлов на Hugging Face и Ollama
На Hugging Face отфильтруйте GGUF через library=gguf или зайдите в репозиторий переупаковщика квантов. На момент написания bartowski и mradermacher активно публикуют GGUF (в том числе сборки с imatrix) — но активность переупаковщиков меняется, поэтому проверяйте дату последней загрузки. (Некогда стандартные репозитории TheBloke всё ещё существуют, но новые загрузки в основном прекратились.) Чтобы сконвертировать своё, работает официальный Space gguf-my-repo.
В Ollama теги следуют схеме model:size-variant-quant.
# Без тега = значение по умолчанию (Q4_K_M для многих моделей)
ollama pull llama3.1
# Явно выбрать квант
ollama pull llama3.1:8b-instruct-q5_K_M
ollama pull qwen2.5-coder:7b-instruct-q8_0
# Доступные теги смотрите на ollama.com/library/<model>/tags
Итак, реальный рабочий процесс — три хода: определить движок → сузить до его формата → выбрать файл по битности, который влезает в вашу VRAM. Освойте это — и стена из 20 файлов перестанет вас пугать. Чтобы действительно запустить, см. как запустить локальную LLM и руководство по Ollama.
Итог
Выбор формата квантования — это два шага. Сначала ① на каком движке будете запускать — локально CPU/Mac → GGUF; GPU-сервер ради скорости → GPTQ/AWQ; тонко настроенная битность на одной GPU → EXL2; быстрая проверка в Transformers → bitsandbytes. Главное правило: формат запускается только на движках, которые его поддерживают.
Затем ② битность. GGUF-овский Q4_K_M означает «4 бита, K-quant, размер M» — обычное значение по умолчанию. Если сомневаетесь, Q4_K_M → (если есть запас) Q5/Q6 → (если не влезает) IQ. Опирайтесь на эвристику «вкусной полосы» ~4.5–5 bpw и подстраивайтесь по ходу запуска. Сборки с imatrix лучше держатся на низких битах. Связанное: что такое квантование, как запустить локальную LLM, требования к оборудованию, лучшие локальные модели, руководство по Ollama.
FAQ
Q. Так какой же файл выбрать?
A. Сначала определите «на каком движке будете запускать». Свой ПК или Mac (Ollama/LM Studio) → GGUF; GPU-сервер (vLLM/TGI) → GPTQ или AWQ. Затем по битности: если сомневаетесь — Q4_K_M (хороший баланс размера и качества, к тому же значение по умолчанию в Ollama для многих моделей). С запасом VRAM — Q5_K_M/Q6_K; только когда обязательно нужно уместить крупную модель, рассмотрите IQ2/IQ3.
Q. Что означает Q4_K_M?
A. Три части. Q4 = ~4 бита (больше число — выше качество и больше файл), K = K-quant (умное квантование по супер-блокам; без суффикса или _0/_1 — устаревшие), и M = размер средний (S/M/L — насколько часть важных тензоров повышается до более высокой битности). Эффективная битность немного выше метки (Q4_K ≈ 4.5 bpw).
Q. Чем отличаются GGUF и GPTQ/AWQ?
A. Поддерживаемым движком (оборудованием). GGUF — единственный «локальный универсал», работающий на CPU, Mac и частично GPU, для llama.cpp/Ollama. GPTQ и AWQ ориентированы на GPU и подходят для высокой пропускной способности на vLLM/TGI. Они также различаются методом (GPTQ минимизирует послойную ошибку; AWQ защищает значимые веса через активации), но ни один не лучше повсеместно. Просто берите тот, что поддерживает ваш движок.
Q. Чем IQ (I-quant) отличается от обычного Q4?
A. Он может уместиться ещё компактнее при той же битности (более новый метод на основе кодовых книг). Взамен вывод чуть тяжелее, и на практике требуется imatrix, чтобы удержать качество. Его применение — козырь для случая «мне обязательно нужно уместить крупную модель в VRAM». Если она влезает обычным образом, с K-quant вроде Q4_K_M работать проще.
Q. Разве Q8_0 или FP16 не выше по качеству? Почему «не рекомендуется»?
A. Они и правда почти без потерь, но съедают гораздо больше памяти и работают медленнее ради крошечного прироста качества над Q5/Q6. Даже сообщество llama.cpp не рекомендует их для обычного использования. На практике примерно 4.5–5 bpw (Q4_K–Q5_K) — это «вкусная» полоса, а оттуда вы двигаетесь вверх или вниз по необходимости (числа приблизительные и зависят от модели/сборки).