Настройка и развертывание кластера Ray для настройки с помощью BLOBFuse в службе Azure Kubernetes (AKS)

В этой статье рассматриваются настройка и развертывание кластера Ray в службе Azure Kubernetes Service (AKS) с использованием KubeRay, при этом BlobFuse предоставляет масштабируемое хранилище. Вы узнаете, как настроить кластер, интегрировать BLOBFuse для доступа к данным с высокой пропускной способностью и использовать Ray для выполнения распределенных заданий настройки или обучения. В руководстве также рассматриваются результаты мониторинга на панели мониторинга Ray и эффективное управление ресурсами.

Обзор

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

Высокая пропускная способность BlobFuse важна для заданий настройки, так как эти рабочие нагрузки часто включают множество параллельных задач, каждая из которых одновременно читает и записывает данные. BlobFuse обеспечивает доступ, соответствующий стандарту POSIX, к хранилищу BLOB-объектов Azure с высокой производительностью, минимизируя узкие места ввода-вывода и гарантируя, что распределенные задачи Ray могут быстрее выполняться. Это приводит к более эффективному использованию ресурсов и ускоряет общий процесс настройки.

Это решение использует KubeRay для оркестрации кластеров Ray в AKS, с BlobFuse, которое обеспечивает масштабируемое и высокопроизводительное хранилище. Архитектура поддерживает надежное управление данными, быстрый ввод-вывод и простое масштабирование, что позволяет специалистам по обработке и анализу данных оптимизировать рабочие процессы разработки и настройки моделей в облаке.

Архитектура развертывания

На следующей схеме показан кластер Ray, развернутый в AKS, с постоянными томами, обеспеченными с помощью BlobFuse. BlobFuse подключает хранилище BLOB-объектов Azure к кластеру, обеспечивая быстрый доступ к большим наборам данных, совместимым с POSIX. Эта архитектура обеспечивает высокую пропускную способность для распределенных заданий настройки, что позволяет нескольким воркерам Ray эффективно считывать и записывать данные параллельно, что ускоряет обучение моделей и оптимизацию гиперпараметров.

Архитектура кластера Ray в службе Azure Kubernetes с blobFuse

Рис. 1. Кластер Ray, развернутый в AKS с BlobFuse, предоставляющий масштабируемое хранилище с высокой пропускной способностью для распределенных заданий настройки.

Рекомендации по хранению

При развертывании кластеров Ray для распределенной настройки в AKS выбор правильной серверной части хранилища критически важен для производительности и масштабируемости. Основными параметрами являются диски Azure, файлы Azure и BLOBFuse (хранилище BLOB-объектов Azure):

Вариант хранилища Масштабируемость Производительность (пропускная способность) Режим доступа Экономичность Пригодность для заданий распределенной настройки
Диски Azure Ограничено (на узел) Высокий (один узел) узел: одиночный/общий Выше для больших данных Не идеально (ограниченный одновременный доступ)
Файлы Azure Умеренный Умеренный Многоузловая (общая) Умеренный Пригоден для использования, но может стать узким местом при масштабировании.
BlobFuse/Blobs Высокий (масштаб облака) Высокий (параллельный доступ) Многоузловая (общая) Экономичность Лучший (масштабируемый, высокий уровень пропускной способности, параллельный доступ)

Рекомендация:
BlobFuse (хранилище BLOB-объектов Azure) — это предпочтительный вариант для кластеров Ray, выполняющих распределенные задания настройки в AKS. Она предлагает параллелизм в облаке, высокую пропускную способность для параллельных операций чтения и записи и экономичного хранилища, что делает его идеальным для рабочих нагрузок машинного обучения с большим объемом данных.

Развертывание кластеров Ray для оптимизации с помощью BlobFuse

Предпосылки

Разверните пример Ray автоматически

Если вы хотите развернуть полный пример Ray неинтерактивно, можно использовать deploy.sh сценарий в репозитории GitHub (https://github.com/Azure-Samples/aks-ray-sample). Этот скрипт выполняет действия, описанные в разделе процесса развертывания Ray.

  1. Клонируйте репозиторий GitHub локально и перейдите в корневой каталог репозитория с помощью следующих команд:

    git clone https://github.com/Azure-Samples/aks-ray-sample
    cd aks-ray-sample/sample-tuning-setup/terraform
    
  2. Разверните полный пример с помощью следующих команд:

    chmod +x deploy.sh
    ./deploy.sh
    
  3. После завершения развертывания просмотрите выходные данные журналов и группы ресурсов в портале Azure, чтобы увидеть созданную инфраструктуру.

Очистите ресурсы

Чтобы очистить ресурсы, созданные в этом руководстве, можно удалить группу ресурсов Azure, содержащую кластер AKS.

Дальнейшие шаги

Дополнительные сведения о рабочих нагрузках искусственного интеллекта и машинного обучения в AKS см. в следующих статьях: