Сегодня искусственный интеллект трансформирует множество отраслей, обеспечивая невероятные возможности для автоматизации, анализа данных и принятия решений. Однако технологический прогресс в моделях и алгоритмах оказался намного опережающим развитие инфраструктуры, которая позволяет запускать и масштабировать такие решения. Многие инженеры в области машинного обучения и AI сталкиваются с серьезными сложностями при попытках эффективно управлять вычислительными ресурсами для обучения моделей, особенно когда речь идет о работе с графическими процессорами (GPU). Справиться с этой ситуацией помогает новое поколение облачных платформ — так называемые GPU Neoclouds, призванные оптимизировать доступ к мощностям и упростить управление задачами AI. На фоне стремительного роста популярности нейросетевых моделей и объемов вычислений, инфраструктурные специалисты регулярно сталкиваются с тем, что требования исследовательских групп меняются практически еженедельно.
В таких условиях необходимо гибко выделять вычислительные мощности, при этом стараясь не выходить за рамки уже утвержденного бюджета. Не менее важным становится соблюдение правил обработки и локализации данных, что усложняет интеграцию новейших библиотек и фреймворков, часто несовместимых с существующими развертываниями на базе Kubernetes. Методология работы с Kubernetes, которая за последние годы стала стандартом для контейнерной оркестрации, изначально создавалась для веб-сервисов и микросервисных архитектур, и далеко не оптимальна для масштабных AI-обучающих процессов. Несмотря на все достоинства контейнеризации, взаимодействие ресурсов в рамках ML-заданий зачастую требует значительно более тонкой настройки и синхронизации, которые Kubernetes в своем классическом виде не способен обеспечить без значительных доработок. Именно здесь на помощь приходят специализированные облачные провайдеры, известные как Neoclouds.
Среди них CoreWeave, Fluidstack, Lambda Labs, Nebius и Crusoe — компании, целенаправленно создающие инфраструктуру с упором на масштабируемость, доступность и снижение стоимости аренды GPU-ресурсов. В отличие от гигантов гипермасштабных облаков, таких как AWS или Google Cloud, предлагающих ограниченный пул дорогостоящих GPU, Neoclouds предлагают широкий ассортимент последних поколений графических процессоров, включая NVIDIA H100 и H200, по более привлекательным ценам. Одной из ключевых технических особенностей Neoclouds является внедрение InfiniBand — высокоскоростной технологии передачи данных на уровне сети между GPU. В отличие от традиционного Ethernet, который требует множественных копирований данных через процессор и операционную систему, InfiniBand с поддержкой GPUDirect RDMA позволяет мгновенно и напрямую обмениваться информацией между памятью графических процессоров и сетевыми интерфейсами. Для моделей с миллиардами параметров и тренировкой на нескольких десятках GPU это резко ускоряет вычисления, достигая повышения производительности в 2-3 раза.
Инфраструктура у CoreWeave, Lambda Labs и других построена вокруг этой сетевой архитектуры, позволяющей снимать узкие места в пропускной способности и задержках, что делает Neoclouds достойным конкурентом крупным провайдерам. Несмотря на все преимущества технической базы и ценовой доступности, остаются значительные трудности в вопросах управления и оркестрации AI-задач. Kubernetes хоть и является мощной платформой, его стандартные компоненты не всегда подходят для специфики AI проектов. В первую очередь это связано с характером самих машинно-обучающих процессов, которые являются состоянием, требующим постоянного обмена и сопровождения, а не статичными и масштабируемыми сервисами. Для исследователей и инженеров по ML приходится осваивать сложные детали настройки, связанные с ресурсным менеджментом, конфигурацией сетей и контейнеров, что отвлекает от ключевых задач и создает высокую когнитивную нагрузку.
Например, циклы разработки AI часто включают многочисленные быстрые итерации, тестирование гиперпараметров и внесение изменений в код. В условиях Kubernetes это означает затраты времени на пересборку, деплой и ожидание обновления, тормозящий инновации и снижая продуктивность. Кроме того, механизмы распределенного обучения требуют одновременного выделения всего набора GPU (gang scheduling), чтобы процесс не блокировался из-за частичной нехватки ресурсов. Как правило, стандартный планировщик Kubernetes не обеспечивает такого функционала, часто провоцируя простои оборудования и неэффективное использование мощностей. Существует также проблема ограниченности кластеров Kubernetes в современных сценариях.
Каждый кластер функционирует как изолированная единица, и перенос рабочих нагрузок между кластерами требует дополнительных усилий и вмешательства. В динамичном мире, где предложение и цена GPU меняются в зависимости от региона и провайдера, эту ригидность сложно считать приемлемой. В ответ на эти вызовы появляются новые системы планирования и управления вычислительными задачами, специализированные для AI. Среди них стоит отметить решения на основе Slurm — популярного планировщика из HPC-среды, адаптированного для запуска на Kubernetes. Примеры таких интеграций представлены в продуктах CoreWeave (SUNK) и Nebius (Soperator).
Хотя Slurm знаком многим AI-специалистам и обеспечивает ряд возможностей, он не идеален для облачной многооблачной среды и современного контейнерного подхода. Проблемы с синхронизацией программных зависимостей, сложности с контейнеризацией и отсутствие удобных интерфейсов мониторинга создают дополнительную административную нагрузку и тормозят взаимодействие команд. Не менее важным нюансом является то, что даже лучшие Neoclouds пока не предлагают готовых универсальных инструментов, упрощающих конечную работу ML-инженеров. Хотя инфраструктура и мощность уже находятся на очень высоком уровне, сами пользователи должны справляться с настройками Kubernetes, Slurm и специфическими компонентами самостоятельно, что порождает барьеры на пути к эффективной разработке. В итоге, потенциал Neoclouds раскрывается не полностью.