← На главную

AirLLM уместил 70B-модель на GPU с 4GB VRAM без квантования

03.08.2026 11:15 · hackernews

AirLLM — библиотека, которая радикально снижает потребление памяти при инференсе больших языковых моделей. Она запускает 70B-модель на одной GPU с 4GB VRAM — без квантования, дистилляции и pruning. 405B Llama 3.1 помещается в 8GB, DeepSeek-V3 (671B) — примерно в 12GB, а Kimi K3 (2.8T), крупнейшая открытая модель на сегодня, — меньше чем в 4GB. На одном RTX 6000 Ada она занимает 3.72GB VRAM. Фишка в том, что sparse MoE-модели стримят по одному эксперту за раз, а не целый слой. Per-expert streaming грузит только тех экспертов, к которым реально обращается токен. Для Kimi K3 нужны свои условия: pip install compressed-tensors flash-attn, CUDA 12-сборка torch и transformers 4.56.x.

Версия v3.0 добавила поддержку FP8 и свежих моделей: DeepSeek-V3 на ~12GB, Qwen3-235B на ~3GB. В истории проекта: v2.11 — поддержка Qwen2.5, v2.10.1 — CPU inference и non-sharded модели, v2.8.2 — MacOS, v2.6 — AutoModel с автоопределением типа, v2.5 — prefetching с ускорением на 10%, v2.0 — сжатие с ускорением в 3 раза. Поддерживаются практически все популярные открытые модели: Llama, Qwen, DeepSeek, Mistral, Mixtral, Phi, Gemma, ChatGLM, Baichuan, InternLM, Yi. Всё работает через единый вызов AutoModel.from_pretrained(...) с Hugging Face ID или локальным путём.

Секрет экономии: AirLLM держит на GPU только один слой за раз, поэтому нужная VRAM зависит от размера слоя, а не от общего размера модели. Отсюда цифры: Qwen3-30B или Mixtral — 1-3GB, Llama 3.1 405B — 8GB, DeepSeek-V3 — ~12GB. Код один и тот же для всех — никакого специального сетевого воркфлоу.

Дополнительно есть model compression на основе block-wise quantization. Понадобится bitsandbytes и аргумент compression='4bit' или '8bit'. Это ускоряет инференс до 3 раз с почти незаметной потерей точности. В отличие от обычного квантования, здесь узкое место — загрузка с диска, поэтому квантуются только веса, а точность сохранять проще.

Настройки: compression, profiling_mode, layer_shards_saving_path, hf_token для gated-моделей вроде meta-llama/Llama-2-7b-hf, prefetching и delete_original, который экономит половину диска. MacOS поддерживается только на Apple silicon, нужны mlx и torch. В FAQ: ошибка MetadataIncompleteBuffer — скорее всего кончилось место на диске; ValueError при загрузке QWen или ChatGLM — надо использовать AutoModel, а не AirLLMLlama2; 401 Client Error — модель gated, нужен hf_token; если токенизатор не умеет padding, его можно просто отключить через padding=False. Часть кода основана на работе SimJeg из Kaggle-соревнования.

Читать оригинал →