View a markdown version of this page

O que é Ray - SageMaker IA da Amazon

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 na documentação do Ray.

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.