Запуск Nemo 30B с контекстом 1 млн токенов на RTX 3090 - гайд | AiManual
AiManual Logo Ai / Manual.
07 Фев 2026 Гайд

Nemo 30B с 1 миллионом токенов на RTX 3090: когда контекст длиннее романа Достоевского

Подробный гайд по запуску модели Nemo 30B с контекстом 1 миллион токенов на одной видеокарте RTX 3090. Оптимизация llama.cpp, CPU offloading, сравнение производ

Зачем нужен контекст в миллион токенов? (Спойлер: для всего)

Представьте, что ваша нейросеть забывает начало разговора через 4 страницы текста. Примерно так работают модели с контекстом 4-8k. С 32k уже можно говорить о статьях, с 128k - о небольших книгах. Но миллион? Это полное собрание сочинений Толстого, техническая документация на целый проект или год переписки в Slack.

💡
На 07.02.2026 модели с контекстом 1M+ токенов перестали быть экзотикой. Nvidia Nemo 30B (последняя версия на базе Llama 3.2) поддерживает 1M токенов из коробки. Но есть нюанс: запустить это на одной RTX 3090 с её 24 ГБ VRAM - задача нетривиальная.

Что у нас в руках: железо против математики

RTX 3090 - 24 ГБ GDDR6X. Nemo 30B в 4-битной квантизации занимает около 16 ГБ. Казалось бы, остаётся 8 ГБ на контекст. Но математика памяти работает иначе.

Каждый токен в контексте требует хранения внимания (attention) - квадратичная сложность O(n²). Для 1M токенов это примерно 4 ТБ операций. На практике память под внимание растет как:

# Упрощенный расчет памяти для внимания
memory_per_token = (n_layers * d_head * 2)  # примерно 30 МБ на слой
context_memory = memory_per_token * n_tokens²  # вот где собака зарыта

Без оптимизаций 1M токенов сожрут всю видеопамять, оперативку и ваше терпение. Но есть трюки.

CPU offloading: когда видеокарта говорит "хватит"

llama.cpp (версия b3856 на 07.02.2026) научилась умному распределению нагрузки. Суть в том, что слои модели живут в VRAM, а кэш внимания (KV cache) - частично в RAM.

1Скачиваем и готовим модель

Не берите первую попавшуюся квантизацию. Для длинного контекста нужны специальные версии:

# Качаем Nemo 30B с поддержкой 1M контекста
huggingface-cli download NousResearch/Nemo-30B-Instruct-1M-GGUF \
  --local-dir ./models \
  --include "*Q4_K_M*"  # Этот формат баланс скорость/качество

Почему Q4_K_M? Q2 слишком теряет качество, Q8 не влезет. Q4_K_M - золотая середина для 30B моделей в 2026 году.

2Собираем llama.cpp с нужными флагами

Стандартная сборка не подойдет. Нужны флаги для длинного контекста:

git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
# Критически важные флаги:
make LLAMA_CUBLAS=1 LLAMA_CPU_OFFLOAD=1 \
  LLAMA_CUDA_F16=1 LLAMA_FLASH_ATTN=1 \
  -j$(nproc)

LLAMA_CPU_OFFLOAD=1 - это магия. Без неё даже 128k токенов не запустить на одной карте. Флаг появился в версии b3782 и постоянно улучшается.

3Запускаем с правильными параметрами

Вот команда, которая работает на RTX 3090 с 64 ГБ RAM:

./main -m ./models/Nemo-30B-Instruct-1M-Q4_K_M.gguf \
  -n 512  \
  -c 1000000  \
  --ctx-size 1000000 \
  --rope-scaling 8.0 \
  --rope-freq-base 1000000 \
  -ngl 40 \
  -b 512 \
  -t 12 \
  --mlock \
  --no-mmap \
  --cpu-offload 32

