Используйте интерфейс командной строки Databricks с AI Runtime

databricks air CLI выполняет одноузловые GPU-нагрузки на AI Runtime — бессерверная GPU-вычислительная платформа по требованию. Определите вычислительные ресурсы, среду и команду рабочей нагрузки в YAML, затем отправьте её с помощью databricks air run.

AI Runtime занимается подготовкой GPU и настройкой среды, а также предоставляет статус запуска, логи, системные метрики и отслеживание MLflow. Рабочий процесс YAML и CLI естественно вписывается в работу с агентами для программирования, которые могут задавать, отправлять и контролировать рабочие нагрузки.

Используйте CLI, чтобы:

  • Разрабатывайте и совершенствуйте Python-приложения из локальной среды.
  • Определите повторяемые рабочие нагрузки в YAML-файлах, которые можно хранить в системе контроля версий.
  • Отправляйте задания и управляйте ими из терминала или автоматизированного рабочего процесса разработки.

Типичные задачи включают тонкую настройку и посттренинг LLM, распределённое обучение, пакетную инференцию, приложения на Ray и поиск гиперпараметров.

О требованиях к рабочему месту см. Требования. Чтобы отправить рабочую нагрузку, следуйте краткому руководству.

Команды CLI Databricks для AI Runtime соответствуют тем же стандартам соответствия, что и рабочие нагрузки AI Runtime. Сведения о поддерживаемых стандартах и исключениях см. в профиле безопасности соответствия требованиям.

Замечание

Команды databricks air и конфигурация рабочей нагрузки отличаются от устаревшего CLI на базе Python air в пакете databricks-air. См. миграцию CLI на Python.

Ознакомьтесь с запускаемыми примерами

AI Runtime Cookbook содержит выполняемые CLI-нагрузки Databricks для обучения моделей, тонкой настройки, пакетного инференса, Ray и поиска гиперпараметров. Каждый рецепт содержит YAML-файл рабочей нагрузки, исходный код и инструкции по его запуску.

Как работает рабочая нагрузка

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

  1. Определение рабочей нагрузки проверяется на соответствие поддерживаемой схеме и ограничениям конфигурации.
  2. Если code_source настроен, выбранный код упаковывается как снимок и загружается.
  3. Запрашиваемые вычислительные ресурсы GPU и среда подготовлены на каждом узле.
  4. Команда, указанная в YAML рабочей нагрузки, выполняется на каждом узле.

При подаче возвращается идентификатор запуска задания, который идентифицирует рабочую нагрузку. Используйте его для проверки статуса, проверки журналов и конфигурации или отмены рабочей нагрузки. Также можно просмотреть страницу запуска Jobs и эксперимент MLflow для получения деталей выполнения, системных метрик, логов и артефактов.

Этот рабочий процесс обеспечивает управляемое выделение GPU, воспроизводимую настройку среды и встроенную наблюдаемость без необходимости настраивать или поддерживать инфраструктуру GPU.

Конфигурация нагрузки

Файл рабочей нагрузки YAML описывает следующие компоненты:

  • Эксперимент: Эксперимент и запуск MLflow, которые отслеживают рабочую нагрузку.
  • Окружение: управляемая среда, зависимости или пользовательский образ Docker для использования.
  • Вычислительные ресурсы: тип ускорителя и количество ускорителей, которые нужно провизировать.
  • Источник кода: необязательный снимок кода приложения, который можно сделать доступным для рабочей нагрузки.
  • Command: Команда shell, которая запускает ваше приложение.
  • Настройки во время выполнения: такие опции, как повторы, тайм-ауты, переменные среды, секреты и разрешения.

Для полей конфигурации и примеров см. справочник по Workload YAML.

Используйте пользовательский образ Docker

Вместо управляемой среды рабочая нагрузка может выполняться в вашем собственном образе Docker. Используйте пользовательский образ, когда вашей рабочей нагрузке нужны системные библиотеки, расширения CUDA или другие зависимости, которые нельзя установить с environment.dependencies. Пользовательские образы Docker находятся в публичной предварительной версии. Для их использования администратор workspace должен включить предпросмотр реестра артефактов Databricks на странице предпросмотра workspace.

