YAML-verwijzing voor workload

Deze pagina beschrijft de workload-YAML-velden die door databricks air runworden geaccepteerd. Voor commandosyntaxis en vlaggen, zie databricks air run. Om een workload in te dienen, zie Databricks CLI quickstart voor AI Runtime.

Elke werklast vereist experiment_name, compute, en command.

Example

Het volgende voorbeeld toont een voorbeeld van een werklastconfiguratie:

experiment_name: my-training
compute:
  accelerator_type: GPU_1xA10
  num_accelerators: 1
environment:
  version: 6
  dependencies:
    - torch
code_source:
  root_path: .
command: python $CODE_SOURCE_PATH/train.py

experiment_name

Type: Tekenreeks

Required. De experiment_name sleutel is de naam van het MLflow-experiment.

Als er geen experiment met deze naam bestaat, maakt AI Runtime het aan. Anders voegt AI Runtime de nieuwe run toe aan het bestaande experiment.

berekenen

Type: Kaart

Required. Het compute object definieert de versnellerconfiguratie.

Key Typ Description
accelerator_type string Required. Een versnellertype dat door de CLI wordt geaccepteerd en beschikbaar is in de werkruimte. Overeenkomsten zijn hoofdlettergevoelig.
num_accelerators integer Required. Een positieve versnellertelling wordt ondersteund voor het geselecteerde versnellertype.
pool_id string De ID voor geprovisioneerde GPU-capaciteit.
priority_class string De planningsprioriteit voor workloads met geprovisioneerde GPU-capaciteit. Geaccepteerde waarden zijn BEST_EFFORT, NORMALen CRITICAL. Vereist pool_id.

Soorten en aantal versnellers hangen af van de werkruimte, cloud en regio. Voor hardwarekeuze en beschikbaarheid, zie Hardware-opties.

command

Type: Tekenreeks

Required. De command sleutel bevat een niet-lege shell-opdracht of script. Paden in het commando verwijzen naar externe bestandspaden in de workloadcontainer. Wanneer code_source is ingesteld, $CODE_SOURCE_PATH bevat het absolute pad naar de geëxtraheerde code.

environment

Type: Kaart

Het environment object selecteert een beheerde omgeving met optionele afhankelijkheden of een aangepaste Unity Catalog-image.

Key Typ Description
version tekenreeks of geheel getal Een numerieke omgevingsversie, zoals 6, of een Databricks AI-omgevingsidentificatie, zoals databricks_ai_v6. Een databricks_ai_v identifier vereist versie 5 of hoger. Als het wordt weggelaten, gebruikt de CLI de huidige AI Runtime-standaard.
dependencies lijst met strings Pakketspecificaties werden doorgegeven aan de serverless omgeving. Standaard geen extra afhankelijkheden.
unity_catalog_image string Een aangepaste afbeelding in het formaat <catalog>.<schema>.<image>:<tag>. Wederzijds uitsluiten met version en dependencies. Voor installatie-instructies, zie Gebruik aangepaste Docker-images met AI Runtime.

Voor advies over het selecteren en uitbreiden van een omgeving, zie Stel je omgeving op.

Voorbeeld van beheerde omgeving
environment:
  version: 6
  dependencies:
    - torch

Om een aangepaste image te gebruiken in plaats van een beheerde omgeving, specificeer alleen unity_catalog_image:

Voorbeeld van een aangepaste afbeelding
environment:
  unity_catalog_image: main.ml.training:v1

code_source

Type: Kaart

Het code_source object verpakt lokale code voor de werklast.

Key Typ Description
root_path string Vereist wanneer code_source deze is ingesteld. De lokale directory om te verpakken. De directory moet bestaan wanneer de CLI de run in een fase uitvoert.
remote_volume string Een Unity Catalog volumelocatie voor het geüploade archief. Moet beginnen met /Volumes/. Standaard is het een werkpleklocatie.
include_paths lijst met strings Paden om op te nemen ten opzichte van root_path. Elementen moeten niet-leeg en relatief zijn, en mogen niet bevatten ... Laat de sleutel weg om alle geselecteerde bestanden op te nemen. Een lege lijst is niet geldig.
git object Pint de codebronsnapshot vast aan een lokale Git-branch of commit.

Als je git, verpakt de CLI de werkende boom, inclusief niet-committed en niet-getrackte bestanden die niet worden uitgesloten door Git negeer-regels. Een verwant root_path lost op vanuit de map die het workload YAML-bestand bevat.

Git

Type: Kaart

Het git object ondersteunt de volgende sleutels:

