ГАЙД

AirLLM: модель на 70B на одной видеокарте с 4 ГБ

AirLLM грузит модель послойно с диска, поэтому 70B помещается в 4 ГБ видеопамяти, а Kimi K3 на 2,8 трлн параметров — меньше чем в 4 ГБ. Разбираем, как это работает, что реально запускается и чем за это платите по скорости.

Локальные моделиГайд2026
Категория Локальные LLMЛицензия Apache-2.0Обновлено 03.11.2026

AirLLM — открытая библиотека, которая позволяет запускать очень большие модели на слабой видеокарте. Она не сжимает модель до неузнаваемости и не режет её: веса разбиваются на слои и лежат на диске, а в память попадает только тот слой, который считается прямо сейчас. Поэтому 70B работает на 4 ГБ видеопамяти, а самая большая открытая модель — Kimi K3 на 2,8 трлн параметров — укладывается в 3,72 ГБ.

41 662
Звёзды GitHub
4 ГБ
Минимум видеопамяти
3,72 ГБ
Kimi K3, 2,8T
Apache-2.0
Лицензия
Что вы платите вместо памяти
Скорость. Каждый токен требует прочитать с диска все слои модели, и на слабом SSD это заметно. AirLLM — это про «запустить вообще», а не про «запустить быстро». Если у вас есть 24 ГБ видеопамяти, обычный запуск через Ollama или vLLM будет в разы быстрее.

01Что такое AirLLM

Проект ведёт lyogavin, репозиторий живёт с июня 2023 года. За это время библиотека прошла путь от «Llama 2 на 4 ГБ» до поддержки моделей на триллионы параметров: в описании репозитория прямо стоит «AirLLM 2.8T LLM inference with single 4GB GPU». На 3 ноября 2026 года у проекта 41 662 звезды, 4 280 форков и 150 открытых задач — активность не затухает, последний коммит в тот же день.

Ключевая идея проста и стара: не нужно держать всю модель в памяти одновременно, потому что при генерации слои используются последовательно. AirLLM разбивает веса на отдельные файлы по слоям, держит на диске и подгружает по одному в видеопамять. Предзагрузка следующего слоя идёт параллельно с вычислением текущего — это дало примерно 10% прироста скорости ещё в версии 2.5.

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

02Как это работает

Путь одного токена
1Запростокенизатор превращает текст в токены2Слой с дисканужный слой читается в видеопамять3Вычислениеслой считается и освобождает память4Следующий слойзагрузка идёт параллельно счёту5Ответпосле последнего слоя появляется токен

На практике узкое место — не видеокарта, а диск. Модель на 70B в половинной точности весит около 140 ГБ; чтобы сгенерировать один токен, все эти гигабайты должны пройти через шину. Поэтому NVMe даёт заметно лучший результат, чем SATA, а сетевой диск превращает генерацию в мучение.

При первом запуске библиотека один раз разбивает чекпоинт на послойные файлы. Это долго и требует свободного места: для модели на 125B в README указано около 360 ГБ на диске, а исходные файлы можно удалить после разбиения.

03Какие модели реально запускаются

МодельПараметрыВидеопамятьГде замерено
Llama 3.1 70B70B4 ГБзаявлено в README
Qwen3-235B-A22B235B~3 ГБREADME, версия 3.0
DeepSeek-V3671B~12 ГБREADME, версия 3.0
Qwen3.8-27B27B3,33 ГБRTX 3090, конец 2026
Qwen3.8-Flash-Next125B MoE5,95 ГБRTX 4090, конец 2026
Kimi K32,8T3,72 ГБRTX 6000 Ada, конец 2026
Цифры из README проекта: это замеры авторов на конкретном железе, а не гарантия для любой сборки.

Список поддерживаемых архитектур широкий: Qwen, Llama, DeepSeek, Mistral, Mixtral, Phi, Gemma, ChatGLM, Baichuan, InternLM. Есть отдельный класс для MoE-моделей: у них в память попадают только те эксперты, к которым реально маршрутизируется токен — именно так Kimi K3 на 2,8 трлн параметров укладывается в 3,72 ГБ.

Отдельно стоит обучение: с сентября 2026 AirLLM умеет держать на видеокарте только адаптеры, а замороженные веса стримить послойно. В README заявлено обучение 125B под 6 ГБ на RTX 3060 Ti и 27B примерно под 2 ГБ при длине последовательности 512.

04Установка и первый запуск

1
Поставить пакет
pip install airllm — одного пакета достаточно для инференса
2
Освободить диск
под 70B нужно около 140 ГБ, под 125B — до 360 ГБ
3
Запустить модель
AutoModel.from_pretrained с идентификатором модели
4
Проверить ответ
сгенерировать 20 токенов и убедиться, что модель отвечает
pythonpython
from airllm import AutoModel

