vLLM
Это заготовка статьи. |
vLLM (Virtual Large Language Model) — это открытая библиотека (open-source library) для высокопроизводительного инференса и обслуживания больших языковых моделей (LLM), разработанная в Sky Computing Lab при UC Berkeley и поддерживаемая сообществом. Она предназначена для ускорения вывода (inference) LLM, решая проблемы неэффективного использования памяти и низкой пропускной способности, что делает её идеальным инструментом для производства, где требуется быстрая обработка запросов в реальном времени без значительных потерь в качестве. vLLM сочетает в себе inference engine (движок вывода) и сервер обслуживания, оптимизируя использование GPU для достижения до 24x большей скорости по сравнению с Hugging Face Transformers, особенно в сценариях с большим трафиком. Это не полноценный фреймворк для обучения, а специализированный инструмент для развёртывания и scaling LLM в облаке, на кластерах или локально, с акцентом на эффективность памяти через инновации вроде PagedAttention (страничное внимание для KV-кэша). vLLM часто сравнивают с аналогами вроде LMDeploy или TensorRT-LLM, но она выделяется простотой использования и интеграцией с популярными моделями (Llama, Mistral, GPT-подобные), делая её стандартом для MLOps в генеративном ИИ.
Функционал
- PagedAttention: Механизм виртуализации KV-кэша (кэш ключей-значений) как страничной памяти, снижающий фрагментацию памяти до 90% и увеличивающий пропускную способность в 2-4 раза.
- Continuous batching: Динамическая обработка запросов без ожидания завершения батча, оптимизирующая использование ресурсов для высокого трафика.
- Параллелизм: Поддержка tensor parallelism и pipeline parallelism для распределенного инференса на нескольких GPU или узлах.
- Квантизация: Интеграция с методами AWQ, GPTQ, FP8 для снижения использования памяти без потери точности.
- LoRA-адаптеры: Поддержка адаптеров для тонкой настройки моделей без полной перезагрузки.
- Спекулятивная декодировка: Ускорение генерации токенов за счет предсказания нескольких вариантов одновременно.
- Совместимость с OpenAI API: Упрощает миграцию и интеграцию с существующими приложениями.
- Мониторинг и инструменты: Метрики, логи, кастомные процессоры logits и автоматический префикс-кэшинг для оптимизации.
- Disaggregated inference: Разделенный вывод для encoder-decoder моделей, улучшающий эффективность.
- Установка и использование: Простая установка через pip, запуск сервера, оффлайн-инференс и интеграция в приложения для чата, RAG и мультимодальных задач.
Ссылки
- Проект VLLM на сайте GitHub