Databricks Asset Bundles for MLOps Stacks
A Databricks Asset Bundles, a Databricks CLI és a Databricks MLOps Stack-adattár a GitHubon az MLOps Stackek létrehozásához használható. Az MLOps Stack egy MLOps-projekt az Azure Databricksen, amely az éles környezetben ajánlott eljárásokat követi. Lásd: Mik azok a Databricks-eszközcsomagok?.
MLOps Stacks-projekt létrehozásához, üzembe helyezéséhez és futtatásához hajtsa végre az alábbi lépéseket:
Követelmények
- Győződjön meg arról, hogy a cél távoli munkaterületen engedélyezve vannak a munkaterületfájlok. Lásd: Mik azok a munkaterületfájlok?.
- A fejlesztői gépen győződjön meg arról, hogy a Databricks CLI 0.212.2-es vagy újabb verziója telepítve van. A telepített Databricks CLI-verzió ellenőrzéséhez futtassa a parancsot
databricks -v
. A Databricks CLI verziójának frissítéséhez lásd a Databricks parancssori felület telepítését vagy frissítését. (A csomagok nem működnek a Databricks CLI 0.18-s és újabb verzióival.)
1. lépés: Hitelesítés beállítása
Konfigurálja a Databricks parancssori felületét a hitelesítéshez.
Ez a cikk feltételezi, hogy OAuth felhasználó–gép (U2M) hitelesítést és egy hitelesítéshez elnevezett DEFAULT
Azure Databricks-konfigurációs profilt szeretne használni.
Feljegyzés
A U2M-hitelesítés megfelelő ezeknek a lépéseknek a valós idejű kipróbálásához. A teljes mértékben automatizált munkafolyamatok esetében a Databricks azt javasolja, hogy inkább OAuth machine-to-machine (M2M) hitelesítést használjon. Tekintse meg az M2M-hitelesítés beállítási utasításait a hitelesítésben.
Az OAuth-jogkivonatok helyi felügyeletének elindításához használja a Databricks parancssori felületét az alábbi parancs futtatásával minden cél-munkaterületen.
Az alábbi parancsban cserélje le
<workspace-url>
például az Azure Databricks munkaterületenkénti URL-címéthttps://adb-1234567890123456.7.azuredatabricks.net
.databricks auth login --host <workspace-url>
A Databricks parancssori felülete kéri, hogy mentse az Azure Databricks konfigurációs profiljaként megadott adatokat. Nyomja le
Enter
a javasolt profilnevet, vagy adja meg egy új vagy meglévő profil nevét. Az azonos nevű meglévő profilokat felülírja a megadott adatokkal. Profilok használatával gyorsan válthat a hitelesítési környezetre több munkaterületen.A meglévő profilok listájának lekéréséhez egy külön terminálban vagy parancssorban futtassa a Parancsot
databricks auth profiles
a Databricks parancssori felületével. Egy adott profil meglévő beállításainak megtekintéséhez futtassa a parancsotdatabricks auth env --profile <profile-name>
.A webböngészőben végezze el a képernyőn megjelenő utasításokat az Azure Databricks-munkaterületre való bejelentkezéshez.
A profil aktuális OAuth-tokenértékének és a jogkivonat közelgő lejárati időbélyegének megtekintéséhez futtassa az alábbi parancsok egyikét:
databricks auth token --host <workspace-url>
databricks auth token -p <profile-name>
databricks auth token --host <workspace-url> -p <profile-name>
Ha több azonos értékű profillal rendelkezik
--host
, előfordulhat, hogy együtt kell megadnia azokat és-p
a--host
beállításokat, hogy a Databricks parancssori felülete megkeresse a megfelelő OAuth-jogkivonat-információkat.
2. lépés: A csomagprojekt létrehozása
Az MLOps Stacks-projekt kezdőfájljainak létrehozásához használja a Databricks Asset Bundle-sablonokat . Ehhez futtassa a következő parancsot:
databricks bundle init mlops-stacks
Válaszoljon a képernyőn megjelenő kérdésekre. A kérdések megválaszolásával kapcsolatos útmutatásért lásd: Új projekt indítása a Databricks MLOps Stacks-adattárban a GitHubon.
Az első kérdés lehetőséget kínál az ML-kód összetevőinek, a CI/CD-összetevőknek vagy mindkettőnek a beállítására. Ez a beállítás leegyszerűsíti a kezdeti beállítást, mivel csak azokat az összetevőket hozhatja létre, amelyek azonnal relevánsak. (A többi összetevő beállításához futtassa újra az inicializálási parancsot.) Válasszon az alábbiak közül:
CICD_and_Project
(alapértelmezett) – Az ML-kód és a CI/CD-összetevők beállítása.Project_Only
– Csak ml-kódösszetevők beállítása. Ez a lehetőség az adattudósok számára ajánlott.CICD_Only
– Csak CI/CD-összetevők beállítása. Ez a lehetőség az ml-mérnökök számára az infrastruktúra beállítására használható.
Miután megválaszolta az összes képernyőn megjelenő kérést, a sablon létrehozza az MLOps Stacks-projekt kezdőfájljait, és hozzáadja őket az aktuális munkakönyvtárhoz.
Igény szerint testre szabhatja az MLOps Stacks-projekt kezdő fájljait. Ehhez kövesse az új projektben található alábbi fájlok útmutatását:
Szerepkör Cél Dokik Az adattár első felhasználói Az ml-folyamat és a kódstruktúra megismerése ebben az adattárban README.md
Adatelemző Gépi tanulási kód írásának első lépései egy teljesen új projekthez <project-name>/README.md
Adatelemző Éles ml-kód frissítése (például modellbetanítási logika) egy meglévő projekthez docs/ml-pull-request.md
Adatelemző Az éles modell ml-erőforrásainak módosítása (például modellbetanítási vagy következtetési feladatok) <project-name>/resources/README.md
MLOps / DevOps CI/CD beállítása az aktuális ML-projekthez docs/mlops-setup.md
A kísérletek testreszabásához a kísérlet-deklarációban szereplő leképezések megfelelnek a kísérlet-létrehozási művelet kérelem hasznos adatainak a POST /api/2.0/mlflow/experiment/create rest API-referenciában meghatározott hasznos adatainak, YAML formátumban kifejezve.
A feladatok testreszabásához a feladatdeklaráción belüli leképezések megfelelnek a feladat-létrehozási művelet kérelem hasznos adatainak a POST /api/2.1/jobs/create rest API-referenciában meghatározott hasznos adatainak, YAML formátumban kifejezve.
Tipp.
Az új feladatfürtök beállításait kötegekben definiálhatja, kombinálhatja és felülbírálhatja a Databricks-eszközcsomagok fürtbeállításainak felülbírálása című témakörben ismertetett technikákkal.
A modellek testreszabásához a modelldeklaráción belüli leképezések megfelelnek a Unity Catalog-modellművelet kérésének hasznos adatainak a REST API-referencia post /api/2.1/unity-catalog/models fájljában meghatározott hasznos adatainak, YAML formátumban kifejezve.
A folyamatok testreszabásához a folyamatdeklaráción belüli leképezések megfelelnek a FOLYAMAT-művelet kérelem hasznos adatainak a REST API-referencia POST /api/2.0/folyamataiban meghatározott hasznos adatainak, YAML formátumban kifejezve.
3. lépés: A csomagprojekt ellenőrzése
Ellenőrizze, hogy a csomagkonfiguráció érvényes-e. Ehhez futtassa a Databricks parancssori felületet a projekt gyökeréből, ahol a databricks.yml
rendszer található, az alábbiak szerint:
databricks bundle validate
Ha a csomagkonfiguráció összegzését adja vissza, az ellenőrzés sikeres volt. Ha bármilyen hibát ad vissza, javítsa ki a hibákat, majd ismételje meg ezt a lépést.
4. lépés: A csomag üzembe helyezése
Helyezze üzembe a projekt erőforrásait és összetevőit a kívánt távoli munkaterületen. Ehhez futtassa a Databricks parancssori felületet a projekt gyökeréből, ahol a databricks.yml
rendszer található, az alábbiak szerint:
databricks bundle deploy -t <target-name>
Cserélje le <target-name>
a fájlban a kívánt cél databricks.yml
nevére, például dev
: , test
staging
vagy prod
.
5. lépés: Az üzembe helyezett csomag futtatása
A projekt üzembe helyezett Azure Databricks-feladatai automatikusan futnak az előre meghatározott ütemezés szerint. Az üzembe helyezett feladat azonnali futtatásához futtassa a Databricks parancssori felületét a projekt gyökeréből, ahol a feladat található, az databricks.yml
alábbiak szerint:
databricks bundle run -t <target-name> <job-name>
- Cserélje le
<target-name>
a kívánt cél nevét abban adatabricks.yml
fájlban, amelyben a feladatot üzembe helyezték, példáuldev
: ,staging
test
vagyprod
. - Cserélje le
<job-name>
a feladat nevét az.yml
egyik fájlban<project-name>/databricks-resources
, példáulbatch_inference_job
,write_feature_table_job
vagymodel_training_job
.
Megjelenik az Azure Databricks-feladatra mutató hivatkozás, amelyet a webböngészőbe másolva megnyithatja a feladatot az Azure Databricks felhasználói felületén.
6. lépés: Az üzembe helyezett csomag törlése (nem kötelező)
Ha törölni szeretné egy üzembe helyezett projekt erőforrásait és összetevőit, ha már nincs rájuk szüksége, futtassa a Databricks parancssori felületet a projekt gyökérkönyvtárából, ahol az található, az databricks.yml
alábbiak szerint:
databricks bundle destroy -t <target-name>
Cserélje le <target-name>
a fájlban a kívánt cél databricks.yml
nevére, például dev
: , test
staging
vagy prod
.
Válaszoljon a képernyőn megjelenő kérésekre, hogy erősítse meg a korábban üzembe helyezett erőforrások és összetevők törlését.