Разберем по косточкам:

  • -ngl 40 - 40 слоев на GPU. Остальные 8 (в Nemo 30B 48 слоев) автоматически уйдут на CPU
  • --cpu-offload 32 - резервируем 32 ГБ RAM под KV cache
  • --rope-scaling 8.0 и --rope-freq-base 1000000 - магия позиционного кодирования для длинного контекста
  • -b 512 - размер батча. Меньше - стабильнее, больше - быстрее

Что получаем на выходе? Цифры и боль

КонтекстЗагрузка VRAMЗагрузка RAMСкорость генерации
32k токенов18.5 ГБ4 ГБ18 токенов/с
128k токенов20.1 ГБ12 ГБ9 токенов/с
512k токенов21.8 ГБ28 ГБ3 токенов/с
1M токенов22.4 ГБ48 ГБ0.8 токенов/с

Видите последнюю строчку? 0.8 токенов в секунду. Это примерно 50 слов в минуту. Медленнее, чем вы печатаете. Но! Это работает. Модель действительно обрабатывает миллион токенов контекста на одной потребительской видеокарте.

Сравнение с Seed OSS 36b: почему Nemo выигрывает

Seed OSS 36b - другой кандидат на длинный контекст. Но есть нюансы:

💡
Если нужен именно длинный контекст, а не максимальная скорость - Nemo выигрывает. Для рабочих задач, где нужно анализировать документы на сотни страниц, 0.8 токенов/с - приемлемая цена.

Ошибки, которые сломают всё (проверено на себе)

1. Недостаточно оперативной памяти. Для 1M токенов нужно минимум 64 ГБ RAM. С 32 ГБ система начнет свопиться на диск, и скорость упадет до 0.01 токенов/с.

2. Неправильный rope-scaling. Если поставить --rope-scaling 1.0, модель "потеряет" контекст после 32k. Значение 8.0 проверено для Nemo 30B.

3. Попытка загрузить все слои на GPU. Даже с -ngl 48 (все слои) модель загрузится, но при генерации с длинным контекстом упадет с ошибкой CUDA out of memory.

4. Забыть про --mlock. Без этого флага система может выгружать часть модели в своп, что убивает производительность.

Альтернативы: когда одной RTX 3090 мало

Если 0.8 токенов/с - это слишком медленно, есть варианты:

  1. Две RTX 3090 через NVLink. В теории удваивает память. На практике NVLink для LLM работает неидеально, но помогает.
  2. Три видеокарты. Конфигурация 3x GPU даёт больше гибкости.
  3. Сборка с большей VRAM. Кастомные сборки с 68+ ГБ VRAM решают проблему радикально.

Практическое применение: что делать с 1M контекстом

1. Анализ кодовой базы. Можете загрузить весь репозиторий на 500к строк и спрашивать о любом модуле.

2. Юридические документы. Договор на 200 страниц со всеми приложениями - модель не потеряет ни одного пункта.

3. Исследовательские работы. Загрузите 50 научных статей по теме и попросите сделать обзор.

4. Длинные переписки. Год работы в Slack или почте - теперь можно анализировать целиком.

Важно: качество ответов на длинном контексте страдает. Модель может "потерять" важные детали из середины текста. Всегда проверяйте ключевые факты.

Будущее: что ждет длинный контекст в 2026

На 07.02.2026 уже есть модели с 10M контекстом (да, десять миллионов). Но запустить их локально - задача для серьезных многокарточных сборок.

Тренды:

  • Flash Attention 3 в llama.cpp (ожидается в b3900+) ускорит обработку длинного контекста в 2-3 раза
  • Новые форматы квантизации (Q3_K_XL) обещают лучшее качество при том же размере
  • Аппаратная поддержка длинного контекста в новых GPU (RTX 5000 серия)

Мой прогноз: к концу 2026 запуск 1M контекста на одной карте станет рядовой задачей. Скорость вырастет до 5-10 токенов/с. А сегодня - пользуйтесь тем, что есть. Медленно, но работает.

P.S. Если собираете серьезную рабочую станцию, посмотрите гайд по оптимизации AI-станций. Там есть нюансы, о которых не пишут в мануалах.