Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Это важно
Эта функция доступна в общедоступной предварительной версии.
Среда выполнения ИИ интегрируется изначально с MLflow для отслеживания экспериментов и включает встроенную область ресурсов GPU для мониторинга использования, памяти и температуры. Используйте MLflow, чтобы журналировать метрики и запуски, просматривать результаты обучения в ноутбуке и интерфейсе MLflow, сохранять контрольные точки модели в томах Unity Catalog и отслеживать состояние GPU во время выполнения кода.
Интеграция MLflow
Среда выполнения ИИ интегрируется изначально с MLflow для отслеживания экспериментов, ведения журнала моделей и визуализации метрик.
Рекомендации по настройке:
Обновите MLflow до версии 3.7 или более поздней и следуйте шаблонам рабочего процесса глубокого обучения.
Включите автологирование для PyTorch Lightning:
import mlflow mlflow.pytorch.autolog()Настройте имя своего запуска в MLflow, инкапсулировав код обучения модели в область действия API
mlflow.start_run(). Это позволяет контролировать имя запуска и возобновлять выполнение с предыдущего запуска. Вы можете настроить имя запуска, используя параметрrun_nameвmlflow.start_run(run_name="your-custom-name")или в сторонних библиотеках, поддерживающих MLflow (например, Hugging Face Transformers). В противном случае используетсяjobTaskRun-xxxxxимя запуска по умолчанию.from transformers import TrainingArguments args = TrainingArguments( report_to="mlflow", run_name="llama7b-sft-lr3e5", # <-- MLflow run name logging_steps=50, )При использовании Serverless GPU API каждый вызов
.distributed()автоматически создает запуск эксперимента MLflow. Если вызов выполняется в рамках активного запуска MLflow, вместо этого создается вложенный дочерний запуск внутри активного родительского запуска.import mlflow with mlflow.start_run() as outer_run: ... run_train.distributed() # creates a nested child run under outer_runЧтобы настроить эксперимент, используемый
.distributed(), вызовитеmlflow.set_experiment()перед вызовом.distributed()или задайте переменную средыMLFLOW_EXPERIMENT_NAME. Имя эксперимента по умолчанию —/Users/{WORKSPACE_USER}/{notebook-name}. Всегда используйте абсолютные пути.import mlflow mlflow.set_experiment("/Users/<username>/my-experiment") run_train.distributed()Alternatively:
import os os.environ["MLFLOW_EXPERIMENT_NAME"] = "/Users/<username>/my-experiment"Чтобы возобновить предыдущий запуск MLflow, используйте
mlflow.start_run(run_id="<previous-run-id>").Чтобы возобновить предыдущий запуск MLflow с помощью
.distributed(), перед его вызовом задайтеMLFLOW_RUN_ID:os.environ["MLFLOW_RUN_ID"] = "<previous-run-id>" run_train.distributed()Установите параметр
stepвMLFlowLoggerна разумные номера пакетов. MLflow имеет ограничение в 10 миллионов шагов метрик, поэтому ведение журнала каждого пакета на больших запусках обучения может достигнуть этого предела. См. Ограничения ресурсов.
Просмотр журналов
- Вывод в блокноте: стандартный вывод и сообщения об ошибках вашего обучающего кода отображаются в выходной области ячейки блокнота.
- Логи MLflow: интерфейс эксперимента в MLflow отображает метрики обучения, параметры и артефакты.
Контрольная точка модели
Для распределённого обучения сохраняйте состояние модели и оптимизатора в тома Unity Catalog с помощью API Torch Distributed Checkpoint (DCP) с serverless_gpu.data.UCVolumeWriter бэкендами и serverless_gpu.data.UCVolumeReader хранилища. Сохраняйте асинхронно, чтобы обучение продолжалось во время загрузки контрольной точки, и достаточно часто, чтобы ограничить потерю работы после прерывания. Поскольку контрольная точка модели не фиксирует позицию конвейера данных, также проверяйте конвейер данных, чтобы возобновлённый запуск продолжался на правильных данных.
Полный шаблон чекпойнтинга см. Улучшение эффективности и устойчивости обучения на AI Runtime.
Мониторинг ресурсов GPU
Используйте область ресурсов GPU для мониторинга работоспособности и использования GPU во время выполнения кода в среде выполнения ИИ. Панель поддерживает как одиночные, так и многоузловые рабочие нагрузки.
Чтобы открыть панель, подключите блокнот к AI Runtime, затем нажмите Ресурсы GPU на правой боковой панели.
На панели отображаются следующие метрики для каждого GPU:
- Процент использования GPU
- Использование памяти GPU
- Температура
Панель опрашивает метрики каждые 10 секунд и хранит историю за период до 2 часов. Щелкните Обновите, чтобы немедленно получить последние значения. Через 5 минут бездействия панель приостанавливается; повторно откройте его для возобновления мониторинга.
Совместная работа с несколькими пользователями
- Чтобы все пользователи могли получить доступ к общему коду (например, вспомогательным модулям или файлам YAML среды), сохраните их в
/Workspace/Shared, а не в папках, таких как/Workspace/Users/<your_email>/, принадлежащих пользователю. - Для кода, находящегося в активной разработке, используйте папки Git в пользовательских папках
/Workspace/Users/<your_email>/и отправляйте в удаленные репозитории Git. Это позволяет нескольким пользователям иметь пользовательские копии и ветки, одновременно используя удаленный репозиторий Git для управления версиями. Ознакомьтесь с рекомендациями по использованию Git в Databricks. - Сотрудники могут совместно использовать записные книжки и комментировать их.
Глобальные ограничения в Azure Databricks
См. Ограничения ресурсов.