Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Important
Tato funkce je ve verzi Public Preview.
Poznámka:
Pokud používáte Ray v prostředí Databricks classic compute s Databricks Runtime ML, viz Ray on Databricks.
Ray je open source framework pro škálování Python zátěží. Ray můžete spustit na AI runtime bez nastavení nebo správy základní GPU infrastruktury.
Proč používat Ray na AI Runtime
Ray se běžně používá k distribuci Python pracovních zátěží, jako je trénování modelů, dávková inference, zpracování dat a ladění hyperparametrů. Na AI Runtime může Ray přistupovat k datům v svazcích Unity Catalog, sledovat experimenty s MLflow a spouštět je jako součást produkčních workflow.
Můžete použít běžné Ray knihovny jako Ray Core, Ray Data, Ray Train a Ray Tune v AI Runtime. Stávající Ray workloady mohou nadále využívat standardní API knihoven.
Jak Ray pracuje s AI Runtime
Každá aplikace Ray běží na Ray clusteru, který může obsahovat jeden nebo více uzlů. AI Runtime zajišťuje uzly a Ray plánuje úkoly a aktéry napříč dostupnými CPU a GPU zdroji. Jak spustíte Ray, závisí na rozhraní pro vykonávání operací:
| Rozhraní | Nodes | Spustit Ray |
|---|---|---|
| Notebook | Jediný uzel připojený k notebooku | Zavolejte ray_init() z AI Runtime SDK (databricks.air) |
| Příkazové rozhraní Databricks | Pevná množina jednoho nebo více uzlů | Spusťte hlavní uzel na uzlu 0 a připojte zbývající uzly jako pracovní uzly pomocí opakovaně použitelného bootstrap skriptu |
Používejte Ray v poznámkových blocích
Když je váš notebook připojen k výpočetním prostředkům GPU AI Runtime, použijte ray_init() z Databricks AI Runtime SDK k zahájení Ray na připojeném uzlu:
from databricks.air import ray_init
ray_init()
ray_init() volá standardní rozhraní API ray.init(), konfiguruje dashboard Ray pro přístup prostřednictvím proxy serveru ovladače Databricks a vypíše adresu URL dashboardu do výstupu notebooku. Použijte dashboard k prohlídce Ray úloh, úloh, aktérů, logů a využití zdrojů, zatímco váš kód běží.
Poznámka:
ray_init() vyžaduje verzi prostředí 5 a novější. Ve verzi 5 jej importujte z serverless_gpu namísto databricks.air. Databricks AI v6 obsahuje Ray. Pokud používáte standardní verzi 6, nainstalujte Ray před voláním ray_init(). Viz Nastavení prostředí.
Příklady poznámkových bloků
| Example | Description |
|---|---|
| Ray Core, ahoj světe | Odesílejte asynchronní úlohy GPU na připojené výpočetní prostředky, sledujte plánování v dashboardu Ray a získejte výsledky. |
| Ladění hyperparametrů CIFAR-10 pomocí Ray Tune | Spusť souběžné testy s dílčím přidělením GPU pro obrazový klasifikátor v PyTorchi a použij algoritmus asynchronního postupného půlení (ASHA) k včasnému ukončení málo výkonných konfigurací. |
| Dávková inference modelu Qwen2.5-32B pomocí Ray Data a vLLM | Spusť vícejazyčné dávkové odvozování s osmi trvalými replikami vLLM na osmi GPU H100 a ulož výsledky ve formátu Parquet do svazku v Unity Catalog. |
Použijte Ray s Databricks CLI
Příkazy Databricks CLI pro AI Runtime podporují jednouzlové i víceuzlové úlohy Ray. V konfiguraci zátěže zadejte pevné accelerator_type a celkový počet num_accelerators.
Úvodní návod k Ray Core obsahuje znovupoužitelný bootstrap skript. V části command workloadu nastavte RAY_ENTRYPOINT na cestu k vašemu souboru Pythonu a spusťte spouštěcí skript. Bootstrap skript provádí následující:
- Na uzlu 0 spustí Ray hlavu a spustí konfigurovaný vstupní bod.
- Na všech ostatních uzlech spustí pracovní proces Ray a udržuje ho připojený po dobu běhu vstupního procesu.
- Po dokončení vstupního bodu se procesy Ray zastaví.
V aplikaci se připojte ke clusteru s ray.init(address="auto").
Ve Standardním prostředí přidejte ray nebo požadované doplňky, například ray[data], ray[train], nebo ray[tune], k závislostem pracovní zátěže. Databricks AI v6 obsahuje Ray.
Začněte s Rayem
Následující minimální příklady představují hlavní knihovny Ray a sdílejí stejný postup inicializace clusteru.
| Example | Description |
|---|---|
| Ray Core | Spusť Ray cluster na dvou A10 GPU a naplánuj jednu Ray Core úlohu na každé GPU. |
| Ray Train | Trénujte malý vícevrstvý perceptron na syntetických datech s jedním workerem Ray Train na každé GPU. |
| Ray Data | Spusť pipeline pro zpracování syntetických dat v clusteru Ray. |
| Ray Tune | Ladit malý vícevrstvý perceptron na syntetických datech s jednou zkouškou na GPU. |
Další příklady CLI
| Example | Description |
|---|---|
| Jemné ladění ResNet-50 s Ray Train | Dolaďte ResNet-50 s jedním distribuovaným paralelním datovým procesem na každé GPU A10 na dvou uzlech. |
| Qwen2.5-3B jemné ladění s Ray Train | Jemně doladit Qwen2.5-3B s jedním procesem Distributed Data Parallel na každé GPU na uzlu s 8× H100 GPU. |
| Dávkové odvozování s Ray Data a vLLM | Generujte odpovědi pomocí Qwen2.5-7B-Instruct a výsledky zapisujte do volume Unity Catalog jako Parquet. |
| Vyhledávání hyperparametrů LoRA pomocí Ray Tune | Vyhledejte konfigurace LoRA pro Qwen2.5-0.5B na čtyřech GPU A10 a zastavte podprůměrné pokusy pomocí ASHA plánovače. |
| XGBoost vyhledávání hyperparametrů pomocí Ray Tune | Proveďte ladění hyperparametrů XGBoost na čtyřech GPU A10, zaznamenejte nejlepší konfiguraci do MLflow a zaregistrujte model v Unity Catalog. |
Práce s daty a funkcemi Databricku
Úlohy Ray mohou přistupovat k datům ve svazcích Unity Catalog, zaznamenávat běhy pomocí MLflow a běžet jako úlohy služby Lakeflow Jobs definované pomocí Declarative Automation Bundles.
Přístup k datům v Unity Catalog
Pro tabulková data v tabulce Unity Catalog použijte ray.data.read_databricks_tables() k přečtení tabulky nebo spusť SQL dotaz přes Databricks SQL warehouse. Zadejte ID skladu, katalog a schéma, protože AI Runtime neposkytuje lokální Spark relaci. SQL můžete použít k provádění spojů, agregací a filtrů ještě před zpracováním výsledků Rayem.
Pro souborová a nestrukturovaná data použijte svazek Unity Catalog. Ray workeri mohou přistupovat k souborům pomocí svých /Volumes/<catalog>/<schema>/<volume>/... cest. Například Ray Data může číst soubory Parquet pomocí ray.data.read_parquet() a zapisovat výsledky pomocí Dataset.write_parquet().
Sledujte a orchestrujte pracovní zátěže
Použijte MLflow k zaznamenávání parametrů, metrik a artefaktů z Ray workloadu. Viz Sledování experimentu a pozorovatelnost.
K naplánování pracovní zátěže nebo jejímu zkombinování s úlohami přípravy dat na CPU použijte Lakeflow Jobs a Declarative Automation Bundles. Viz Plánujte úlohy GPU a sestavujte úlohy.
Migrace existujícího Ray workloadu
Migrace samostatně spravované pracovní zátěže Ray zahrnuje nahrazení její konfigurace infrastruktury a integrací služeb modelem spouštění AI Runtime.
Posuďte své pracovní vytížení
Před migrací si projděte omezení. Ověřte, že workload může běžet na clusteru s pevnou velikostí s jedním typem akcelerátoru.
Migrace pracovní zátěže
Migrace úlohy Ray spravované vlastními silami:
- Vyberte si notebook pro interaktivní vývoj na jednom uzlu nebo Databricks CLI pro úlohy s jedním uzlem nebo více uzly.
- Mapujte stávající clusterové zdroje na typ a počet akcelerátorů AI Runtime. Viz Hardwarové možnosti.
- Nahraďte stávající spouštění clusteru pomocí
ray_init()v notebooku nebo zdokumentovaným zaváděcím postupem pro řídicí a pracovní uzel v úloze Databricks CLI. - Deklarujte závislosti úlohy na Pythonu a aktualizujte cesty k datům, kontrolním bodům, modelu a výstupům.
- Ověřte pracovní zátěž na nejmenší použitelné konfiguraci. Potvrďte přístup k datům, požadavky na zdroje a výstupy před testováním zamýšlené pevné topologie.
Omezení
Ray na AI Runtime má následující omezení:
- Ray cluster má pevný počet uzlů po dobu trvání pracovní zátěže. Automatické škálování shluků z rayů není podporováno.
- Všechny uzly v zátěži používají stejný
accelerator_type. Ray cluster nemůže obsahovat oddělené pracovní skupiny pouze CPU a GPU ani škálovat kapacitu CPU a GPU nezávisle. - Notebook spustí Ray na svém připojeném jediném uzlu. Použijte Databricks CLI pro víceuzlový Ray cluster.
- Přístup k Ray dashboardu přes proxy ovladače Databricks je v současnosti dostupný pouze pro pracovní zátěže notebooků.
Tip
Pokud příprava CPU a zpracování GPU mohou běžet jako samostatné fáze, použijte multitaskový Lakeflow Job a předávajte data mezi úkoly přes svazek Unity Catalog.