vLLM: развертывание больших языковых моделей на платформе Runpod

vLLM: развертывание больших языковых моделей на платформе Runpod

Это шаблон рабочего процесса для развертывания больших языковых моделей (LLM) с использованием vLLM на платформе Runpod. Он позволяет создать совместимый с OpenAI конечный сервер для обработки запросов к моделям с высокой производительностью, не заботясь об управлении инфраструктурой.

Проект будет полезен разработчикам, которые хотят быстро развернуть LLM для своих приложений, но не хотят углубляться в детали настройки серверов. В отличие от обычных образов vLLM, этот шаблон упрощает процесс развертывания и управления своими моделями, предоставляя готовые Docker-образы. Вместо этого, если тебе нужно просто балансировщик нагрузки, стоит обратить внимание на официальное vLLM-изображение.

Для запуска потребуется Docker, а также базовые навыки работы с командной строкой. Так как это решение предназначено для работы на платформе Runpod, наличие аккаунта на этой платформе обязательно. Проект находится на стадии активной разработки, поэтому рекомендуется следить за обновлениями и проверять совместимость моделей.

Проект **runpod-workers/worker-vllm** представляет собой серверный работник, который позволяет развертывать совместимые с OpenAI LLM (Large Language Model) конечные точки, используя движок vLLM на платформе Runpod. Это решение предоставляет возможность достаточно быстро и просто создавать серверные конечные точки для моделирования на основе LLM, доступных на Hugging Face.

Цели и функциональность

Основная задача этого проекта — дать возможность разработчикам развертывать LLM модели в безсерверной инфраструктуре с поддержкой API, совместимого с OpenAI. Работник vLLM предлагает гибкость в выборе моделей и их конфигурации через настройки окружения. Поддерживаются как предустановленные Docker-образы, так и возможность создания кастомных образов с моделями внутри.

Установка и настройка

Существует несколько способов развертывания рабочего процесса:

  • Опция 1: Использовать предустановленный Docker-образ. Это самый рекомендуемый способ. Для развертывания достаточно следовать пошаговой инструкции на сайте Runpod.
  • Опция 2: Создать свой Docker-образ с моделью внутри. Для этого потребуется предварительная настройка окружения и указание необходимых аргументов при сборке.

Пример команды для развертывания с предустановленным образом:

docker run -e MODEL_NAME="your_model" runpod/worker-v1-vllm:

Конфигурация

Работник vLLM настраивается с помощью переменных окружения. Основные параметры включают:

  • MODEL_NAME — путь к весам модели.
  • HF_TOKEN — токен доступа Hugging Face для приватных моделей.
  • MAX_MODEL_LEN — максимальная длина контекста для модели.
  • QUANTIZATION — метод квантования.
  • MAX_CONCURRENCY — максимальное количество одновременно обрабатываемых запросов.

Дополнительно, может быть использован конфигурационный файл config.yaml для более комплексной настройки.

Использование API

Рабочий процесс vLLM полностью совместим с API OpenAI, что позволяет заменять исходные вызовы API на вызовы, направленные на развернутую конечную точку в Runpod. Для этого нужно просто изменить несколько строк в коде и указать соответствующий URL и ключ API.

Пример использования:

client = OpenAI(api_key=os.environ.get("RUNPOD_API_KEY"), base_url="https://api.runpod.ai/v2//openai/v1")

Ограничения

Существуют определенные ограничения, о которых стоит помнить:

  • Некоторые модели могут не запускаться из-за недостатка ресурсов GPU или неправильных параметров конфигурации.
  • Модели, требующие токенов для доступа, должны быть настроены соответствующим образом.
  • Отсутствуют очереди обработки для конечных точек нагрузки, что может приводить к ошибкам при попытке обработки запросов в момент, когда работники еще не готовы.

При диагностике проблем с запуском работник предоставляет сообщения об ошибках, которые могут помочь скорректировать параметры и добиться успешного старта.

Открыть на GitHub: runpod-workers/worker-vllm →

Что нового на GitHub — короткие обзоры на русском Новые обзоры приходят в Telegram. Без спама, по делу.
Подписаться

Похожие статьи

Популярные темы на сайте