oLLM — это лёгкая библиотека Python, созданная на основе Huggingface Transformers и PyTorch. Она позволяет запускать трансформеры с большим контекстом на графических процессорах NVIDIA, агрессивно выгружая веса и KV-кэш на быстрые локальные SSD. Проект ориентирован на автономную работу с одним GPU и специально избегает квантования, используя веса FP16/BF16 с FlashAttention-2 и кэшированием на диске с поддержкой VRAM в пределах 8–10 ГБ при обработке до ~100 тысяч токенов контекста.
Что нового?
1. Чтение/запись в KV-кэш минуя mmap для снижения использования оперативной памяти хоста.
2. Поддержка DiskCache для Qwen3-Next-80B.
3. Llama-3 FlashAttention-2 для стабильности.
4. Сокращение памяти GPT-OSS с помощью ядер, похожих на flash-attention, и фрагментированных MLP.
Таблица, опубликованная сопровождающим, показывает общую производительность/ввод-вывод на RTX 3060 Ti (8 ГБ):
* Qwen3-Next-80B (bf16, 160 ГБ весов, 50 тысяч контекстов) → ~7,5 ГБ VRAM + ~180 ГБ SSD; указанная пропускная способность «≈ 1 ток/2 с».
* GPT-OSS-20B (упакованные bf16, 10 тысяч контекстов) → ~7,3 ГБ VRAM + 15 ГБ SSD.
* Llama-3.1-8B (fp16, 100 тысяч контекстов) → ~6,6 ГБ VRAM + 69 ГБ SSD.
Как это работает
oLLM передаёт веса слоёв напрямую с SSD на GPU, выгружает KV-кэш в SSD и, при необходимости, на CPU. Используется FlashAttention-2 с онлайн-softmax, чтобы полная матрица внимания никогда не материализовалась, и фрагментируются большие проекции MLP для ограничения пиковой памяти. Это смещает узкое место с VRAM на пропускную способность и задержку хранилища, поэтому проект oLLM подчёркивает важность SSD класса NVMe и KvikIO/cuFile (GPUDirect Storage) для высокоскоростного ввода-вывода файлов.
Поддерживаемые модели и GPU
Из коробки примеры охватывают Llama-3 (1B/3B/8B), GPT-OSS-20B и Qwen3-Next-80B. Библиотека ориентирована на NVIDIA Ampere (RTX 30xx, A-серия), Ada (RTX 40xx, L4) и Hopper; Qwen3-Next требует dev-сборку Transformers (≥ 4.57.0.dev). Примечательно, что Qwen3-Next-80B — это разреженный MoE (всего 80 миллиардов, ~3 миллиарда активных), который производители обычно позиционируют для развёртывания на нескольких A100/H100. Утверждение oLLM заключается в том, что вы можете выполнять его автономно на одном потребительском GPU, оплачивая штраф за SSD и соглашаясь на низкую пропускную способность. Это контрастирует с документами vLLM, которые предлагают серверы с несколькими GPU для того же семейства моделей.
Установка и минимальное использование
Проект имеет лицензию MIT и доступен на PyPI (pip install ollm) с дополнительной зависимостью kvikio-cu{cuda_version} для высокоскоростного дискового ввода-вывода. Для моделей Qwen3-Next установите Transformers из GitHub. Краткий пример в README показывает подключение Inference(…).DiskCache(…) и generate(…) с обратным вызовом потокового текста. (PyPI в настоящее время перечисляет 0.4.1; в README упоминаются изменения 0.4.2.)
Ожидания от производительности и компромиссы
* Пропускная способность. Сопровождающий сообщает о ~0,5 ток/с для Qwen3-Next-80B при 50 тысячах контекстов на RTX 3060 Ti — подходит для пакетной/автономной аналитики, но не для интерактивного чата. Преобладает задержка SSD.
* Нагрузка на хранилище. Длинные контексты требуют очень больших KV-кэшей; oLLM записывает их на SSD, чтобы поддерживать постоянный объём VRAM. Это отражает более широкую отраслевую работу по выгрузке KV (например, NVIDIA Dynamo/NIXL и обсуждения в сообществе), но подход по-прежнему ограничен хранилищем и специфичен для рабочей нагрузки.
* Проверка реальности аппаратного обеспечения. Запуск Qwen3-Next-80B «на потребительском оборудовании» возможен благодаря дисковой ориентации oLLM, но типичный высокопроизводительный вывод для этой модели по-прежнему требует серверов с несколькими GPU. Рассматривайте oLLM как способ выполнения больших автономных проходов с контекстом, а не как прямую замену производственным стекам обслуживания, таким как vLLM/TGI.
Вывод
oLLM продвигает чёткую концепцию дизайна: сохраняйте высокую точность, переносите память на SSD и делайте сверхдлинные контексты жизнеспособными на одном 8-гигабайтном NVIDIA GPU. Он не будет соответствовать пропускной способности дата-центра, но для автономного анализа документов/логов, проверки соответствия или обобщения больших контекстов это прагматичный способ комфортного выполнения моделей 8B–20B и даже перехода на MoE-80B, если вы можете допустить ~100–200 ГБ быстрого локального хранилища и генерацию со скоростью менее 1 ток/с.
Проверьте репозиторий GitHub [здесь](…). Не стесняйтесь заглянуть на нашу страницу GitHub за учебными пособиями, кодами и ноутбуками. Также подписывайтесь на нас в Twitter и присоединяйтесь к нашему сообществу в SubReddit с более чем 100 тысячами участников по машинному обучению и подписывайтесь на нашу рассылку.
Статья «Знакомьтесь с oLLM: лёгкая библиотека Python для запуска LLM с контекстом до 100 тысяч токенов на потребительских GPU с 8 ГБ памяти с помощью выгрузки на SSD — квантование не требуется» впервые опубликована на MarkTechPost.
1. Какие преимущества предлагает библиотека oLLM для работы с большими языковыми моделями (LLM) на потребительских GPU?
oLLM позволяет запускать трансформеры с большим контекстом на графических процессорах NVIDIA, агрессивно выгружая веса и KV-кэш на быстрые локальные SSD. Это делает возможным использование LLM на потребительских GPU с 8 ГБ памяти без необходимости квантования.
2. Какие новые функции были добавлены в библиотеку oLLM?
В библиотеке oLLM были добавлены следующие новые функции:
* Чтение/запись в KV-кэш минуя mmap для снижения использования оперативной памяти хоста.
* Поддержка DiskCache для Qwen3-Next-80B.
* Llama-3 FlashAttention-2 для стабильности.
* Сокращение памяти GPT-OSS с помощью ядер, похожих на flash-attention, и фрагментированных MLP.
3. Какие модели поддерживаются библиотекой oLLM и на каких GPU она может быть использована?
Из коробки примеры охватывают Llama-3 (1B/3B/8B), GPT-OSS-20B и Qwen3-Next-80B. Библиотека ориентирована на NVIDIA Ampere (RTX 30xx, A-серия), Ada (RTX 40xx, L4) и Hopper.
4. Какие компромиссы необходимо учитывать при использовании библиотеки oLLM?
При использовании библиотеки oLLM необходимо учитывать следующие компромиссы:
* Пропускная способность. Сопровождающий сообщает о ~0,5 ток/с для Qwen3-Next-80B при 50 тысячах контекстов на RTX 3060 Ti — подходит для пакетной/автономной аналитики, но не для интерактивного чата.
* Нагрузка на хранилище. Длинные контексты требуют очень больших KV-кэшей; oLLM записывает их на SSD, чтобы поддерживать постоянный объём VRAM.
* Проверка реальности аппаратного обеспечения. Запуск Qwen3-Next-80B «на потребительском оборудовании» возможен благодаря дисковой ориентации oLLM, но типичный высокопроизводительный вывод для этой модели по-прежнему требует серверов с несколькими GPU.
5. В чём заключается основная концепция дизайна библиотеки oLLM?
Основная концепция дизайна библиотеки oLLM заключается в сохранении высокой точности, переносе памяти на SSD и обеспечении жизнеспособности сверхдлинных контекстов на одном 8-гигабайтном NVIDIA GPU.