As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
O que é Ray
O Ray é uma estrutura unificada de código aberto para escalar aplicativos de IA e Python. Ele fornece a camada de computação para processamento paralelo, portanto, você não precisa ser um especialista em sistemas distribuídos para executar trabalhos em um cluster. Você continua escrevendo PyTorch, JAX ou vLLM, e Ray lida com a escala. Para uma visão geral completa, consulte Visão geral
A estrutura Ray
Ray tem três camadas:
-
Bibliotecas Ray AI, um conjunto de bibliotecas Python para tarefas comuns de aprendizado de máquina.
-
Ray Core, uma biblioteca de computação distribuída de uso geral que dimensiona aplicativos Python.
-
Clusters de raios, um conjunto de nós de trabalho conectados a um nó principal. Um cluster pode ter tamanho fixo ou escalar automaticamente de acordo com os recursos que seus aplicativos solicitam.
Bibliotecas Ray AI
-
Ray Data para pré-processamento de dados distribuídos e inferência em lote.
-
Ray Train para treinamento distribuído, paralelo a dados e paralelo a modelos.
-
Ray Tune para ajuste paralelo de hiperparâmetros.
-
Ray Serve para servir modelos on-line.
-
RLLib para aprendizado por reforço.
Aprendizado por reforço no Ray
RLLib é a biblioteca de aprendizado por reforço que Ray envia. Além disso, as estruturas de aprendizado por reforço usadas para o pós-treinamento de grandes modelos de linguagem se baseiam no Ray para sua camada distribuída, porque uma única execução precisa colocar e coordenar várias funções diferentes nas GPUs ao mesmo tempo: geração de lançamentos, pontuação de recompensas e treinamento de políticas. Ray Core dá a eles a colocação do ator e a programação para fazer isso.
As estruturas executadas no Ray incluem verl, OpenRLHF e NVIDIA. NeMo-RL Cada um é executado como uma carga de trabalho comum do Ray, portanto, tudo o que o Ray suporta é executado da mesma forma aqui.
O que Ray faz para você
Ray gerencia o trabalho de sistemas distribuídos que, de outra forma, seria seu:
-
Orquestração dos componentes de um aplicativo distribuído.
-
Programação de quando e onde as tarefas são executadas.
-
Tolerância a falhas, para que as tarefas sejam concluídas apesar das falhas.
-
Escalonamento automático de recursos para atender à demanda.
Ray em HyperPod
HyperPod executa o Ray de código aberto por meio do KubeRay operador, inalterado. Ele não bifurca o Ray, modifica o tempo de execução do Ray nem introduz um agendador proprietário. RayCluster,RayJob,RayCronJob, e RayService se comporte como eles fazem no início, e os manifestos que você já executa continuam trabalhando. Para saber o que configurar, consulteIntrodução.