ИИ-функции#
Данный раздел содержит сводную информацию об инструментах DropApp, использующих технологии искусственного интеллекта (ИИ, AI), и выполняемых ими функциях:
Описание#
ИИ-инструменты DropApp поставляются в рамках компонента K8SI (K8S Artificial Intelligence), который включает:
ИИ-инструменты для автоматической настройки и обнаружения GPU-узлов:
GPU Operator — развертывание драйверов и среды выполнения NVIDIA. Подробнее о GPU Operator, его установке и параметрах — в разделах «GPU Operator» Руководства администратора и «GPU Operator» Руководства по установке DropApp с помощью Dactl.
Container Toolkit — запуск контейнеров с GPU. Подробнее — в разделах «Container Toolkit» Руководства администратора и «toolkit — параметры NVIDIA Container Toolkit» Руководства по установке DropApp с помощью Dactl.
K8s-device-plugin — интеграция GPU с Kubernetes. Подробнее — в разделах «K8s-device-plugin» Руководства администратора и «devicePlugin — настройки плагина устройства Kubernetes» Руководства по установке DropApp с помощью Dactl.
DCGM Exporter — мониторинг и экспорт метрик GPU. Подробнее — в разделах «DCGM Exporter» Руководства администратора и «dcgmExporter — конфигурация экспортера метрик DCGM для Prometheus» Руководства по установке DropApp с помощью Dactl.
Driver Manager — автоматизация установки и управления драйверами NVIDIA. Подробнее — в разделах «Driver Manager» Руководства администратора и «driver — конфигурация установки и управления драйвером NVIDIA» Руководства по установке DropApp с помощью Dactl.
GDRCopy — низкоуровневый доступ к памяти GPU для ускорения передачи данных. Подробнее — в разделе «GDRCopy» Руководства администратора и «gdrcopy — настройки GDRCopy для быстрого копирования между GPU и памятью» Руководства по установке DropApp с помощью Dactl.
MIG Parted (MIG Partiton Editor) — динамическое управление конфигурацией Multi-Instance GPU. Подробнее — в разделах «MIG Parted» Руководства администратора и «migManager — управление конфигурацией MIG на узлах с поддержкой» Руководства по установке DropApp с помощью Dactl.
Готовый стек для локального инференса ИИ-моделей:
SGLang — сервер LLM-инференса. Подробнее — в разделах «SGLang» Руководства администратора и «SGLang» Руководства по установке DropApp с помощью Dactl.
Triton Inference Server — универсальный инференс-сервер, поддерживает широкий спектр ML-моделей и бэкендов. Подробнее — в разделах «Triton Inference Server» Руководства администратора и «Triton Inference Server» Руководства по установке DropApp с помощью Dactl.
Triton Inference Server vLLM — специализированный LLM-сервер. Подробнее — в разделе «Triton Inference Server vLLM» Руководства по установке DropApp с помощью Dactl.
LWS (LeaderWorkerSet) — оркестрация многоузлового инференса. Подробнее — в разделах «LeaderWorkerSet» Руководства администратора и «LWS» Руководства по установке DropApp с помощью Dactl.
Инструменты интеллектуального планирования ресурсов:
KAI Scheduler — планировщик для ИИ/ML-нагрузок. Подробнее — в разделе «KAI Scheduler» Руководства администратора.
Volcano — система управления рабочими нагрузками. Подробнее — в разделе «Volcano» Руководства администратора.
HAMi — виртуализация и совместное использование AI-ускорителей, также относится к инфраструктурным компонентам. Подробнее — в разделе «HAMi» Руководства администратора.
Обеспечение высокоскоростной сети для распределенного ИИ:
Network Operator — управление сетевыми компонентами для RDMA и GPUDirect. Подробнее — в разделе «Network Operator» Руководства администратора.
Network Operator Init Container — инициализация сетевых компонентов. Подробнее — в разделе «Network Operator Init Container» Руководства администратора.
Обработку больших данных для ML-пайплайнов:
Spark Operator — оркестрация приложений Apache Spark для ML. Подробнее — в разделе «Spark Operator» Руководства администратора.
С помощью данных инструментов в DropApp реализуются ИИ-функции:
Для каждой ИИ-функции DropApp в таблице ниже показано соответствие критериям отнесения программного обеспечения к сфере искусственного интеллекта (ИИ, AI), утвержденным приказом Минэкономразвития России («Критерии определения принадлежности проектов к проектам в сфере искусственного интеллектам», приказ от 29.06.2021 г. N 392):
ИИ-функция |
Имитация когнитивных функций человека |
Создание результатов, сопоставимых с результатами интеллектуальной деятельности человека |
Технологии ИИ |
Результат создания/развития/внедрения/адаптации |
|---|---|---|---|---|
Мониторинг и управление GPU-ресурсами |
Да: |
Да: |
Компьютерное зрение, перспективные методы ИИ (инфраструктура обучения и инференса) |
ПО, а также инструментарий для разработчиков технологий ИИ |
Виртуализация ИИ-ускорителей |
Да: |
Да: |
Перспективные методы ИИ (оптимизация использования AI-ускорителей) |
ПО, а также инструментарий для разработчиков технологий ИИ |
Высокоскоростная сеть для распределенного ИИ |
Да: |
Да: |
Перспективные методы ИИ (распределенные вычисления) |
ПО, а также инструментарий для разработчиков технологий ИИ |
Оркестрация ML-пайплайнов |
Да: |
Да: |
Перспективные методы ИИ (ML-пайплайны) |
ПО, а также инструментарий для разработчиков технологий ИИ |
LLM-инференс (Large Language Model Inference) |
Да: |
Да: |
Обработка естественного языка, распознавание и синтез речи, компьютерное зрение (VLM) |
ПО, а также инструментарий для разработчиков технологий ИИ |
Интеллектуальное планирование ресурсов GPU |
Да: |
Да: |
Перспективные методы ИИ (оптимизация планирования ресурсов) |
ПО, а также инструментарий для разработчиков технологий ИИ |
Оркестрация распределенных ИИ-нагрузок |
Да: |
Да: |
Перспективные методы ИИ (распределенные рабочие нагрузки) |
ПО, а также инструментарий для разработчиков технологий ИИ |
Имитация когнитивных функций человека
Совокупность инструментов DropApp обеспечивает исполнение и оркестрацию моделей машинного обучения и больших языковых моделей (LLM), которые непосредственно реализуют имитацию когнитивных функций человека — понимание естественного языка, рассуждение, генерацию текста и принятие решений на основе анализа данных:
Triton Inference Server — сервер инференса, обеспечивающий исполнение обученных моделей (включая LLM, модели компьютерного зрения, модели обработки речи) в продуктивном режиме; на этом слое происходит непосредственная имитация когнитивных функций — распознавание образов, генерация ответов, классификация, предсказание.
SGLang — высокопроизводительный фреймворк для инференса и обслуживания больших языковых моделей (LLM-serving), реализующий структурированную генерацию текста, диалоговые сценарии и цепочки рассуждений (chain-of-thought), то есть непосредственно воспроизводящий процессы, аналогичные человеческому мышлению и речи.
LWS — Kubernetes-примитив, специально спроектированный для распределенного мульти-узлового инференса крупных моделей (в том числе LLM с сотнями миллиардов параметров), что необходимо для воспроизведения когнитивных функций в масштабе, недостижимом на одном узле.
KAI Scheduler и Volcano — планировщики, обеспечивающие gang-scheduling и совместное выделение GPU-ресурсов для распределенного обучения и инференса нейросетевых моделей, то есть создающие вычислительную основу для работы систем, имитирующих человеческое мышление.
HAMi, GPU Operator, K8s-device-plugin, MIG Parted, Container Toolkit, Driver Manager, GDRCopy, Network Operator — инфраструктурный слой, обеспечивающий доступ вычислительных задач к GPU-ускорителям и высокоскоростным сетям (RDMA/GPUDirect), без которого исполнение моделей, имитирующих когнитивные функции (в первую очередь LLM и модели компьютерного зрения), невозможно на требуемом масштабе.
Spark Operator — оркестрация распределенной обработки больших данных, используемых для обучения и валидации моделей, воспроизводящих аналитические и когнитивные функции человека.
Функциональность указанных компонентов в совокупности реализует полный конвейер — от подготовки данных и вычислительной инфраструктуры до непосредственного исполнения моделей, воспроизводящих когнитивные функции человека (понимание языка, генерация текста, распознавание образов, принятие решений).
Результаты, сопоставимые с результатами интеллектуальной деятельности человека
Компоненты DropApp предоставляют платформенный инструментарий, на базе которого разворачиваются и эксплуатируются модели ИИ, генерирующие результаты интеллектуальной деятельности — тексты, код, аналитические выводы, классификации изображений, рекомендации:
Triton Inference Server обеспечивает выдачу пользователю (или иной системе) результата работы модели — например, сгенерированного текста, распознанного объекта на изображении, синтезированной речи — то есть продукта, который по форме и содержанию сопоставим с результатом интеллектуальной деятельности человека (написание текста, анализ изображения, перевод).
SGLang формирует связные, контекстно-зависимые текстовые ответы, программный код, структурированные данные (JSON, таблицы) на основе запроса пользователя — результат, неотличимый по типу от продукта труда человека-эксперта (аналитика, программиста, редактора).
LWS и связанные с ним планировщики (KAI Scheduler и Volcano) обеспечивают возможность генерации указанных результатов моделями с большим числом параметров (мульти-узловой инференс), что напрямую влияет на качество и полноту получаемого результата, приближая его к уровню экспертной интеллектуальной деятельности человека.
Spark Operator используется для аналитической обработки и подготовки датасетов, на основе которых формируются агрегированные аналитические результаты (отчеты, прогнозы), сопоставимые с результатами труда аналитика.
Инфраструктурные компоненты (HAMi, GPU Operator, K8s-device-plugin, MIG Parted, Container Toolkit, Driver Manager, GDRCopy, Network Operator, DCGM Exporter) обеспечивают производительность и надежность вычислений, необходимую для получения указанных результатов в приемлемое время и с достаточным качеством (снижение задержек инференса, повышение точности за счет возможности использования более крупных моделей).
Конечным результатом применения продукта является генерация текстовых, аналитических и иных артефактов, которые пользователь воспринимает как результат интеллектуальной деятельности, сопоставимый с продуктом труда человека.
Компьютерное зрение и обработка естественного языка
Triton Inference Server — универсальная платформа инференса, поддерживающая модели компьютерного зрения (детекция, классификация, сегментация изображений) и модели обработки естественного языка (NLP), включая трансформерные архитектуры.
SGLang — специализированный движок инференса больших языковых моделей (LLM), то есть прямая реализация технологии обработки естественного языка (генерация, суммаризация, ответы на вопросы, диалоговые системы).
Распознавание и синтез речи
Triton Inference Server поддерживает развертывание моделей распознавания речи (ASR) и синтеза речи (TTS) в качестве обслуживаемых инференс-моделей, обеспечивая необходимую инфраструктуру исполнения (батчинг запросов, динамическое масштабирование, поддержка GPU).
Интеллектуальные системы поддержки и принятия решений
Triton Inference Server и SGLang, обслуживающие модели рекомендательных систем, систем прогнозирования и принятия решений (в том числе на основе LLM-агентов), формируют технологическую основу интеллектуальных систем поддержки принятия решений.
KAI Scheduler и Volcano реализуют алгоритмическое принятие решений о распределении вычислительных ресурсов (gang-scheduling, fractional GPU allocation, приоритизация очередей) на основе анализа текущей загрузки кластера — то есть встроенную интеллектуальную систему поддержки принятия решений внутри самой платформы.
HAMi реализует технологию виртуализации и «нарезки» GPU-ресурсов (в т.ч. динамическое переключение MIG-профилей через MIG Parted) на основе автоматизированного анализа профиля нагрузки, что также относится к интеллектуальным системам поддержки принятия решений в части управления инфраструктурой ИИ.
Перспективные методы искусственного интеллекта
LWS реализует поддержку распределенного мульти-узлового инференса сверхбольших моделей (100+ млрд параметров) — перспективный метод масштабирования ИИ-систем, находящийся на переднем крае индустриальных практик (тензорный и конвейерный параллелизм между узлами).
SGLang реализует передовые методы оптимизации инференса LLM (RadixAttention, структурированная генерация, спекулятивное декодирование), относящиеся к перспективным методам ИИ.
Spark Operator обеспечивает распределенную обработку данных для обучения моделей методами машинного обучения (MLlib, интеграция с фреймворками глубокого обучения), поддерживая полный жизненный цикл перспективных методов ИИ — от подготовки данных до обучения.
GPU Operator, Container Toolkit, Driver Manager, GDRCopy, DCGM Exporter, Network Operator обеспечивают низкоуровневую поддержку GPU-вычислений и RDMA-сетей (GPUDirect, NCCL), необходимую для реализации перспективных методов обучения и инференса больших моделей ИИ (распределенное обучение, mixture-of-experts, retrieval-augmented generation и т.п.).
Набор компонентов K8SI в совокупности покрывает основные технологии ИИ — компьютерное зрение, NLP, распознавание/синтез речи, интеллектуальные системы поддержки принятия решений, а также перспективные методы масштабирования и оптимизации моделей ИИ.
Результат — ПО, его масштабирование и адаптация под новые прикладные сферы
Продукт представляет собой программный комплекс (Kubernetes-платформа) с выделенным набором артефактов K8SI, обеспечивающим масштабирование ИИ-нагрузок и адаптацию под различные прикладные сферы (обработка языка, зрения, речи, рекомендательные системы):
GPU Operator, Container Toolkit, Driver Manager, K8s-device-plugin, MIG Parted, HAMi обеспечивают автоматизированное масштабирование доступа прикладных ИИ-сервисов к GPU-ресурсам в кластере — от единичных узлов до крупных распределенных развертываний, а также адаптацию под различные конфигурации оборудования (полное выделение GPU, MIG-партиционирование, дробное совместное использование GPU).
LWS, KAI Scheduler, Volcano обеспечивают масштабирование инференса и обучения моделей ИИ с одного узла до мульти-узловых конфигураций, адаптируя платформу под новые классы задач (крупные LLM, распределенное обучение).
Triton Inference Server и SGLang как программные компоненты сами по себе адаптируются (через конфигурацию, плагины бэкендов, поддержку различных форматов моделей — ONNX, TensorRT, PyTorch, TensorFlow) под новые прикладные сферы ИИ без изменения базовой архитектуры.
Network Operator и Network Operator Init Container обеспечивают масштабирование сетевой инфраструктуры (RDMA/InfiniBand/RoCE) под потребности распределенных ИИ-нагрузок.
Результат — Специальные средства и решения для разработчиков технологий ИИ (инструментарий обработки и анализа данных, создание и применение алгоритмов ML, открытые библиотеки, испытательные стенды)
Spark Operator — специализированный инструмент для распределенной обработки и анализа больших данных, используемых при подготовке обучающих выборок и признаков (feature engineering) для моделей машинного обучения.
SGLang и Triton Inference Server являются открытыми программными библиотеками/фреймворками, предоставляемыми разработчикам ИИ-технологий для создания и применения на их основе алгоритмов (моделей) машинного обучения и построения собственных сервисов инференса.
KAI Scheduler, Volcano, HAMi, GPU Operator, LWS формируют испытательный стенд (тестовый и продуктивный полигон) для разработчиков ИИ-моделей, позволяющий воспроизводимо запускать, тестировать и масштабировать эксперименты по обучению и инференсу моделей на GPU-кластере.
DCGM Exporter предоставляет инструментарий мониторинга и анализа состояния GPU-инфраструктуры, используемый разработчиками ИИ-технологий для диагностики и оптимизации процессов обучения/инференса.
Дополнительные компоненты K8SC/K8SO/K8SU (Cilium, CRI-O, Kubernetes, Helm, Argo Workflows, Node Feature Discovery и др.) образуют универсальную инфраструктурную и CI/CD-платформу, на базе которой разработчики технологий ИИ создают собственные испытательные стенды, конвейеры обучения (ML pipelines) и системы автоматизированного развертывания моделей.
Результат — Наборы данных (сбор, очистка, разметка, валидация, деперсонализация, хранение, обогащение, аудит, опубликование и актуализация данных с использованием ИИ)
Spark Operator обеспечивает функциональность распределенной обработки данных, включающую сбор, очистку (data cleansing), трансформацию, валидацию и обогащение больших наборов данных, используемых для последующего обучения моделей ИИ.
Инфраструктурные компоненты (LVM-operator, хранилища, сетевые операторы) в составе K8SC/K8SO/K8SU обеспечивают надежное и масштабируемое хранение подготовленных наборов данных на всех этапах их жизненного цикла — от сбора до актуализации.
Результатом внедрения и адаптации продукта является программный комплекс, обеспечивающий масштабирование ИИ-сервисов под новые прикладные задачи, предоставление разработчикам ИИ специализированного инструментария и испытательных стендов для создания и применения моделей машинного обучения, а также инфраструктуру для обработки и подготовки наборов данных, используемых при обучении моделей ИИ .
LLM-инференс (Large Language Model Inference)#
DropApp предоставляет готовый стек для локального инференса ИИ-моделей. Данная ИИ-функция имитирует когнитивные способности человека, связанные с пониманием и генерацией естественного языка, распознаванием и синтезом речи, а также обработкой визуальной информации (для визуально-языковых моделей): она позволяет разворачивать и обслуживать крупные языковые (LLM) и визуально-языковые модели (VLM) в производственных средах.
В реализации данной функции задействованы:
SGLang — сервер LLM-инференса;
Triton Inference Server — универсальный инференс-сервер, поддерживает широкий спектр ML-моделей и бэкендов;
Triton Inference Server vLLM — специализированный LLM-сервер;
LWS (LeaderWorkerSet) — оркестрация многоузлового инференса.
Пользователь проверяет готовность стека локального инференса, выполняет инференс LLM-моделей через SGLang с использованием OpenAI-совместимого API, обслуживает ML-модели через Triton Inference Server по протоколам HTTP/gRPC, выполняет специализированный LLM-сервинг через Triton Inference Server vLLM, а также организует многоузловой инференс LLM-моделей с помощью LWS (LeaderWorkerSet).
Сценарий использования приведен в разделе «LLM-инференс (Large Language Model Inference)» Руководства пользователя.
Интеллектуальное планирование ресурсов GPU#
DropApp реализует интеллектуальное планирование ресурсов GPU с помощью инструмента KAI Scheduler — планировщика для ИИ/ML-нагрузок. Данная ИИ-функция имитирует когнитивные способности человека, связанные с планированием и принятием решений: она оптимизирует распределение ресурсов GPU между вычислительными задачами, обеспечивая эффективное использование оборудования.
Пользователь проверяет готовность планировщика KAI Scheduler, управляет очередями планирования и их квотами на ресурсы GPU, планирует GPU-нагрузки с назначением очереди и планировщика, приоритизирует рабочие нагрузки с вытеснением низкоприоритетных задач, обеспечивает одновременное планирование всех pod группы (gang scheduling) и эффективно разделяет GPU между несколькими задачами.
Сценарий использования приведен в разделе «Интеллектуальное планирование ресурсов GPU» Руководства пользователя.
Мониторинг и управление GPU-ресурсами#
DropApp предоставляет инструменты для автоматической настройки, обнаружения, управления и мониторинга GPU-узлов. Данная ИИ-функция имитирует когнитивные способности человека, связанные с обработкой визуальной информации и планированием вычислительной деятельности: она автоматизирует распознавание специализированного оборудования, планирование и контроль его использования, что позволяет готовить инфраструктуру для обработки данных и обучения моделей ИИ.
В реализации данной функции задействованы инструменты:
GPU Operator — развертывание драйверов и среды выполнения NVIDIA;
Container Toolkit — запуск контейнеров с GPU;
K8s-device-plugin — интеграция GPU с DropApp;
DCGM Exporter — мониторинг и экспорт метрик GPU;
Driver Manager — автоматизация установки и управления драйверами NVIDIA;
GDRCopy — низкоуровневый доступ к памяти GPU для ускорения передачи данных;
MIG Parted — динамическое управление конфигурацией Multi-Instance GPU (MIG).
Пользователь проверяет доступность GPU-ресурсов в кластере (готовность GPU-узлов и ресурс nvidia.com/gpu), получает метрики GPU через DCGM Exporter для мониторинга состояния и производительности в реальном времени, а также управляет конфигурацией MIG на узлах с поддержкой: применяет выбранный MIG-профиль, проверяет доступность MIG-ресурсов в кластере и запускает на них рабочие нагрузки.
Сценарий использования приведен в разделе «Мониторинг и управление GPU-ресурсами» Руководства пользователя.
Виртуализация ИИ-ускорителей#
DropApp реализует виртуализацию и совместное использование AI-ускорителей различных типов (GPU, NPU и других) с помощью инструмента HAMi. Данная ИИ-функция имитирует когнитивные способности человека, связанные с планированием и распределением ресурсов: она позволяет эффективно разделять вычислительные ресурсы ускорителей между несколькими задачами, снижая потребление и повышая производительность обработки данных.
Пользователь подготавливает узлы с ИИ-ускорителями для планирования (наносит метку gpu=on для HAMi), организует совместное использование одного или нескольких ускорителей между несколькими pod, ограничивает выделяемые ускорителем ресурсы по объему памяти и доле вычислительных ядер, а также динамически управляет конфигурацией MIG. Существующие приложения при этом работают без изменения кода (нулевая модификация).
Сценарий использования приведен в разделе «Виртуализация ИИ-ускорителей» Руководства пользователя.
Высокоскоростная сеть для распределенного ИИ#
DropApp обеспечивает высокоскоростную сеть для распределенного ИИ с помощью инструментов:
Network Operator — управление сетевыми компонентами для RDMA и GPUDirect;
Network Operator Init Container — инициализация сетевых компонентов.
Данная ИИ-функция имитирует когнитивные способности человека, связанные с координацией и взаимодействием: она настраивает сетевые компоненты для технологии RDMA и GPUDirect, что позволяет объединять вычислительные ресурсы для распределенного обучения и инференса моделей ИИ.
Пользователь проверяет готовность высокоскоростной сети (состояние NICClusterPolicy и доступность ресурса rdma/rdma_shared_device_a), а затем запускает рабочие нагрузки RDMA и GPU-Direct RDMA между несколькими pod, проверяя высокоскоростной обмен данными между вычислительными узлами и GPU (тесты ib_write_bw) для распределенного обучения и инференса моделей ИИ.
Сценарий использования приведен в разделе «Высокоскоростная сеть для распределенного ИИ» Руководства пользователя.
Оркестрация ML-пайплайнов#
DropApp обеспечивает оркестрацию ML-пайплайнов с помощью инструмента Spark Operator, который управляет жизненным циклом приложений Apache Spark для задач машинного обучения. Данная ИИ-функция имитирует когнитивные способности человека, связанные с обработкой больших объемов данных и организацией вычислительных процессов: она автоматизирует подготовку, обработку и анализ данных для обучения моделей ИИ.
Пользователь декларативно описывает и запускает приложения Apache Spark с помощью пользовательских ресурсов SparkApplication и ScheduledSparkApplication, отслеживает состояние и ход их выполнения, просматривает журналы и результаты вычислений, запускает приложения по расписанию (cron), а также получает метрики выполнения для мониторинга.
Сценарий использования приведен в разделе «Оркестрация ML-пайплайнов» Руководства пользователя.
Оркестрация распределенных ИИ-нагрузок#
DropApp обеспечивает оркестрацию распределенных ИИ-нагрузок с помощью инструментов:
Volcano — система управления рабочими нагрузками и планирования высокопроизводительных вычислений (AI/ML);
LeaderWorkerSet (LWS) — высокопроизводительный инструмент для управления распределенными AI/ML-нагрузками и многоузловым инференсом.
Данная ИИ-функция имитирует когнитивные способности человека, связанные с координацией и организацией коллективной деятельности: она управляет планированием и выполнением высокопроизводительных вычислительных рабочих нагрузок (AI/ML), включая многоузловой инференс.
Пользователь проверяет готовность планировщика Volcano и контроллера LWS (LeaderWorkerSet), оркестрирует пакетные (batch) AI/ML-нагрузки средствами Volcano с атомарным планированием группы задач (gang scheduling), управляет очередями и приоритетами планирования, организует многоузловой инференс LLM-моделей с помощью LWS и координирует совместное планирование групп pod с внешним планировщиком.
Сценарий использования приведен в разделе «Оркестрация распределенных ИИ-нагрузок» Руководства пользователя.