Руководство администратора Платформы быстрого и выгодного запуска моделей искусственного интеллекта "compressa"

Руководство администратора Платформы быстрого и выгодного запуска моделей искусственного интеллекта "compressa"

Введение

Данное руководство предназначено для системных администраторов и DevOps-инженеров, ответственных за установку, настройку и поддержку платформы Compressa. Здесь подробно описаны все шаги, необходимые для успешного развертывания платформы на серверах компании.

Платформа быстрого и выгодного запуска моделей искусственного интеллекта "compressa" (далее Compressa) — это готовая AI-инфраструктура, предоставляющая все необходимые компоненты для разработки и масштабирования решений на базе генеративного AI в безопасном контуре.

1. Требования к серверу

1.1. Аппаратное обеспечение

Для стабильной работы платформы Compressa рекомендуется использовать сервер со следующими характеристиками:

Компонент Рекомендуемое значение
Операционная система Linux (Ubuntu 20.04+ рекомендуется)
Графический процессор (GPU) 2 x NVIDIA A100 40GB
Центральный процессор (CPU) 8 потоков
Оперативная память (RAM) 160 GB
Дисковое пространство 1 TB
Примечание: Данная конфигурация является рекомендуемой для полноценной работы всех модулей. Требования могут быть снижены, если не планируется использование всех компонентов или ожидается невысокая нагрузка.

1.2. Программное обеспечение и драйверы

Перед установкой платформы убедитесь, что на сервере установлено следующее ПО:

  • Драйверы NVIDIA CUDA: Необходимо установить последние совместимые драйверы. Для Ubuntu это можно сделать с помощью следующих команд:
    sudo apt update
    sudo apt install software-properties-common -y
    sudo apt install ubuntu-drivers-common -y
    sudo ubuntu-drivers autoinstall
    sudo apt install nvidia-cuda-toolkit
  • Docker и Docker Compose: Убедитесь, что у вас установлена версия Docker, поддерживающая Docker Compose V2. Инструкция по установке для Ubuntu доступна здесь.
  • NVIDIA Container Toolkit: Необходимо для использования GPU внутри Docker-контейнеров. Инструкция по установке доступна здесь.

2. Процесс установки и развертывания

Шаг 1. Аутентификация в Docker

Для скачивания образов Compressa вам понадобится уникальный токен доступа. Установите его как переменную окружения:

export COMPRESSA_TOKEN=<ВАШ_ТОКЕН>

Затем пройдите аутентификацию в Docker-репозитории:

echo $COMPRESSA_TOKEN | docker login -u compressa --password-stdin

Шаг 2. Клонирование репозитория

Склонируйте репозиторий с конфигурационными файлами платформы:

git clone -b deploy/platform git@github.com:compressa-ai/compressa-deploy.git
cd compressa-deploy

Шаг 3. Базовая настройка

Основные настройки находятся в файлах .env и docker-compose.yml.

1. Укажите ID ваших GPU в файле .env. Это необходимо для корректной работы моделей.

# .env
DOCKER_GPU_IDS_1=<ID1>
DOCKER_GPU_IDS_2=<ID2>

2. Настройте порт доступа (по умолчанию 8080). При необходимости измените его в файле docker-compose.yml:

# docker-compose.yml
services:
  nginx:
    image: nginx:stable-alpine3.19-slim
    ports:
      - "8080:80" # <---- Измените порт здесь

Шаг 4. Настройка хранилища

По умолчанию платформа использует директорию ./data/compressa для хранения данных. Предоставьте необходимые права на запись:

chmod 777 -R ./data/compressa

Путь к хранилищу можно изменить в файле docker-compose.yml, если это необходимо.

Шаг 5. Запуск сервисов

После выполнения всех настроек запустите платформу с помощью следующей команды. Она соберет и запустит все необходимые контейнеры.

docker compose up --build -d
Важно: Модули ETL и Rerank будут установлены автоматически и не требуют отдельных команд для запуска.

3. Проверка работоспособности системы

После успешного запуска всех контейнеров (docker ps) необходимо проверить работоспособность ключевых API. Замените $SERVER_NAME:$PORT на адрес вашего сервера и порт (например, localhost:8080).

Проверка LLM модели

curl -X 'POST' "$SERVER_NAME:$PORT/v1/chat/completions" \
-H 'accept: application/json' \
-H 'Content-Type: application/json' -d '{
"model": "Compressa-LLM",
"messages": [{"role": "user", "content": "Напиши сказку на ночь!"}],
"stream": false
}'

Проверка Embeddings модели

curl -X 'POST' "$SERVER_NAME:$PORT/v1/embeddings" \
-H 'accept: application/json' \
-H 'Content-Type: application/json' -d '{
"model": "Compressa-Embedding",
"input": "Тестовый документ",
"encoding_format": "float"
}'

Проверка Rerank модели

curl -X POST "$SERVER_NAME:$PORT/v1/rerank" \
-H "accept: application/json" -H "Content-Type: application/json" -d '{
"model": "Compressa-ReRank",
"query": "Какой документ самый релевантный?",
"documents": ["документ 1", "документ 2", "документ 3"]
}'

Успешные ответы на эти запросы означают, что платформа установлена корректно и готова к работе.

4. Доступ к интерфейсам

После установки платформа предоставляет несколько веб-интерфейсов для управления и тестирования:

  • Swagger (Management API): `http://ваш_адрес:8080/pod-1/api/docs/`
  • Chat UI (Тестирование LLM): `http://ваш_адрес:8080/pod-1/chat/`
  • Fine-tuning UI (Дообучение моделей): `http://ваш_адрес:8080/pod-1/finetune/`