Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
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"
См. другие статьи в этом разделе.