OpenLake: высокопроизводительный движок хранения для LLM на GPU
OpenLake — это высокопроизводительный движок хранения для эффективного вывода LLM и обучения с использованием GPU. Он нацелен на решение задач с высокими требованиями к вводам-выводам, предоставляя миллионы операций в секунду с латентностью менее 1 мс.
Проект написан на Rust с использованием io_uring, что позволяет ему достигать значительно больших показателей, чем многие традиционные системы хранения. OpenLake подойдет разработчикам, работающим с большими языковыми моделями и требующим мощной инфраструктуры для обработки данных. Если ты ищешь решение для оптимизации производительности своих GPU-ворклоадов, это может быть твой выбор.
Обрати внимание, что проект находится на ранней стадии разработки, и могут быть ограничения по совместимости или функциональности. Информации о том, как запустить OpenLake, в README нет, так что стоит заглянуть в документацию для получения более детальной информации.
Проект OpenLake предлагает решение для распределенного хранения данных, специально разработанное для работы с высокопроизводительными вычислительными задачами на графических процессорах (GPU). Он построен на языке Rust и использует `io_uring`, что позволяет ему достигать миллионов операций ввода-вывода в секунду с задержкой менее 1 мс. Этот проект подходит для поддержки задач в области искусственного интеллекта и машинного обучения, предлагая такие функции, как кэширование, индексация и высокоскоростное восстановление данных.
Зачем нужен OpenLake?
OpenLake предназначен для оптимизации работы с ИИ-инфраструктурами, обеспечивая высокую пропускную способность и удобство работы с небольшими вводами/выводами. Он помогает минимизировать время простоя GPU во время обучения и вывода, что позволяет максимально эффективно использовать вычислительные ресурсы. Основные возможности OpenLake включают:
- Кэширование ключей и значений (KV Cache Offload)
- Индексация и обслуживание векторных данных (VectorDB)
- Ультрабыстрое хранение и восстановление контрольных точек (Checkpointing)
- Оптимизация обучения моделей с высокой скоростью чтения
- Хранение контекста для быстрой работы с большими объемами данных
Как установить и запустить?
Установка OpenLake довольно проста и не требует изменения существующего кода. Вот шаги, которые необходимо выполнить:
1) Настройка кэша KV на узлах GPU:
- Установи необходимый пакет:
pip install openlake-vllm
openlaked
export PYTHONHASHSEED=0
vllm serve --kv-transfer-config '{"kv_connector":"OpenLakeConnector","kv_connector_module_path":"openlake_client.openlake_connector","kv_role":"kv_both","kv_connector_extra_config":{"openlake_nodes":["127.0.0.1:9400"],"openlake_device":"local"}}'
2) Объектное хранилище масштаба PB для GPU
Чтобы создать S3-совместимое хранилище, следуй этим шагам:
- Склонируй репозиторий и собери его:
git clone https://github.com/openlake-project/openlake.git && cd openlake
cargo build --release --bin openlaked
mkdir -p data/d0 data/d1 data/d2 data/d3
./target/release/openlaked --config crates/openlake_server/configs/storage-tcp-local.toml
export AWS_ACCESS_KEY_ID=openlakeadmin
export AWS_SECRET_ACCESS_KEY=openlakeadmin
export AWS_DEFAULT_REGION=us-east-1
aws --endpoint-url http://127.0.0.1:9000 s3 mb s3://demo
aws --endpoint-url http://127.0.0.1:9000 s3 cp ./checkpoint.safetensors s3://demo/
aws --endpoint-url http://127.0.0.1:9000 s3 ls s3://demo/
Архитектура
OpenLake минимизирует путь от хранения до памяти GPU, обеспечивает низкую задержку и предсказуемость работы:
- Поддержка Zero Copy: данные передаются напрямую между NVMe или RDMA NIC и памятью GPU без промежуточного хранения в памяти хоста.
- Локальный асинхронный ввод-вывод: используется одна runtime на физический ядро, что повышает производительность и снижает конфликт.
- Эффективное управление долговечностью хранит данные с меньшими затратами на емкость.
Получение поддержки
Если у тебя возникли технические вопросы, ты можешь обратиться за помощью в [Discord-сообщество](https://discord.gg/TNXqVSnP6x) или создать issue на GitHub.
Проект лицензирован под Apache 2.0.
Радар проекта: 67 из 100 — крепкий проект
- Импульс 27 ≈ 3 звезды в день
- Темп разработки 63 36 коммитов за 12 недель
- Зрелость 66 проекту 7 месяцев, 12 релизов
- Сообщество 67 26 участников, 420 форков
- Свежесть 95 последний коммит — 8 дней назад
- Быстрый старт 50 есть: команда установки
- Готовность к продакшену 55 релиз v0.11.0, автосборка
- Безопасность и доверие 75 лицензия Apache-2.0, организация
- Документация 95 README 12 тыс. знаков, 27 разделов, папка docs
- Экосистема 73 47 подписчиков на обновления, 11 тем
Как считаем
Только открытые данные GitHub на 07.11.2026, без оценок нейросети. Каждая ось — от 0 до 100, итог — среднее.
- Импульс — звёзд в день: за время наших замеров, а пока их нет — за всю жизнь проекта; 200 в день — максимум.
- Темп разработки — коммитов за последние 12 недель; 300 — максимум. Пока GitHub не досчитал статистику, ось не учитывается.
- Зрелость — возраст проекта (3 года — максимум) и число релизов (30 — максимум), поровну.
- Сообщество — участников с коммитами (200 — максимум) и форков (5000 — максимум), поровну.
- Свежесть — дней с последнего коммита: сегодня — 100, полгода и больше или архив — 0.
- Быстрый старт — в README есть команда установки, раздел «быстрый старт» или примеры использования, в репозитории — Docker и папка примеров, у проекта есть сайт или демо.
- Готовность к продакшену — релизы, версия 1.0 и выше, автосборка (GitHub Actions), тесты, лицензия, журнал изменений.
- Безопасность и доверие — открытая лицензия (своя — половина балла), политика безопасности (SECURITY.md), проект организации, правила для участников, не в архиве.
- Документация — объём и структура README, папка docs или сайт, оценка «здоровья сообщества» GitHub.
- Экосистема — звёзды (50 тыс. — максимум), подписчики на обновления (1000 — максимум), темы репозитория.
Открыть на GitHub: openlake-project/openlake →
RepoRadar