Если вы думали, что заставить гигантскую Llama 70B работать на одной RTX 3090 — это как всмятку сварить яйцо в микроволновке, то NTransformer готов вам доказать обратное (и при этом не устроит экспресс-кухню). Этот проект — симфония инженерной сноровки: C++/CUDA-код без Python и без PyTorch, минимальный стек и максимум практики.

Главная фишка — трёхуровневая адаптивная кэш-система: Tier A (VRAM) — ноль I/O, Tier B (pinned RAM) — быстрые H2D DMA-пересылки, Tier C — NVMe либо mmap как fallback. SLEP-стриминг и двойное буферирование умело накладывают чтение с NVMe, PCIe H2D и GPU-вычисления друг на друга, минимизируя простаивание. Для тех, кто любит риск и скорость, реализована опция gpu-nvme-direct (чтение весов прямо в pinned памяти GPU) — подробности и библиотека тут: https://github.com/xaskasdf/gpu-nvme-direct.

Результаты впечатляют для потребительского набора: Llama 70B в Q4_K_M с tiered + layer-skip показывает прирост до 0.5 ток/с, а 3-tier кэш даёт до 83× ускорения относительно mmap-базовой схемы при оптимальной конфигурации. Узкий горлышко — пропускная способность PCIe Gen3 x8 (~6.5 GB/s), и авторы это честно признают.

Проект идёт с инструментами настройки системы: скрипты, патчи ядра и предупреждения о рисках — всё аккуратно задокументировано. Отдельно стоит отметить, что такие решения открывают возможности для российских энтузиастов и инженеров: доступ к мощным моделям становится более демократичным, а локальные лаборатории и хакерские команды получают реальный инструмент для исследований и оптимизации на доступном железе.

Если вы хотите попробовать — инструкция по сборке и запуску, примеры команд и предупреждения по NVMe есть в репозитории: https://github.com/xaskasdf/ntransformer. Проект лицензирован BSD-2-Clause и открыт для тех, кто любит высокую механику и тонкую настройку.