Este documento resume como criar um cluster para suas cargas de trabalho de IA no Hipercomputador de IA. Especificamente, este documento orienta você no processo e nas escolhas a serem feitas ao iniciar um cluster.
Antes de começar
Você precisa ter uma carga de trabalho preexistente que queira oferecer suporte.
Você precisa estar familiarizado com a terminologia usada com frequência para cargas de trabalho de IA e ML, como treinamento de modelo e inferência.
Iniciar um cluster
A inicialização de um cluster envolve as seguintes etapas:
- Determinar sua carga de trabalho e escolher um tipo de máquina
- Escolher uma opção de consumo e adquirir capacidade
- Escolher uma opção de implantação
- Escolher um orquestrador
- Escolher a imagem do sistema operacional e do cluster
- Criar o cluster
- Provisionar armazenamento para sua carga de trabalho
Determinar sua carga de trabalho e escolher um tipo de máquina
Selecione um tipo de máquina para sua carga de trabalho de IA. O Hipercomputador de IA oferece suporte à criação de clusters usando as séries de máquinas A4X Max, A4X, A4 e A3. Considere as seguintes recomendações para uso da máquina:
Para treinamento de modelo e inferência de modelos de fundação: A4X Max ou A4X
Para treinamento de modelo, ajuste fino e inferência de modelos grandes: A4 ou A3 Ultra
Para inferência e ajuste fino de modelos convencionais: A3 Mega ou A3 High (8 GPUs)
Para inferência em produção: A3 Edge
Para informações detalhadas sobre cada série de máquinas, consulte Tipos de máquinas com GPU. Para informações detalhadas sobre recomendações de carga de trabalho para cada máquina, consulte Configurações recomendadas.
Escolher uma opção de consumo e adquirir capacidade
Escolha uma opção de consumo para seus recursos de GPU com base na disponibilidade da sua carga de trabalho e no tipo de máquina escolhido. Por exemplo, para usar os tipos de máquina A4X Max ou A4X, é necessário reservar capacidade para uma data e hora específicas usando o modelo de consumo de reservas adiantadas. As opções a seguir resumem os modelos de consumo:
Reservas adiantadas: disponíveis para os tipos de máquina A4X Max, A4X, A4 e A3 Ultra, com alocação densa de recursos e até 53% de desconto em vCPUs e GPUs. As reservas adiantadas são ideais para cargas de trabalho que exigem estabilidade por um período prolongado, como modelos de fundação de pré-treinamento ou inferência de modelos de fundação de vários hosts. Para usar essa opção de consumo, solicite capacidade à equipe da sua conta para uma data e hora de início futuras.
Reservas adiantadas no modo de calendário: disponíveis para os tipos de máquina A4, A3 Ultra, A3 Mega e A3 High (somente VMs de 8 GPUs), com alocação densa de recursos e até 53% de desconto em vCPUs e GPUs. As reservas adiantadas no modo de calendário ajudam a reservar recursos para cargas de trabalho que são executadas por até 90 dias e exigem estabilidade, como modelos de pré-treinamento ou ajuste fino. No entanto, para usar essa opção de consumo, é necessário criar uma solicitação de reserva para reservar recursos em uma data e hora futuras e Google Cloud aprovar a solicitação.
Início flexível: disponível para todos os tipos de máquinas com GPU, exceto A4X Max e A4X. O início flexível permite criar clusters densos e de curta duração que duram até sete dias e têm descontos de até 53% em vCPUs e GPUs para tipos de máquina A2 e mais recentes. É possível criar clusters de início flexível diretamente pelo Compute Engine, Cluster Director, Cluster Toolkit ou GKE. No entanto, os clusters não ficam disponíveis imediatamente. O Google os cria assim que os recursos estão disponíveis.
Spot: disponível para todos os tipos de máquinas com GPU, exceto A4X Max e A4X. As VMs spot permitem criar recursos de computação imediatamente com base na disponibilidade. No entanto, o Compute Engine pode antecipar instâncias máquina virtual (VMs) a qualquer momento. As VMs spot têm o maior desconto possível no Compute Engine (entre 61% e 90%).
Para mais informações sobre as opções de consumo, consulte Comparação das opções de consumo.
Escolher uma opção de implantação
Dependendo do nível de controle necessário sobre a implantação do cluster, escolha entre uma implantação altamente gerenciada ou menos gerenciada que ofereça mais controle sobre a infraestrutura.
Totalmente gerenciado
Se você quiser que o Google implante e configure sua infraestrutura, use o Cluster Director, o Cluster Toolkit ou o GKE.
Cluster Director: um Google Cloud produto que automatiza a configuração complexa de clusters, ajudando a configurar recursos de computação, rede e armazenamento para seus clusters, a fim de maximizar o desempenho e minimizar as inatividades. O Cluster Director foi projetado para administradores de TI e pesquisadores de IA que querem evitar o overhead de gerenciamento de um cluster e, em vez disso, se concentrar na execução das cargas de trabalho.
Cluster Toolkit: uma ferramenta de código aberto oferecida pelo Google que simplifica a configuração e a implantação de clusters para o GKE ou o Compute Engine. Você usa modelos predefinidos para implantar configurações comuns, como tipos de máquina A4 com Slurm. É possível modificar modelos para personalizar implantações e sua pilha de software.
GKE: um serviço gerenciado do Kubernetes e uma plataforma de orquestração de contêineres de código aberto platform. O GKE oferece recursos como escalonamento automático e alta disponibilidade. Ele também é capaz de orquestrar aplicativos conteinerizados, oferecer suporte a hardware especializado e é compatível com o Google Cloud ecossistema, o que o torna adequado para implantar e gerenciar cargas de trabalho de IA ou ML. É possível implantar clusters do GKE usando o GKE diretamente ou usando o Cluster Toolkit. Você pode escolher entre o modo Standard ou Autopilot do GKE.
Menos gerenciado, mais controle
Para ter um controle mais granular sobre seus clusters e o software instalado neles, crie um cluster do Compute Engine usando grupos de instâncias gerenciadas do Compute Engine (MIGs) ou criando instâncias em massa. Em seguida, instale manualmente qualquer software essencial necessário nas instâncias.
Escolher um orquestrador
Um orquestrador automatiza o gerenciamento dos clusters. Com um orquestrador, não é necessário gerenciar cada instância de computação no cluster. Um orquestrador, como o Slurm ou o GKE, processa tarefas como enfileiramento de jobs, alocação de recursos, escalonamento automático (no caso do GKE) e outras tarefas de gerenciamento de cluster do dia a dia.
Slurm: o Slurm é um orquestrador de código aberto usado com frequência para cargas de trabalho de HPC, IA, ou ML. Para usar o Slurm, você pode usar o Cluster Toolkit (que oferece modelos de cluster que instalam automaticamente o Slurm nos clusters) ou instalar manualmente o Slurm em um cluster do Compute Engine.
GKE: o GKE é um serviço gerenciado criado no Kubernetes, uma plataforma de orquestração de contêineres de código aberto. O GKE é ideal para implantar e gerenciar cargas de trabalho de IA ou ML, devido à capacidade de orquestrar aplicativos conteinerizados, ao suporte de hardware especializado e ao lugar no Google Cloud ecossistema. É possível implantar clusters do GKE usando o GKE diretamente ou usando o Cluster Toolkit.
Traga seu próprio orquestrador: se você quiser usar outros orquestradores, use-os nos clusters do Compute Engine. No entanto, a criação de um cluster do Compute Engine é a opção menos gerenciada oferecida no Google Cloud. Essa escolha significa que você é responsável por configurar, manter e atualizar suas instâncias.
Escolher a imagem do sistema operacional
Dependendo se você usa o GKE ou o Compute Engine, selecione uma imagem que contenha o sistema operacional selecionado, como o Container-Optimized OS para clusters do GKE, ou uma imagem do SO do acelerador para clusters do Compute Engine. Além disso, também é possível selecionar uma imagem da camada de software de aprendizado profundo (DSLS) para seus contêineres.
Para informações detalhadas, consulte Imagens do Hipercomputador de IA.
Imagens para clusters do GKE
Para criar clusters do GKE, recomendamos o uso das imagens de SO de contêiner padrão para os modos Standard e Autopilot. No entanto, no modo Standard, também é possível usar outras imagens disponíveis, como o Ubuntu.
Se você usar o Cluster Toolkit para implantar o cluster, só poderá usar imagens de SO de contêiner, já que essas são as imagens integradas aos modelos de cluster. Para mais informações sobre cada imagem de nó, consulte Imagens denó na documentação do GKE.
O GKE também oferece imagens de contêiner da camada de software de aprendizado profundo (DLSL) que instalam pacotes como NVIDIA CUDA e NCCL, além de frameworks de ML como o PyTorch, fornecendo um ambiente pronto para uso para cargas de trabalho de aprendizado profundo. Essas imagens de contêiner DLSL pré-criadas são testadas e verificadas para funcionar perfeitamente em clusters do GKE.
Imagens de SO para clusters do Compute Engine
O Hipercomputador de IA oferece imagens otimizadas para executar cargas de trabalho de IA e ML usando o Compute Engine. Escolha o SO com que você está mais familiarizado:
- Acelerador Rocky Linux 9
- Acelerador Rocky Linux 8
- Acelerador Ubuntu 24.04 LTS
- Acelerador Ubuntu 22.04 LTS
Se você usar o Cluster Toolkit, essas imagens do acelerador já estarão agrupadas nos modelos do Cluster Toolkit, porque o Cluster Toolkit cria imagens personalizadas que estendem as imagens do SO do Ubuntu LTS Accelerator.
Para mais informações sobre cada imagem do SO, consulte Detalhes do sistema operacional na documentação do Compute Engine.
Criar o cluster
Depois de analisar o processo de criação do cluster e tomar decisões preliminares para sua carga de trabalho, crie o cluster usando uma das seguintes opções:
- Criar um cluster do GKE:
- Criar um cluster Slurm:
- Criar um cluster com o Compute Engine:
Provisionar armazenamento para sua carga de trabalho
Escolha um serviço de armazenamento para provisionar, com base nos requisitos de desempenho, custo e arquitetura de armazenamento.