Когда 64GB RAM не хватает для одной модели
Вы скачали свежую GPT-OSS-120B. Весит 240GB в FP16. У вас есть сервер с 64GB RAM и RTX 6000 Ada. Теоретически должно влезть с квантованием. Практически - система зависает при загрузке даже q4 версии. Знакомо?
Я месяц бился с этой проблемой. Запускал модели на разных конфигурациях: от домашнего ПК с 32GB до сервера с 256GB. Тестировал все методы сжатия, которые обещают "запустить невозможное". И вот что выяснилось.
Важное уточнение: все тесты проводились в феврале 2026 года. Использовались последние версии инструментов: llama.cpp v0.14.0, transformers 5.0.0, torch 3.2.0. Модели: GPT-OSS-120B (январь 2026), Qwen3-Coder-72B (декабрь 2025).
Что такое REAP на самом деле (а не в статьях)
После моей предыдущей статьи "ReAP квантование: разоблачение мифа" я получил десятки писем. Люди жаловались на то же самое: красивые графики в исследованиях, ужасные результаты в продакшене.
REAP (Reconstruction-based Adaptive Pruning) к 2026 году эволюционировал. Появилась версия 2.0 с улучшенной адаптацией. Суть осталась той же: метод определяет, какие веса важны для точности, и сохраняет их в высоком битрейте, а остальные квантует сильнее.
Проблема в деталях реализации. Большинство готовых скриптов используют старые эвристики 2024 года. Они плохо работают с современными архитектурами вроде Mixture of Experts или моделями с активациями SwiGLU.
Низкое квантование: q2 и q4 в 2026
Пока REAP пытается быть умным, низкое квантование идет грубой силой. q2_k_s в llama.cpp - это 2.5 бита в среднем. q4_k_m - 4.5 бита. Разница в размере файла колоссальная:
| Метод | Размер GPT-OSS-120B | Потребление RAM | Скорость (токенов/с) |
|---|---|---|---|
| FP16 (оригинал) | 240 GB | >256 GB | - (не запускается) |
| REAP INT4 v2.0 | 68 GB | 72-78 GB | 4.2 |
| q4_k_m | 54 GB | 58-62 GB | 8.7 |
| q2_k_s | 32 GB | 36-40 GB | 12.3 |
Цифры говорят сами за себя. q2_k_s в 2 раза меньше REAP и в 3 раза быстрее. Но что с качеством?
Тестовый стенд: не MMLU, а реальные задачи
Я ненавижу бенчмарки типа MMLU. Модели натасканы на них. Вместо этого собрал три типа задач:
- Многошаговая логика: "Если у компании 5 отделов по 20 человек, и 30% уходят в отпуск, а из оставшихся 40% болеют - сколько работает?"
- Понимание контекста: техническая документация API с последующими вопросами о параметрах
- Генерация кода с ограничениями: "Напиши функцию на Python, которая использует не более O(n) памяти"
Тестировал на сервере с 64GB RAM и RTX 6000 Ada 48GB. Для сравнения взял также результаты из статьи "Кодинг на RTX 3060 12GB".
Результаты, которые удивят
| Метод | Логика (из 10) | Контекст (из 10) | Код (из 10) | Итог |
|---|---|---|---|---|
| REAP INT4 v2.0 | 7 | 8 | 6 | 21/30 |
| q4_k_m | 6 | 7 | 7 | 20/30 |
| q2_k_s | 4 | 5 | 5 | 14/30 |
REAP выигрывает у q4 на 1 балл. Но посмотрите на разницу в памяти: 78GB против 62GB. Стоит ли 5% улучшения качества 16GB дополнительной RAM?
Почему q2 - это русская рулетка
q2_k_s экономит память радикально. Но качество падает катастрофически. И не линейно, а с странными артефактами:
- Модель начинает повторять фразы ("the the the")
- Логические связи разрываются (отвечает "да" на вопрос "Вы уверены, что нет?")
- Контекстное окно работает хуже - забывает начало длинного промпта
Особенно страдают кодогенерационные модели вроде Qwen3-Coder-72B. q2 версия генерирует синтаксически корректный код, который делает не то, что нужно. Ошибки не бросаются в глаза - нужно внимательно читать.
Как я писал в статье "Куда пропали 1.58-битные LLM?", сверхнизкое квантование все еще сырое. Особенно для моделей больше 30B параметров.
Практическое руководство: что выбрать в 2026
1 Если RAM < 48GB
Забудьте про модели больше 70B. Даже с q2. Система будет свопиться на диск, скорость упадет до 0.5 токенов в секунду. Лучше взять меньшую модель в q4. Например, Qwen3-32B в q4_k_m занимает 18GB RAM и работает на 16GB видеокарте.
2 Если RAM 64-128GB
q4_k_m - ваш выбор. REAP не дает значимого преимущества в качестве, но съедает лишнюю память. Используйте llama.cpp с флагами:
./main -m models/gpt-oss-120b-q4_k_m.gguf \
-n 512 \
-t 16 \
-c 4096 \
--mlock \
--no-mmap
Флаг --mlock фиксирует модель в RAM, предотвращая своппинг. --no-mmap ускоряет загрузку, но требует больше RAM при старте.
3 Если RAM > 192GB
Можете экспериментировать с REAP v2.0 для специфических задач. Например, для юридических документов или медицинских текстов, где важна точность терминов. Но готовьтесь к долгой настройке - автоматические скрипты работают плохо.
Ошибки, которые совершают все
Ошибка №1: Сравнивать размер файлов, а не потребление RAM. GGUF файл q4_k_m весит 54GB, но при загрузке требует 58-62GB RAM. REAP файл 68GB требует 72-78GB. Разница в 10-16GB критична при 64GB системы.
Ошибка №2: Тестировать на коротких промптах. Разница между методами проявляется на длинных контекстах (8K+ токенов). q2 деградирует быстрее всех.
Ошибка №3: Использовать старые версии llama.cpp. В 2026 году q4_k_m улучшили - добавили лучшее квантование внимания. Версии до 0.13.0 дают худшие результаты.
Что будет в 2027? Мой прогноз
REAP умрет. Или трансформируется. Проблема метода в фундаментальной сложности: чтобы определить "важные веса", нужно запустить модель в FP16. То есть нужна машина с 256GB RAM для 120B модели. Если она у вас есть - зачем вам квантование?
Низкое квантование пойдет по пути специализации. Уже появляются q4 версии, оптимизированные под код, под математику, под медицинские тексты. Как в статье "MXFP4 против Q4_K_M" - разные задачи требуют разных методов.
Мой совет на 2026: покупайте RAM. Серьезно. 128GB DDR5 стоит как RTX 5070. И прослужит дольше. Модели будут расти, а методы сжатия не успеют за этим ростом.
А если денег нет - используйте q4_k_m. Это золотая середина, которая работает. Не идеально, но предсказуемо. В отличие от REAP, который сегодня дает +5% качества, а завтра сломается на новой архитектуре.
И последнее: не верьте статьям с графиками. Скачайте модель, запустите на своих задачах. Только так поймете, что подходит именно вам. Как я понял, что q4 лучше REAP для моих 64GB серверов. После недели тестов, а не просмотра красивых диаграмм.