Key Typ Description
branch string Vereist wanneer commit wordt weggelaten. Pakket de lokale HOOFD van de vestiging. Geselecteerde bestanden kunnen geen niet-committed wijzigingen bevatten.
commit string Vereist wanneer branch wordt weggelaten. Een commit wordt verpakt vanuit de lokale Git-objectopslag. Wederzijds uitsluiten met branch.
Example

Het volgende voorbeeld verpakt geselecteerde paden van de lokale main tak:

code_source:
  root_path: ./src
  include_paths:
    - training
    - configs
  git:
    branch: main

env_variables

Type: Kaart van strings

De env_variables sleutel bevat eenvoudige omgevingsvariabelenamen en stringwaarden. Een naam kan ook niet voorkomen in secrets.

Example
env_variables:
  BATCH_SIZE: '32'
  LEARNING_RATE: '0.001'

idempotency_token

Type: Tekenreeks

De idempotency_token sleutel identificeert herhaalde inzendingen. Een herhaalde submission met hetzelfde token geeft de bestaande run terug. De CLI genereert een UUID wanneer deze sleutel wordt weggelaten. De --idempotency-key commando-vlag heeft voorrang.

max_retries

Type: Geheel getal

De max_retries sleutel specificeert het aantal herpogingen na de eerste poging. De waarde moet niet-negatief zijn. Standaard: 3.

mlflow_artifact_location

Type: Tekenreeks

De mlflow_artifact_location sleutel bevat een dbfs:/ URI of /Volumes/ pad. Als je deze sleutel weglaat, gebruikt een nieuw experiment de standaard DBFS-locatie, en een bestaand experiment gebruikt zijn geconfigureerde artefactlocatie. Voor een bestaand experiment moet de waarde overeenkomen met de locatie van het artefact.

mlflow_experiment_directory

Type: Tekenreeks

De mlflow_experiment_directory sleutel bevat de workspace-map voor het experiment. Het pad moet beginnen met /Workspace.

mlflow_run_name

Type: Tekenreeks

De mlflow_run_name sleutel bevat de naam van de run. Als je deze sleutel weglaat, krijgt de uitvoernaam standaard de waarde van experiment_name.

parameters

Type: Kaart

De parameters sleutel bevat vrije, geneste waarden. De CLI serialiseert de waarden met hyperparameters.yaml de andere lanceerartefacten.

Example
parameters:
  learning_rate: 0.001
  model:
    hidden_size: 1024

permissions

Type: Lijst van kaarten

De permissions sleutel bevat subsidies die na indiening zijn aangevraagd en ingediend. Als een subsidie faalt, blijft de run aangemaakt en drukt de CLI een waarschuwing af.

Elke subsidie ondersteunt de volgende sleutels:

Key Typ Description
level string Required. Een toestemmingsniveau, zoals CAN_VIEW of CAN_MANAGE. De werkruimte valideert de waarde.
user_name string De e-mail van de gebruiker. Specificeer precies één van user_name, group_name, of service_principal_name voor elke subsidie.
group_name string De groepsnaam. Specificeer precies één van user_name, group_name, of service_principal_name voor elke subsidie.
service_principal_name string De naam van de service-principal. Specificeer precies één van user_name, group_name, of service_principal_name voor elke subsidie.
Example
permissions:
  - user_name: trainer@example.com
    level: CAN_MANAGE
  - group_name: training-team
    level: CAN_VIEW

secrets

Type: Kaart van strings

De secrets sleutel bevat omgevingsvariabelenamen die zijn toegewezen aan geheime referenties in exact scope/key hetzelfde formaat. De scope en key moeten niet leeg zijn. Een naam kan ook niet voorkomen in env_variables.

Example
secrets:
  HF_TOKEN: my-scope/hf-token

Voor informatie over het creëren en beheren van geheimen, zie Geheimbeheer.

timeout_minutes

Type: Geheel getal

De timeout_minutes sleutel stelt de muurkloklimiet vast voor de volledige run, inclusief herhalingen. De waarde moet positief zijn. Als deze wordt weggelaten, gebruikt de werklast de AI Runtime-standaardinstelling.

usage_policy_id

Type: Tekenreeks

De usage_policy_id sleutel bevat de canonieke UUID van een bestaand serverless gebruiksbeleid. Wederzijds uitsluiten met usage_policy_name.

usage_policy_name

Type: Tekenreeks

De usage_policy_name sleutel bevat de naam van een bestaand serverless gebruiksbeleid. Wederzijds uitsluiten met usage_policy_id.

Voor informatie over het aanmaken van gebruiksbeleid, zie Attribuutgebruik met serverloze gebruiksbeleid.

Aanvullende bronnen