Поделиться через


Рекомендации по вычислению рабочих нагрузок ИИ в инфраструктуре Azure (IaaS)

В этой статье содержатся рекомендации по вычислению для организаций, работающих с рабочими нагрузками искусственного интеллекта в инфраструктуре Azure (IaaS). Предпочтительный подход — начать внедрение ИИ с помощью решений платформы ИИ Azure как службы (PaaS). Однако если у вас есть доступ к графическим процессорам Azure, следуйте инструкциям по выполнению рабочих нагрузок ИИ в Azure IaaS.

Рабочие нагрузки искусственного интеллекта требуют специализированных виртуальных машин для обработки высоких вычислительных требований и крупномасштабной обработки данных. Выбор правильных виртуальных машин оптимизирует использование ресурсов и ускоряет разработку и развертывание моделей ИИ. В следующей таблице представлен обзор рекомендуемых параметров вычислений.

Этап искусственного интеллекта Образ виртуальной машины Генеративный ИИ Негенерационный ИИ (сложные модели) Негенерационный ИИ (небольшие модели)
Обучение моделей ИИ Виртуальные машины для обработки и анализа данных GPU (предпочесть семейство ND. Кроме того, используйте семейство NC с сетевыми виртуальными машинами) GPU (предпочесть семейство ND. Кроме того, используйте семейство NC с сетевыми виртуальными машинами) Оптимизированная для памяти (ЦП)
Вывод моделей ИИ Виртуальные машины для обработки и анализа данных GPU (семейство NC или ND) GPU (семейство NC или ND) Оптимизированный для вычислений (ЦП)

Выбор правильного образа виртуальной машины

Выберите подходящий образ виртуальной машины, например Виртуальная машина для обработки и анализа данных, для быстрого доступа к предварительно настроенным средствам для рабочих нагрузок искусственного интеллекта. Этот выбор экономит время и ресурсы, предоставляя программное обеспечение, необходимое для эффективной обработки ИИ

  • Начните с изображений Виртуальная машина для обработки и анализа данных. Образ Виртуальная машина для обработки и анализа данных предоставляет предварительно настроенный доступ к средствам обработки и анализа данных. К этим средствам относятся PyTorch, TensorFlow, scikit-learn, Jupyter, Visual Studio Code, Azure CLI и PySpark. При использовании с графическими процессорами образ также включает драйверы Nvidia, набор средств CUDA и cuDNN. Эти изображения служат базовым образом. Если требуется дополнительное программное обеспечение, добавьте его с помощью скрипта во время загрузки или встраивание в пользовательский образ. Они поддерживают совместимость с решениями оркестрации.

  • При необходимости найдите альтернативные изображения. Если образ Виртуальная машина для обработки и анализа данных не соответствует вашим потребностям, используйте Azure Marketplace или другие методы поиска для поиска альтернативных изображений. Например, с графическими процессорами может потребоваться образы Linux, включающие драйверы InfiniBand, драйверы NVIDIA, библиотеки коммуникации, библиотеки MPI и средства мониторинга.

Выбор размера виртуальной машины

Выбор подходящего размера виртуальной машины соответствует сложности модели ИИ, размеру данных и ограничениям затрат. Сопоставление оборудования с обучением или выводом нуждается в максимальной эффективности и предотвращает недоиспользуние или перегрузку.

  • Сузьте параметры виртуальной машины. Выберите последние номера SKU виртуальных машин для оптимального обучения и времени вывода. Для обучения выберите номера SKU, поддерживающие взаимодействие RDMA и GPU для высокоскоростной передачи данных между gpu. Для вывода избегайте номеров SKU с InfiniBand, что является ненужным. Примерами являются серии ND MI300X версии 5, серии ND H100 v5, NDm A100 v4 и ND A100 v4-series.

  • Проверьте цены на виртуальные машины. Используйте страницы цен на виртуальные машины Linux и Windows для общего обзора затрат. Для подробной оценки используйте калькулятор цен Azure.

  • Рассмотрим точечные экземпляры.Точечные экземпляры эффективны для сценариев вывода с минимальным риском потери данных. Точечные экземпляры обеспечивают значительную экономию за счет использования неиспользуемой емкости центра обработки данных со скидкой. Однако эта емкость может быть восстановлена в любое время, поэтому точечные экземпляры лучше всего подходит для рабочих нагрузок, которые могут обрабатывать прерывания. Регулярно данные контрольной точки для минимизации потери при вытеснении. Дополнительные сведения см. в статье Об использовании точечных виртуальных машин в Azure CycleCloud.

