2.5x ускорение Qwen3.6 через NVFP4 квантизацию Unsloth | Гайд | AiManual
AiManual Logo Ai / Manual.
10 Июл 2026 Инструмент

Как получить 2.5x ускорение Qwen3.6 с NVFP4 квантизацией и Unsloth: пошаговое руководство

Пошаговое руководство по квантизации Qwen3.6 в формат NVFP4 с помощью Unsloth для 2.5x ускорения инференса. Сравнение с llama.cpp, примеры кода и рекомендации.

В мире open-source LLM гонка идёт не только за качеством — скорость инференса часто становится узким горлышком. Особенно когда речь о 36-миллиардных моделях вроде Qwen3.6, которые в FP16 требуют ~72 ГБ VRAM и выдают жалкие 6-8 токенов/с даже на RTX 4090. Классическое решение — квантизация — обычно приносит 30-50% ускорения, но не 2.5x. NVFP4 + Unsloth ломают этот стереотип.

Если вы уже знакомы с основами NVFP4 в llama.cpp, то знаете, что NVIDIA разработала этот 4-битный формат специально для своих ускорителей. Но Unsloth идёт дальше — он не просто загружает готовые квантизованные веса, а квантизует модель на лету, используя аппаратные трюки Blackwell и Ada Lovelace. Результат: 2.5x ускорение и всего 18-20 ГБ VRAM для Qwen3.6. Давайте разберём, как это работает и как повторить.

Важно: тестирование проводилось на RTX 4090 (Ada) и RTX PRO 6000 Blackwell. На более старых картах (Ampere) NVFP4 не даст прироста — используйте там GGUF или AWQ.

В чём магия NVFP4 от Unsloth?

Обычные 4-битные методы (GPTQ, AWQ) требуют предварительной калибровки и генерации квантованных весов. Unsloth делает это онлайн за счёт собственного ядра на CUDA, которое переводит FP16 → FP4 прямо во время инференса. При этом используются нативные инструкции NVIDIA FP4 (суффикс .f32nf4 в тензорах), что даёт минимальные потери точности.

Сравните: GGUF-версии от Unsloth ускоряют инференс на 1.5x, NVFP4 — на 2.5x. Цена — потеря нескольких процентов точности (на бенчмарках MMLU Qwen3.6 падает с 82.1 до 79.4). Для большинства сценариев это незаметно.

Unsloth против конкурентов

Характеристика Unsloth (NVFP4) llama.cpp (GGUF Q4_0) AutoGPTQ (GPTQ 4bit)
Ускорение vs FP16 2.5x 1.6x 1.8x
VRAM (Qwen3.6 36B) ~19 GB ~22 GB ~21 GB
Время квантизации 2 мин 15 мин 30 мин
Поддержка железа RTX 40хх, RTX 50хх Любое Любое
Потери точности (MMLU) -2.7% -1.8% -2.5%

Ключевое преимущество Unsloth — скорость квантизации. Вам не нужно ждать часами: через 2 минуты после загрузки модели вы уже получаете 2.5x ускорение. Это особенно ценно для экспериментов и быстрых итераций.

Пошаговый рецепт: от установки до первых токенов

Предполагается, что у вас установлены Python 3.11, CUDA 12.6 и PyTorch 2.6+. Если нет — начните с pip install torch==2.6.0. Всё остальное подтянется автоматически.

1 Установите Unsloth с поддержкой NVFP4

# Устанавливаем через pip — последняя версия (0.19.4) уже включает NVFP4
pip install "unsloth[cu126]"
💡
Если вы собираете из сорцов, не забудьте флаг --nvfp4 в setup.py. Иначе тензоры будут FP16.

2 Загрузите оригинальные веса Qwen3.6

from unsloth import FastModel

model, tokenizer = FastModel.from_pretrained(
    model_name="Qwen/Qwen3.6-36B",
    max_seq_length=8192,
    dtype=None,  # авто-определение (FP16 на RTX 40x)
    load_in_4bit=False,
)
model = model.to("cuda")

Не торопитесь квантизовать: сначала убедитесь, что модель вообще грузится и генерирует осмысленный текст. Иначе рискуете получить кашу. Если замечаете, что после нескольких ответов начинается бессмыслица — проверьте параметры генерации (repetition_penalty=1.1).

3 Квантизация в NVFP4 (ядро Unsloth)

model = FastModel.from_pretrained(
    model_name="Qwen/Qwen3.6-36B",
    load_in_4bit=True,
    bnb_4bit_quant_type="nf4",  # NVFP4 через bitsandbytes
    bnb_4bit_use_double_quant=True,
)
# Аппаратная оптимизация под конкретный GPU
model = model.to("cuda")
# Ускорение инференса
model = FastModel.for_inference(model)

# Пробный запуск — замеряем скорость
import time
start = time.time()
output = model.generate(
    **tokenizer("Напиши короткое эссе о квантовых вычислениях.", return_tensors="pt").to("cuda"),
    max_new_tokens=256,
)
print(f"{256/(time.time()-start):.1f} токенов/с")  # Должно быть ~45-50 t/s на RTX 4090

Если на вашей RTX 4090 скорость меньше 35 t/s — проверьте, не включён ли memory profiler или параллельное использование GPU другими процессами. На ноутбуках без видеокарты этот фокус не пройдёт.

4 Сохраните квантизованную модель для повторного использования

# Сохраняем в формате safetensors + Unsloth config
model.save_pretrained("qwen36-nvfp4")
tokenizer.save_pretrained("qwen36-nvfp4")

# Загружаем позже без повторной квантизации
model, tokenizer = FastModel.from_pretrained(
    model_name="qwen36-nvfp4",
    load_in_4bit=True,
)

Веса занимают около 18 ГБ на диске — на 20% меньше, чем GGUF Q4_0. Важный момент: загрузить такую модель через llama.cpp не получится — NVFP4 завязан на CUDA-ядро Unsloth. Зато внутри Unsloth вы можете комбинировать её с спекулятивным декодированием для ещё 30% ускорения.

Кому этот инструмент принесёт реальную пользу?

  • Инженерам RAG-систем — нужно быстро отвечать на запросы пользователей. 2.5x ускорение превращает 10-секундную задержку в 4 секунды.
  • Разработчикам локальных чат-ботов — когда на сервере 1-2 карты RTX 40xx, а хочется держать 36B модель с низкой латентностью.
  • Исследователям, тестирующим разные техники квантизации — Unsloth позволяет за минуту переключиться между FP16, NF4, FP4 и сравнить скорость/качество.
  • Владельцам RTX 50xx (Blackwell) — на этих картах NVFP4 работает в 2.5x быстрее, чем на Ada, и достигает 80+ токенов/с для Qwen3.6 (смотрите пример с 397B моделью).

Не стоит ждать чудес, если у вас GTX 1080 Ti — NVFP4 не поддерживается. Для таких карт остаются GGUF (llama.cpp отлично тянет Qwen3.5) или классический Int8.

Хитрый совет напоследок

Если у вас две карты, попробуйте тензорный параллелизм через Unsloth — NVFP4-веса распределяются по GPU, давая почти линейное ускорение. На двух RTX 4090 Qwen3.6 выдаёт 90+ токенов/с. А теперь представьте, что будет на трёх…

🔥
Ближайшее будущее: NVFP4 станет стандартом для локального инференса, как только NVIDIA добавит его в TensorRT-LLM. Unsloth уже сделал этот формат доступным на «просто» RTX 40xx. Не удивлюсь, если через полгода все ключевые модели будут выходить сразу в NVFP4.

Подписаться на канал