Вы создаёте образ linux/amd64, отправляете его в реестр артефактов в вашем рабочем пространстве и устанавливаете environment.unity_catalog_image в рабочей нагрузке YAML в имя Unity Catalog изображения. Сведения о шагах, базовых образах Databricks, аутентификации Docker и устранении неполадок см. в разделе «Использование пользовательских образов Docker с AI Runtime».

Загрузить код приложения

Используйте code_source для загрузки файлов приложений для рабочей нагрузки. AI Runtime делает загруженный каталог доступным на каждом узле и устанавливает $CODE_SOURCE_PATH на местоположение каталога. Например, следующая команда запускает train.py из загруженного каталога:

command: python "$CODE_SOURCE_PATH/train.py"

Вы можете выгрузить текущее рабочее дерево или выбрать ветку или коммит в Git. Полный пример см. в Quickstart.

Разрабатывайте и управляйте рабочими нагрузками

Разработка обычно следует следующему процессу:

  1. Разрабатывайте код приложения и YAML рабочей нагрузки локально.
  2. Проверьте YAML локально с помощью databricks air run --file <file> --dry-run.
  3. Отправьте рабочую нагрузку с помощью databricks air run --file <file> --watch, чтобы передавать журналы в потоковом режиме до завершения запуска.
  4. Используйте databricks air get, databricks air list, и databricks air logs для проверки рабочих нагрузок и логов.
  5. При необходимости остановите запущенную рабочую нагрузку с помощью databricks air cancel.

Чтобы отправить в фоне и прикрепить к журналам позже, опустите --watch:

databricks air run --file workload.yaml
databricks air get <job-run-id>
databricks air logs <job-run-id>

Используйте ID Job Run, вернутый после отправки. Сохраняйте одинаковый профиль рабочего пространства для всех трёх команд. Для настройки и проверки профиля по умолчанию см. раздел «Сведения о профилях конфигурации».

Для всех команд и флагов см. air группу команд.

Для запланированных запусков, многозадачных рабочих процессов или продвижения между окружениями можно использовать databricks air convert-to-dabs как отправную точку для бандла. См. раздел «Планирование рабочих нагрузок GPU и создание задач».

Отслеживание заданий с помощью MLflow

Каждая поданная рабочая нагрузка представлена запуском задания Databricks и отслеживается через эксперимент MLflow:

  • Запуск задания Databricks: показывает статус нагрузки, попытки выполнения и вывод на странице выполнения задания.
  • Эксперимент MLflow: содержит запуски MLflow с автоматически зафиксированными системными метриками, конфигурацией рабочей нагрузки и логами. Ваше приложение также может использовать MLflow API для логирования пользовательских параметров, метрик и артефактов.

Используйте идентификатор запуска задания с такими командами, как databricks air get, databricks air logsи databricks air cancel. См. Отслеживание эксперимента и наблюдаемость.

Выполнять одноузловые и распределённые рабочие нагрузки

AI Runtime запускает заданную команду на предоставленном узле. Для нагрузки с несколькими GPU он предоставляет переменные координации, такие как LOCAL_WORLD_SIZE и WORLD_SIZE.

Эта модель выполнения независима от фреймворка. Ваша команда должна запустить и настроить распределённый фреймворк, например, вызвав torchrun, bootstrap-скрипт Ray, или другой лаунчер фреймворка. Сведения о полных рабочих нагрузках см. в AI Runtime Cookbook.

Используйте агента ИИ

Навыкdatabricks-ai-runtime агента предоставляет инструкции, которые помогают агентам ИИ, таким как Claude Code, Cursor и Codex, работать с AI Runtime через CLI Databricks. Используйте его для создания YAML для workload, отправки заданий по обучению GPU, проверки статуса запуска, просмотра журналов в реальном времени и отмены запусков. Также включены рекомендации по пользовательским образам Docker.

После установки CLI Databricks и настройки аутентификации выполните следующую команду:

databricks aitools install --skills-only --skills databricks-ai-runtime

Следуйте инструкциям, чтобы выбрать вашего AI-агента и область установки. Сведения о вариантах установки см. в группе команд aitools. Чтобы узнать, что охватывает навык, см. Использование навыков агента с AI Runtime.

Дополнительные ресурсы