MAX_LENGTH = 128
model = AutoModel.from_pretrained("Qwen/Qwen3-32B")

input_tokens = model.tokenizer(
    ["Столица Франции?"],
    return_tensors="pt",
    return_attention_mask=False,
    truncation=True,
    max_length=MAX_LENGTH,
    padding=False)

out = model.generate(
    input_tokens["input_ids"].to(model.device),
    max_new_tokens=20,
    use_cache=True,
    return_dict_in_generate=True)

print(model.tokenizer.decode(out.sequences[0]))
Сжатие для скорости
Чтобы включить 4- или 8-битное сжатие, нужен bitsandbytes и аргумент compression при инициализации модели. Авторы заявляют ускорение до трёх раз при почти незаметной потере качества.

05Скорость: за что платите

AirLLM меняет память на время. В обычном запуске все слои уже в видеопамяти, и узкое место — вычисления. Здесь же каждый токен ждёт, пока слои прочитаются с диска, поэтому реальная скорость зависит от накопителя, объёма модели и длины контекста. На одном и том же железе модель на 7B будет отвечать заметно быстрее, чем 70B, хотя обе «влезут» в 4 ГБ.

Относительная скорость режимов (10 — самый быстрый)
4-битное сжатие98-битное сжатие7Полная точность, NVMe4Полная точность, SATA2
Оценка по механике: сжатие уменьшает объём чтения с диска, поэтому и ускоряет.
РежимПамять на слоиЧтение с дискаКогда выбирать
4 битаминимумв 4 раза меньшекогда важна скорость, а не идеальная точность
8 битсреднев 2 раза меньшекомпромисс для рабочих задач
Полная точностьмаксимум по дискувсёкогда нужна исходная модель без потерь
Порог входа по размеру модели (1–10)
7B232B470B6125B MoE8671B9
Чем больше модель, тем важнее диск и терпение: время первого разбиения растёт вместе с ней.

06Ограничения и кому подходит

Плюсы
  • запускает модели, которые физически не влезают в вашу видеокарту
  • по умолчанию без квантования — веса остаются исходными
  • поддержка MoE и моделей на триллионы параметров
  • открытый код под Apache-2.0, активная разработка
  • есть режим обучения адаптеров на слабой карте
Минусы
  • медленно: скорость упирается в диск, а не в GPU
  • нужно много свободного места — сотни гигабайт
  • первый запуск тратит время на разбиение чекпоинта
  • для продакшена с нагрузкой не подходит
  • требует подходящих версий transformers и torch под конкретную модель

AirLLM — инструмент для экспериментов и обучения. Он хорош, когда нужно посмотреть, как ведёт себя большая модель, снять несколько ответов, собрать демо на ноутбуке или проверить гипотезу на дешёвом железе. Для сервиса с сотнями запросов в минуту он не годится: там нужны либо достаточная видеопамять, либо квантизованная модель в нормальном движке.

Второй сценарий — обучение. Возможность стримить замороженные веса и держать на карте только адаптеры открывает тонкую настройку больших моделей на бытовом железе. Это медленнее, чем на A100, но позволяет обойтись без аренды дорогой машины.

07Итог

8,2/ 10
Сильный инструмент с честным компромиссом: вы получаете доступ к моделям любого размера на слабой карте, но платите временем и диском. Для экспериментов и обучения — отлично, для продакшена — нет.

Частые вопросы

AirLLM действительно запускает 70B на 4 ГБ?
Да, это заявленная и проверенная авторами возможность. Модель разбивается на слои и читается с диска по одному, поэтому в видеопамяти одновременно находится только один слой.
Нужно ли квантование?
Нет. По умолчанию веса остаются в исходной точности. Квантование в 4 или 8 бит — опция для ускорения, а не обязательное условие запуска.
Сколько места на диске нужно?
Для 70B — около 140 ГБ, для модели на 125B в README указано до 360 ГБ под чекпоинт и разбиение. Исходные файлы можно удалить после разбиения.
Насколько это медленно?
Зависит от накопителя и размера модели: каждый токен требует чтения всех слоёв с диска. NVMe заметно быстрее SATA, а 4-битное сжатие даёт до трёх раз по скорости.
Можно ли использовать в продакшене?
Для нагрузки — нет: пропускная способность будет низкой. AirLLM рассчитан на эксперименты, демонстрации и обучение адаптеров, а не на обслуживание потока запросов.
Что почитать дальше
Разобраться, как запускать модели локально без экзотики — в наших гайдах по Ollama и LM Studio.

Источники и официальные ссылки