Ray MI-futtatókörnyezetben

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:

  1. Válassz egy notebookot interaktív, egycsomópontos fejlesztéshez, vagy a Databricks CLI-t egycsomópontos vagy többcsomópontos feladatokhoz.
  2. 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.
  3. 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.
  4. Deklarálja a munkaterhelés Python függőségét, és frissítse adatait, ellenőrzőpontját, modelljét és kimeneti útvonalait.
  5. 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.