Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Che cos'è Ray
Ray è un framework unificato open source per scalare le applicazioni AI e Python. Fornisce il livello di elaborazione per l'elaborazione parallela, quindi non è necessario essere esperti di sistemi distribuiti per eseguire il lavoro su un cluster. Continui a scrivere PyTorch, JAX o vLLM, e Ray si occupa del ridimensionamento. Per una panoramica completa, consultate Overview
Il framework Ray
Ray ha tre livelli:
-
Ray AI Libraries, un set di librerie Python per attività di machine learning comuni.
-
Ray Core, una libreria di calcolo distribuito generica che ridimensiona le applicazioni Python.
-
Ray cluster, un insieme di nodi di lavoro collegati a un nodo principale. Un cluster può essere di dimensioni fisse oppure può essere scalato automaticamente in base alle risorse richieste dalle applicazioni.
Librerie Ray AI
-
Ray Data per la preelaborazione distribuita dei dati e l'inferenza in batch.
-
Ray Train per l'addestramento distribuito, parallelo ai dati e parallelo al modello.
-
Ray Tune per la regolazione parallela degli iperparametri.
-
Ray Serve per la gestione online dei modelli.
-
RLLib per l'apprendimento per rinforzo.
Apprendimento per rinforzo su Ray
RLLib è la libreria di apprendimento per rinforzo fornita da Ray. Inoltre, i framework di reinforcement learning utilizzati per il post-training di modelli linguistici di grandi dimensioni si basano su Ray per il loro livello distribuito, perché una singola esecuzione deve assegnare e coordinare diversi ruoli tra le GPU contemporaneamente: generazione del rollout, valutazione dei premi e formazione delle politiche. Ray Core fornisce loro il posizionamento degli attori e la pianificazione necessari per farlo.
I framework che girano su Ray includono verl, OpenRLHF e NVIDIA. NeMo-RL Ciascuno viene eseguito come un normale carico di lavoro Ray, quindi tutto ciò che Ray supporta viene eseguito allo stesso modo qui.
Cosa gestisce Ray per te
Ray gestisce il lavoro dei sistemi distribuiti che altrimenti spetterebbe a te:
-
Orchestrazione dei componenti di un'applicazione distribuita.
-
Pianificazione di quando e dove vengono eseguite le attività.
-
Tolleranza agli errori, in modo che le attività vengano completate nonostante gli errori.
-
Scalabilità automatica delle risorse in base alla domanda.
Ray on HyperPod
HyperPod esegue Ray open source tramite l' KubeRay operatore, invariato. Non esegue il fork di Ray, non modifica il runtime di Ray o introduce uno scheduler proprietario. RayCluster,, RayJobRayCronJob, e si RayService comportano come fanno a monte, e i manifesti che già esegui continuano a funzionare. Per sapere cosa configurare, consulta. Nozioni di base