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

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

Общее описание системы

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

Платформа позволяет работать с большими языковыми моделями (LLM), проводить их дообучение (fine-tuning), а также использовать специализированные модули для обработки и анализа данных.

Функциональные характеристики

Основные модули и возможности

  • ETL (Extract, Transform, Load): Извлечение, обработка и структурирование данных из неструктурированных документов (PDF и др.) для последующего анализа и поиска.
  • LLM (Large Language Model): Использование больших языковых моделей для генерации текста, ответов на вопросы, суммаризации и других задач. Поддерживает OpenAI-совместимый API.
  • Embeddings: Преобразование текстовых данных в числовые векторы (эмбеддинги) для выполнения задач семантического поиска, кластеризации и классификации.
  • Rerank: Повышение точности поиска путем переранжирования результатов и выделения наиболее релевантных документов для запроса.
  • Fine-tuning: Дообучение LLM-моделей с использованием LoRA/QLoRA адаптеров для улучшения качества ответов на специфичных для бизнеса задачах.
  • Управление моделями: Загрузка, развертывание и управление жизненным циклом моделей через REST API и веб-интерфейс.

Требования к аппаратному обеспечению

Рекомендуемые требования

  • ОС: Linux-сервер (рекомендуется Ubuntu 20.04+)
  • GPU: 2 видеокарты NVIDIA A100 40GB (или аналоги)
  • CPU: 8 ядер (потоков)
  • RAM: 160 GB
  • Диск: 1 TB свободного места

Примечание: Требования могут быть снижены в зависимости от используемых моделей и интенсивности нагрузки.

Требования к программному обеспечению

Серверная часть

  • Драйверы: Актуальные драйверы NVIDIA CUDA.
  • Контейнеризация: Docker и Docker Compose (версия с поддержкой V2).
  • Инструментарий NVIDIA: Nvidia Container Toolkit для работы GPU в контейнерах.

Клиентская часть (для пользователей)

  • Современный веб-браузер для доступа к пользовательским интерфейсам платформы.

Архитектура и интерфейсы

Система развертывается с использованием Docker-контейнеров, что обеспечивает изоляцию и управляемость компонентов. Взаимодействие с платформой осуществляется через несколько точек доступа.

Интерфейсы взаимодействия

  • REST API: Комплексный API для управления моделями, датасетами и задачами дообучения. Доступен Swagger UI для интерактивной работы с API.
  • OpenAI-совместимый API: Позволяет использовать стандартные клиенты OpenAI (Python, Langchain) для взаимодействия с LLM и моделями Embeddings. Конечные точки: /v1/chat/completions, /v1/embeddings.
  • Python-библиотека: Нативная библиотека langchain-compressa для удобной интеграции с фреймворком Langchain.
  • Веб-интерфейсы:
    • Chat UI: Playground для тестирования LLM и промптов.
    • Fine-tuning UI: Интерфейс для запуска и мониторинга процессов дообучения моделей.
    • AIM Dashboard: Панель для отслеживания метрик и логов в процессе дообучения.

Безопасность и масштабируемость

Безопасность

  • Аутентификация: Доступ к API защищен с помощью токенов (API-ключей), которые передаются в заголовке Authorization: Bearer <TOKEN>.
  • Изолированное развертывание: Платформа устанавливается на серверы заказчика, что обеспечивает полный контроль над данными и исключает их передачу третьим лицам.

Масштабируемость

  • Поддержка Multi-GPU: Система спроектирована для работы на нескольких GPU, что позволяет распределять нагрузку и ускорять вычисления.
  • Контейнерная архитектура: Использование Docker позволяет гибко управлять ресурсами и при необходимости масштабировать отдельные сервисы.
  • Гибкость конфигурации: Возможность расширения аппаратных мощностей (CPU, RAM, GPU, дисковое пространство) при увеличении нагрузки.