Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Ray — это платформа открытый код для масштабирования приложений Python. Она включает библиотеки, относящиеся к рабочим нагрузкам ИИ, что делает его особенно подходящим для разработки приложений ИИ. Ray в Azure Databricks позволяет запускать приложения Ray при получении всех преимуществ платформы и функций Azure Databricks.
С помощью Ray 2.3.0 и более поздних версий можно создавать кластеры Ray и запускать приложения Ray в кластерах Apache Spark с помощью Azure Databricks.
Сведения о начале работы с машинным обучением в Ray, включая учебники и примеры, см. в документации по Ray. Дополнительные сведения об интеграции Ray и Apache Spark см. в документации по API Spark.
Что такое Ray?
Ray упрощает распределенные системы, предоставляя базовые примитивы Python для создания распределенных приложений с нуля. Для разработчиков Python, новых для распределенных систем, она обеспечивает ту же простоту использования, что и стандартный Python при управлении оркестрацией, планированием и отказоустойчивостью.
Ray и Apache Spark являются дополнительными платформами. Рэй превосходно справляется с логическим параллелизмом, обрабатывая динамические и требующие больших вычислений задачи, такие как машинное обучение и обучение с подкреплением. Apache Spark специализируется на параллелизме данных, эффективно обрабатывая большие наборы данных для таких задач, как ETL и аналитика данных. Вместе они обеспечивают мощное сочетание как для обработки данных, так и для сложных вычислений.
Почему запускать Ray на Azure Databricks?
Запуск Ray в Azure Databricks позволяет использовать экосистему Azure Databricks, расширяя рабочие процессы обработки данных и машинного обучения с помощью служб и интеграции, которые недоступны в открытый код Ray. Преимущества запуска Ray в Azure Databricks:
- единой платформы: Azure Databricks предоставляет единую платформу, на которой можно запускать приложения Ray вместе с Apache Spark. Эта интеграция поддерживает простое выполнение операций ETL данных, эффективную передачу данных и мощные параллельные вычисления в одной вычислительной среде.
- Управление и контроль. Получите преимущества отслеживания происхождения, управления версиями данных и управления доступом с помощью Unity Catalog для всех ваших ресурсов данных, файлов, моделей и многого другого, обеспечивая соответствие требованиям и безопасность.
- Управление инфраструктурой. Используйте такие средства инфраструктуры, как поставщик Azure Databricks Terraform и пакеты ресурсов Azure Databricks для управления кластерами и заданиями, обеспечивая оптимизированные операции и масштабируемость.
- Управляемые кластеры Ray: кластеры Ray управляются в той же среде выполнения, что и запущенный кластер Apache Spark. Это обеспечивает масштабируемость, надежность и удобство использования без необходимости сложной настройки инфраструктуры.
- Обслуживание моделей и мониторинг: Подключение моделей, обученных с помощью Ray Train, к Mosaic AI Model Serving для высокодоступных развертываний с низкой задержкой. Кроме того, используйте профилирование данных для отслеживания качества прогнозирования и смещения модели, обеспечивая согласованную производительность.
- Расширенная разработка машинного обучения. Интеграция с полностью управляемой службой Azure Databricks MLflow для отслеживания разработки модели, упрощения управления экспериментами и воспроизведения в приложениях Ray.
- Автоматизированные рабочие процессы: используйте задания Lakeflow для автоматизации процессов, создавая готовые к работе конвейеры, упрощающие операции и уменьшая ручное вмешательство.
- Управление кодом и совместная работа. Эффективное управление кодом с помощью папок Git Azure Databricks, что позволяет легко интегрировать Git для управления версиями и совместной разработки для кода приложения Ray.
- Эффективный доступ к данным: подключите приложения Ray к Delta Lake, используя широкую экосистему интеграции данных Azure Databricks, чтобы расширить возможности Ray до более широкого спектра приложений и выходных данных.
Запустив Ray в Azure Databricks, вы получаете доступ к интегрированной экосистеме, которая улучшает обработку данных, машинное обучение и рабочие процессы.
Варианты использования — машинное обучение и не только
Ray — это универсальное средство, которое расширяет возможности Python за пределами ограничений операций DataFrame, что делает его идеальным для высоконастройных и специализированных распределенных алгоритмов.
машинное и глубокое обучение.
Используйте библиотеки машинного обучения Ray для улучшения рабочих процессов машинного обучения:
- настройка гиперпараметров: Оптимизация производительности модели с помощью Ray Tune для эффективного и масштабируемого поиска гиперпараметров.
- Распределенное обучение глубокого обучения: масштабирование моделей глубокого обучения на нескольких узлах с поддержкой популярных платформ, таких как PyTorch, TensorFlow, HuggingFace и Keras. Идеально подходит для обучения моделей компьютерного зрения или больших языковых моделей (LLM).
- Традиционное машинное обучение: использование Ray для распространения обучения, оценки и пакетного вывода для традиционных моделей машинного обучения, созданных с помощью популярных библиотек, таких как scikit-learn или XGBoost.
Высокопроизводительные вычисления (HPC)
Рэй преуспевает в распределении рабочих нагрузок HPC, что делает его подходящим для:
- Математические вычисления: выполнение сложных вычислений в таких областях, как физика, геномика или финансы с помощью Ray Core для эффективной параллельной обработки.
- Прогнозирование временных рядов: масштабируйте модели прогнозирования, проводя расчеты параллельно с пакетами прогнозирования, такими как Prophet или ARIMA.
Обработка данных и проектирование компонентов
Ray также может обрабатывать различные задачи обработки данных:
- Вычисляемые функции: сложные задачи проектирования функций с интенсивным вычислением могут воспользоваться архитектурой распределенных вычислений Ray.
- Аудио, изображение и видеообработка: распространение и ускорение обработки мультимедийных данных, что делает его идеальным для приложений в распознавании речи, классификации изображений и видеоанализа.
Ограничения
- Ray on Apache Spark поддерживается для выделенного режима доступа, режима общего доступа без изоляции и только для кластеров заданий. Инициировать кластер Ray на кластерах с использованием бессерверных сред выполнения невозможно. См. режимы доступа,.
- Избегайте запуска
%pipдля установки пакетов на работающем кластере Ray, так как это завершит работу кластера. Вместо этого установите библиотеки перед инициализацией кластера. - Использование интеграций, которые переопределяют конфигурацию из
ray.util.spark.setup_ray_cluster, может привести к нестабильности кластера Ray. Избегайте чрезмерной подписки на ресурсы кластера Ray в сторонних приложениях. - При возникновении
ncclInternalError: Internal check failedтаких ошибок это указывает на проблему сетевого взаимодействия между графическими процессорами в кластере. Чтобы устранить эту ошибку, добавьте следующий фрагмент кода обучения для использования основного сетевого интерфейса.
import os
os.environ["NCCL_SOCKET_IFNAME"] = "eth0"
См. другие статьи в этом разделе.