Para executar cargas de trabalho de inteligência artificial (IA) ou machine learning (ML) com eficiência, selecione um orquestrador de carga de trabalho e uma plataforma de implantação. Esses componentes funcionam da seguinte forma:
Um orquestrador agenda e executa seus jobs.
Uma opção de implantação gerencia um orquestrador.
Depois de identificar qual infraestrutura de GPU (GPUs em cluster ou GPUs gerais) usar para executar suas cargas de trabalho, siga as orientações neste documento para identificar o orquestrador e a implantação que melhor se adequam à sua carga de trabalho e nível de gerenciamento.
Para conferir os tipos de máquinas com GPU que podem ser usados para executar suas cargas de trabalho, consulte Máquinas com GPU.
Comparar orquestradores e opções de implantação
O Hipercomputador de IA oferece vários orquestradores e opções de implantação para suas instâncias de computação. Essas opções variam de clusters totalmente gerenciados que permitem que você se concentre nas suas cargas de trabalho a ambientes autogerenciados que oferecem controle granular sobre como manter e atualizar suas instâncias de computação.
A tabela a seguir compara os orquestradores e as opções de implantação que você pode usar ao executar cargas de trabalho de IA:
| Produto | Orquestrador | Complexidade técnica | Recomendado para | Principal benefício |
|---|---|---|---|---|
| Cluster Director | Slurm | Baixo | Pesquisadores de IA, cientistas de dados | Ciclo de vida gerenciado para clusters do Slurm |
| Google Kubernetes Engine (GKE) | Kubernetes | De médio para alto | Engenheiros de ML e de plataforma | Orquestração e escalonamento de contêineres |
| Cluster Toolkit | Slurm, Kubernetes | Média | ML DevOps, engenheiros de plataforma | Blueprints validados de infraestrutura como código |
| Compute Engine | Personalizado / Nenhum | Alta | Arquitetos de infraestrutura | Controle granular sobre o SO e a rede |
Escolher um orquestrador e uma opção de implantação
Para escolher um orquestrador e uma opção de implantação, use o fluxograma a seguir:
O fluxograma anterior faz as seguintes perguntas:
Você quer a orquestração de cluster para suas cargas de trabalho?
- Sim: vá para a pergunta 2.
- Não: use o Compute Engine.
Você quer executar apps conteinerizados padrão?
- Sim: use o GKE.
- Não: vá para a pergunta 3.
Você quer que o Google gerencie o ciclo de vida do cluster?
- Sim: use o Cluster Director.
- Não: use o Cluster Toolkit.
Orquestradores compatíveis
Um orquestrador automatiza o gerenciamento de clusters e elimina a necessidade de gerenciar cada instância de computação individualmente. Orquestradores como o Slurm ou o Kubernetes processam o enfileiramento de jobs, a alocação de recursos e o escalonamento automático.
Slurm: um orquestrador de código aberto usado com frequência para cargas de trabalho de IA, ML e HPC. É possível usar o Slurm com o Cluster Toolkit ou o Cluster Director.
Kubernetes: uma plataforma de orquestração de contêineres de código aberto. Você pode implantar o Kubernetes usando o GKE diretamente ou pelo Cluster Toolkit.
Personalizado ou nenhum: use o Compute Engine se preferir um orquestrador diferente ou quiser gerenciar suas instâncias de computação sem um. Essa opção oferece o maior nível de controle, mas exige que você configure, mantenha e atualize manualmente as instâncias de computação.
Plataformas de implantação compatíveis
Depois de identificar o orquestrador e a opção de implantação recomendados para seu caso de uso, revise as descrições abaixo para verificar se os níveis de gerenciamento e os recursos atendem aos requisitos da sua carga de trabalho.
Plataformas gerenciadas e automatizadas
Se você quiser evitar a sobrecarga de gerenciar um cluster e se concentrar em executar suas cargas de trabalho, use uma das seguintes plataformas gerenciadas:
Cluster Director: um serviço totalmente gerenciado que automatiza o ciclo de vida dos clusters do Slurm. Use o Cluster Director para simplificar a configuração dos clusters do Slurm. O Cluster Director automatiza o ciclo de vida dos seus clusters para que você possa se concentrar na execução das cargas de trabalho de IA, ML ou HPC. Para mais informações, consulte Visão geral do Cluster Director.
GKE: um ambiente gerenciado do Kubernetes otimizado para cargas de trabalho de IA e ML. Use o GKE para orquestrar cargas de trabalho em contêineres, integrar com hardware especializado do Compute Engine e aproveitar recursos específicos do GKE, como o Agendamento com reconhecimento de topologia (TAS, na sigla em inglês). Para mais informações, consulte Visão geral do GKE.
Plataformas semigerenciadas e autogerenciadas
Se você precisar de controle granular sobre o sistema operacional, as configurações do kernel ou as versões do driver, use uma plataforma semigerenciada ou autogerenciada:
Cluster Toolkit: um kit de ferramentas de código aberto que oferece blueprints validados e personalizáveis para implantar ambientes de IA e ML reproduzíveis. Ela oferece alta flexibilidade e controle usando princípios de infraestrutura como código (IaC). Para mais informações, consulte Visão geral do Cluster Toolkit.
Compute Engine: um serviço de computação personalizável que oferece controle máximo para criar ambientes personalizados do zero. Embora não seja um orquestrador independente, o Compute Engine serve como base para usuários que preferem criar e gerenciar suas próprias stacks personalizadas especializadas. Para mais informações, consulte a visão geral do Compute Engine.
A seguir
- Para saber mais sobre a capacidade, consulte Opções de consumo.
- Para implantar o cluster, consulte Visão geral da criação de cluster.