Выбор решения для оркестрации вычислений

Решения для оркестрации вычислений упрощают управление задачами искусственного интеллекта в кластерах виртуальных машин. Даже для простых развертываний оркестратор может помочь сократить затраты и обеспечить воспроизведение среды. Оркестраторы помогут вам использовать только вычислительные ресурсы, необходимые для определенного периода времени. Выберите средство оркестрации на основе планирования, контейнеризации и масштабирования, необходимых для улучшения операций и масштабируемости.

  • Используйте Azure CycleCloud для планировщиков с открытым кодом. Azure CycleCloud идеально подходит для планировщиков с открытым исходным кодом, таких как Slurm, Grid Engine или Моментальный момент/PBS. Она обеспечивает гибкое управление кластерами, настраиваемые конфигурации и расширенные возможности планирования. Виртуальные машины в кластере требуют конфигурации для выполнения рабочей нагрузки ИИ. Виртуальные машины для CycleCloud и пакетной службы не являются постоянными. Оркестратор создает и удаляет виртуальные машины при необходимости, чтобы помочь с экономией затрат. Дополнительные сведения см. в рабочей области Azure CycleCloud для Slum.

  • Используйте пакетная служба Azure для встроенного планирования. пакетная служба Azure предлагает встроенные функции планирования без необходимости дополнительной установки программного обеспечения или управления. Она имеет модель ценообразования потребления и не взимается плата за лицензирование. Она также поддерживает контейнеризованные задачи в собственном коде. Рекомендации по развертыванию см. в пакетная служба Azure Акселераторе.

  • Используйте Служба Azure Kubernetes (AKS) для масштабирования контейнеров. AKS — это управляемая служба для развертывания, масштабирования и управления контейнерами в кластере. Он подходит для выполнения рабочих нагрузок ИИ в контейнерах в большом масштабе. Дополнительные сведения см. в разделе "Использование Служба Azure Kubernetes для размещения рабочих нагрузок на основе GPU".

  • Вручную оркестрация заданий для более простых задач. Если потребности оркестрации минимальны, управляйте ресурсами ИИ вручную. Рассмотрим следующие действия для небольших рабочих нагрузок:

    • Определите рабочий процесс. Общие сведения о рабочем процессе, включая зависимости и последовательность заданий. Рассмотрим, как обрабатывать сбои на любом шаге.
    • Ведение журнала и мониторинг заданий. Реализуйте четкие платформы ведения журнала и мониторинга для заданий.
    • Проверка необходимых компонентов. Убедитесь, что среда соответствует всем требованиям рабочего процесса, включая необходимые библиотеки и платформы.
    • Использование управления версиями Отслеживание изменений и управление ими с помощью управления версиями.
    • Автоматизация задач. Используйте сценарии для автоматизации предварительной обработки, обучения и оценки данных.

Рассмотрим контейнеры

Контейнеры обеспечивают согласованную воспроизводимую среду, которая эффективно масштабируется. Контейнеры упрощают переходы между средами, что делает их важными для масштабируемых решений искусственного интеллекта.

  • Установите драйверы. Убедитесь, что необходимые драйверы устанавливаются для включения функциональных возможностей контейнеров в различных сценариях. Для конфигураций кластера часто требуются такие инструменты, как Pyxis и Enroot.

  • Используйте набор средств контейнеров NVIDIA. Этот набор средств включает ресурсы GPU в контейнерах. Установите все необходимые драйверы, такие как драйверы CUDA и GPU, и используйте предпочтительную среду выполнения контейнера и подсистему для выполнения рабочей нагрузки ИИ.

Следующий шаг