Запуск LLM сервера на отдельном сервере

В данном разделе описывается настройка для запуска только LLM сервера на отдельном сервере, без остальных компонентов Sherpa AI Server.

Когда это нужно

Запуск LLM сервера на отдельном сервере полезен когда:

  • Нужно распределить нагрузку между серверами

  • LLM сервер требует мощных GPU и его лучше вынести на отдельный сервер

  • Требуется масштабирование - несколько LLM серверов для балансировки нагрузки

  • Нужно изолировать LLM сервер от основного приложения

Требования

  • Сервер с GPU NVIDIA (CUDA 11.8+)

  • Docker и Docker Compose установлены

  • NVIDIA Container Toolkit установлен

  • Модели LLM загружены в директорию llm-server/models/

Настройка

Шаг 1: Подготовка сервера

Убедитесь, что на сервере установлены все необходимые компоненты

Шаг 2: Подготовка файлов

Скопируйте на сервер следующие файлы и директории:

Шаг 3: Комментирование ненужных сервисов

Откройте файл docker-compose.yml и закомментируйте все сервисы кроме aiserver-llm-server.

Пример: Закомментированные сервисы

Шаг 5: Настройка переменных окружения

Создайте или отредактируйте файл .env с настройками LLM сервера:

Важно:

  • Убедитесь что путь к модели правильный: LLM_COMPLETION_MODEL_NAME=/model-store/название-модели

Шаг 6: Проверка конфигурации

Перед запуском проверьте конфигурацию:

Шаг 7: Запуск LLM сервера

Ожидаемый результат: Должен запуститься только контейнер aiserver-llm-server.

Шаг 8: Проверка работы

Ожидаемый результат:

  • Контейнер должен успешно запуститься

  • В логах не должно быть критических ошибок

  • API должен отвечать на запросы

  • GPU должна использоваться для загрузки модели

Подключение с другого сервера

Если LLM сервер запущен на отдельном сервере, настройте подключение с основного сервера.

На основном сервере

В файле .env основного сервера укажите адрес LLM сервера:

Минимальная конфигурация docker-compose

Пример минимального docker-compose.yml только для LLM сервера:

Сохраните этот файл как docker-compose.llm-only.yml и используйте:

Возможные проблемы

Контейнер не запускается

Проблема: Контейнер падает сразу после запуска.

Решение:

  1. Проверьте логи: docker logs aiserver-llm-server

  2. Убедитесь что GPU доступна: nvidia-smi

  3. Проверьте что модель существует: ls -la llm-server/models/

  4. Проверьте права доступа к директории моделей

Модель не загружается

Проблема: Ошибки при загрузке модели.

Решение:

  1. Проверьте путь к модели в .env: LLM_COMPLETION_MODEL_NAME

  2. Убедитесь что модель загружена: ls -la llm-server/models/

  3. Проверьте логи на ошибки загрузки: docker logs aiserver-llm-server | grep -i error

Недостаточно памяти GPU

Проблема: Модель не помещается в память GPU.

Решение:

  • Уменьшите LLM_GPU_MEMORY_UTILIZATION в .env

  • Используйте квантованную версию модели (установите LLM_QUANTIZATION=true)

  • Используйте модель меньшего размера

Порт недоступен извне

Проблема: Не могу подключиться к LLM серверу с другого сервера.

Решение:

  1. Проверьте firewall: sudo ufw status

  2. Проверьте что порт проброшен: docker port aiserver-llm-server

  3. Проверьте сетевые настройки Docker

Мониторинг

Для мониторинга работы LLM сервера:

Оптимизация производительности

Для оптимизации производительности LLM сервера:

  1. Настройка памяти GPU:

  2. Настройка батчинга:

  3. Использование квантования:

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

Last updated