Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Important
Ez a funkció nyilvános előzetes verzióban van.
Megjegyzés:
Ha a Rayt a Databricks klasszikus számítási környezetében, a Databricks Runtime ML használatával használod, lásd: Ray on Databricks.
A Ray egy nyílt forráskód keretrendszer a Python munkaterhelések skálázására. A Ray-t AI Runtime-on futtathatod anélkül, hogy a GPU infrastruktúrát produkálnád vagy kezelnéd.
Miért használjuk a Ray-t AI Runtime-on
A Ray-t gyakran használják Python munkaterhelések elosztására, mint például modell betanítás, kötött következtetés, adatfeldolgozás és hiperparaméter hangolás. Az AI Runtime-on Ray hozzáférhet az adatokhoz Unity Catalog kötetekben, nyomon követheti az MLflow-val végzett kísérleteket, és a gyártási munkafolyamat részeként futtathatja őket.
Használhatsz gyakori Ray könyvtárakat, mint például a Ray Core, Ray Data, Ray Train és Ray Tune , AI Runtime-on. A meglévő Ray munkaterhelések továbbra is használhatják a könyvtárak szabványos API-it.
Hogyan működik Ray AI Runtime-szal
Minden sugáralkalmazás egy sugárklaszteren fut, amely tartalmazhat egy vagy több csomópontot. Az AI Runtime biztosítja a csomópontokat, Ray pedig a feladatokat és szereplőket ütemezi a rendelkezésre álló CPU és GPU erőforrások között. Hogyan indítod el a Ray-t, az a végrehajtási felülettől függ:
| Interfész | Nodes | Ray indítása |
|---|---|---|
| Notebook | Az egyetlen csomópont, amely a jegyzetfüzethez csatlakozik | Hívd meg a(z) ray_init() elemet a serverless_gpu csomagból |
| A Databricks parancssori felülete | Egy fix halmaz, amely egy vagy több csomópontból áll | Indítsd el a főcsomópontot a 0-s csomóponton, és csatlakoztasd a többi csomópontot munkavégző csomópontként egy újra felhasználható bootstrap szkript segítségével |
Használd a Ray-t jegyzetfüzetekben
Amikor a notebookod csatlakozik AI Runtime GPU számításhoz, a ray_init()serverless_gpu csomagból indítsd el a Ray-t a csatolt csomóponton:
from serverless_gpu import ray_init
ray_init()
ray_init() meghívja a standard ray.init() API-t, konfigurálja a Ray irányítópultot a Databricks driver proxyn keresztüli hozzáféréshez, és kinyomtatja a dashboard URL-jét a notebook kimenetén. Használja a dashboardot, hogy ellenőrizze a Ray munkákat, feladatokat, szereplőket, naplókat és erőforrás-felhasználást, miközben a kódod fut.
Megjegyzés:
ray_init() az 5-ös vagy újabb környezetverziót igényli. A Databricks AI v6 tartalmazza a Ray-t. Ha Standard v6-ot használsz, telepítsd a Ray-t, mielőtt hívod ray_init(). Lásd : A környezet beállítása.
Laptop példák
| Example | Description |
|---|---|
| Ray Core Hello World | Küldd be aszinkron GPU feladatokat csatolt számításra, ellenőrizd az ütemezést a Ray irányítópulton, és kérd le az eredményeket. |
| CIFAR-10 hiperparaméter hangolás Ray Tune-szel | Futtass párhuzamos, részleges GPU-erőforrást használó próbákat egy PyTorch-alapú képosztályozóhoz, és használd az aszinkron szukcesszív felezési algoritmust (ASHA) a gyengén teljesítő konfigurációk korai leállítására. |
| Qwen2.5-32B batch következtetés Ray Data és vLLM segítségével | Többnyelvű batch inference-t futtatj nyolc tartós vLLM replikával 8 H100 GPU-n, és az eredményeket Parquet formátumban mentsd el egy Unity Catalog kötetben. |
Használd a Ray-t a Databricks CLI-val
A Databricks AI Runtime-hoz készült CLI-parancsok támogatják az egycsomópontos és a többcsomópontos Ray-feladatokat. A munkaterhelés konfigurációjában adj meg egy rögzített accelerator_type értéket és a teljes num_accelerators értéket.
A Ray hello world példái között szerepel egy újrahasználható bootstrap szkript. A munkaterhelés command elemében állítsa be a RAY_ENTRYPOINT értékét a Python-fájl elérési útjára, majd futtassa a bootstrap-szkriptet. A bootstrap szkript a következőket csinálja:
- A 0-es csomópontnál elindítja a Rayheadet, és beindítja a beállított belépési pontot.
- Minden más csomóponton elindít egy Ray workert, és kapcsolatban tartja, amíg a belépési pont fut.
- Miután a belépési pont befejeződik, megállítja a Ray folyamatokat.
Az alkalmazásban csatlakozzon a klaszterhez .ray.init(address="auto")
A Standard környezetben adja hozzá a ray elemet vagy a szükséges további elemet, például a ray[data], ray[train] vagy ray[tune] elemek egyikét, a számítási feladat függőségeihez. A Databricks AI v6 tartalmazza a Ray-t.
CLI példák
| Example | Description |
|---|---|
| Ray „hello world” példák | Minimális, egyetlen csomóponton futó és több csomóponton futó példák a Ray Core-hoz, a Ray Trainhez, a Ray Datahoz és a Ray Tune-hoz, beleértve a klaszter bootstrap mintát is. |
| Elosztott betanítás a Ray Train használatával | Finomhangolj egy nagy nyelvi modellt 8 H100 GPU-n egyetlen csomóponton Ray Train és PyTorch segítségével. |
| Kötegelt következtetés Ray Data és vLLM használatával | Nagy léptékű tételi következtetéseket futtatni Ray Data segítségével elosztott adatbetöltéshez, vLLM-et pedig hatékony modellszolgáltatáshoz. |
| Hiperparaméterkeresés Ray Tune-szel | Keresse meg a Qwen2.5-höz tartozó LoRA finomhangolási hiperparamétereket a Ray Tune segítségével, GPU-nként egy kísérletet futtatva, és az ASHA ütemező segítségével korán leállítva a gyengén teljesítő kísérleteket. |
Munka az adatokkal és a Databricks funkciókkal
A Ray-munkaterhelések hozzáférhetnek a Unity Catalog-kötetekben lévő adatokhoz, az MLflow-val nyilvántarthatják a futásokat, és a deklaratív automatizálási csomagokban meghatározott Lakeflow Jobs-feladatként futhatnak.
Adatok elérése a Unity Catalogban
Unity Catalog-táblában lévő táblázatos adatok esetén használja a ray.data.read_databricks_tables() elemet egy tábla beolvasására vagy SQL-lekérdezés futtatására egy Databricks SQL-adattárházban. Add meg a raktár azonosítóját, a katalógust és a sémát, mert az AI Runtime nem biztosít helyi Spark-munkamenetet. Az SQL-t használhatod csatlakozásokra, aggregációkra és szűrőkre, mielőtt Ray feldolgozná az eredményeket.
Fájlalapú és strukturálatlan adatokhoz használj Unity Catalog kötetet. A sugármunkások a saját útvonalaik segítségével hozzáférhetnek a fájlokhoz /Volumes/<catalog>/<schema>/<volume>/... . Például a Ray Data képes Parquet-fájlokat beolvasni a(z) ray.data.read_parquet() segítségével, és az eredményeket kiírni a(z) Dataset.write_parquet() segítségével.
Munkaterhelések követése és orkestrálása
Használd az MLflow-t paraméterek, metrikák és artefakták rögzítésére egy Ray munkaterhelésből. Lásd : Kísérleti követés és megfigyelhetőség.
A munkaterhelés ütemezéséhez vagy CPU-adatok előkészítési feladatokkal való összeállításához használd a Lakeflow Jobs és a Declarative Automation Bundles rendszereket. Lásd: GPU munkaterhelések ütemezése és feladatok összeállítása.
Meglévő Ray-munkaterhelés migrálása
Egy önálló Ray munkaterhelés migrációja magában foglalja annak infrastruktúra-konfigurációját és szolgáltatásintegrációit AI Runtime végrehajtási modellre való cseréjével.
Mérje fel a munkaterhelését
Migráció előtt nézd át a korlátozásokat. Győződjön meg róla, hogy a munkaterhelés futni tud egy fix méretű klaszterben, egy gyorsítótípussal.
A munkaterhelés migrálása
Egy saját felügyeletű Ray-munkaterhelés migrálásához:
- Válassz egy notebookot interaktív, egycsomópontos fejlesztéshez, vagy a Databricks CLI-t egycsomópontos vagy többcsomópontos feladatokhoz.
- Térképezd le a meglévő klasztererőforrásokat egy AI Runtime gyorsító típusra és gyorsító számra. Lásd a következőt: Hardverbeállítások.
- Cserélje le a meglévő klaszterindítást notebookban a(z)
ray_init()elemre, vagy Databricks CLI-munkaterhelésben a dokumentált head- és worker-bootstrapra. - Deklarálja a munkaterhelés Python függőségét, és frissítse adatait, ellenőrzőpontját, modelljét és kimeneti útvonalait.
- Validáld a munkaterhelést a legkisebb alkalmazható konfiguráción. Ellenőrizze az adathozzáférést, az erőforrás-kéréseket és kimeneteket, mielőtt tesztelné a tervezett fix topológiát.
Limitations
A Ray mesterséges intelligencia Runtime-on a következő korlátokkal rendelkezik:
- A sugárklaszternek fix csomópontszáma van a munkaterhelés időtartamára. A sugárklaszter automatikus skálázása nem támogatott.
- Minden csomópont egy munkaterhelésben ugyanazt
accelerator_typehasználja . Egy Ray klaszter nem tartalmazhat külön CPU-t és GPU munkacsoportokat, és nem méretezheti a CPU és GPU kapacitást önállóan. - Egy notebook elindítja a Rayt a hozzá csatlakoztatott egyetlen csomóponton. Használja a Databricks CLI-t többcsomópontú Ray-klaszterhez.
- A Ray irányítópult hozzáférése a Databricks driver proxyn keresztül jelenleg csak notebook munkaterhelésekhez érhető el.
Tip
Ha a CPU előkészítése és a GPU feldolgozása külön szakaszként működhet, használj egy többfeladatos Lakeflow Feladatot, és továbbítsd az adatokat a feladatok között egy Unity Catalog köteten keresztül.