Os clusters de treinamento da Vertex AI são um serviço da Google Cloud projetado para simplificar e acelerar as cargas de trabalho de IA/ML maiores e mais complexas. Ele foi criado especificamente para resolver desafios em treinamento em grande escala, como configuração complexa de cluster, otimização de framework, tratamento de falhas de hardware e integração de conjuntos de ferramentas diferentes.
Principais recursos e proposta de valor
O serviço de desenvolvimento de modelos oferece vários benefícios principais:
Experiência do usuário do Slurm de código aberto e transparência do cluster: os clusters de treinamento da Vertex AI oferecem ferramentas familiares e flexíveis para iniciar e gerenciar jobs usando uma experiência do usuário do Slurm de código aberto. O Slurm é um padrão do setor conhecido pelo agendamento otimizado de GPUs, tolerância a falhas automatizada e inicialização simplificada de jobs paralelos.
Configuração e configuração automatizadas de clusters: os clusters de treinamento da Vertex AI automatizam a configuração e a configuração de clusters, com o objetivo de fazer a transição do treinamento de reserva para produção em horas. Os usuários podem criar clusters usando o console do Google Cloud (com arquiteturas de referência ou configuração detalhada) ou por chamadas de API com arquivos JSON.
Receitas e fluxos de trabalho de ciência de dados pré-configurados: os clusters de treinamento da Vertex AI incluem ferramentas criadas para fins específicos e receitas de treinamento otimizadas para iniciar o treinamento de casos de uso conhecidos, como modelos Llama e Gemma, abrangendo pré-treinamento, SFT (ajuste supervisionado) e aprendizado por reforço (RL). Essas receitas são pré-configuradas para performance de ponta (SOTA) na infraestrutura Google Cloud, demonstrando ganhos significativos de performance.
Resiliência de hardware e alta disponibilidade: os clusters de treinamento da Vertex AI são projetados com resiliência de hardware para aumentar o tempo de atividade do cluster. Ele resolve automaticamente problemas de hardware, detecta e classifica vários modos de falha (por exemplo, verificações de correção e velocidade, erros de código de correção de erros (ECC), verificações do NVIDIA Data Center GPU Manager (DCGM), capacidade de espaço em disco) e aciona ações de correção, como reinicialização, recriação de imagens ou substituição de nós com falha, além de retomar de pontos de verificação. Isso ajuda a reduzir o aumento significativo de custos e os atrasos causados por interrupções de jobs e falhas de hardware em treinamentos em grande escala.
Arquitetura e componentes: os clusters de treinamento da Vertex AI são executados na infraestrutura do Compute Engine, que é compatível com GPUs e CPUs. Ele usa um orquestrador Slurm gerenciado para implantar e gerenciar nós de computação, incluindo nós de login e de trabalho. O serviço se integra a outros serviços do Google Cloud , como rede e armazenamento.
MLOps e capacidade de observação: integra-se às ferramentas de MLOps da Vertex, como o Vertex AI Model Registry para registro, rastreamento e controle de versões automáticos de fluxos de trabalho treinados, e a Inferência da Vertex AI para implantação com escalonamento automático e métricas automatizadas. Os clusters de treinamento também têm integração automática de capacidade de observação com o TensorBoard da Vertex AI para visualizar processos de treinamento, rastrear métricas e identificar problemas com antecedência.
É possível criar, recuperar, listar, atualizar e excluir clusters de treinamento usando a API Vertex AI Training Clusters. Depois da criação do cluster, os usuários podem validar a funcionalidade dele fazendo login nos nós, executando comandos básicos do Slurm (por exemplo, sinfo, sbatch) e executando cargas de trabalho relacionadas à GPU (por exemplo, nvidia-smi). A ferramenta Cluster Health Scanner (CHS) (em inglês) vem pré-instalada para executar diagnósticos, como testes do DCGM e do NCCL, e verificar se o cluster está pronto.
Os clusters de treinamento da Vertex AI oferecem uma API para iniciar jobs de LLM pré-criados usando receitas otimizadas para modelos como Llama e Gemma, com suporte para pré-treinamento e pré-treinamento contínuo de pontos de verificação. É possível monitorar o job fazendo login no nó de login e examinando arquivos de saída e comandos do Slurm, como squeue.
Terminologia
Esta seção fornece definições de termos e conceitos essenciais para entender e usar com eficácia os clusters de treinamento da Vertex AI. Esses termos abrangem componentes principais de serviço, considerações arquitetônicas, tecnologias de armazenamento integradas e conceitos fundamentais de machine learning (ML) e MLOps que sustentam seu ambiente de treinamento.
Conceitos principais de serviços
nó
- Uma única máquina virtual (instância do Compute Engine) em um cluster. No contexto do treinamento gerenciado em clusters reservados, um nó se refere a uma máquina virtual (VM) individual que serve como uma única unidade de computação no cluster. Pense nisso como uma das máquinas de trabalho dedicadas que executam uma parte do seu job de treinamento geral. Cada nó é equipado com recursos específicos, como CPU, memória e aceleradores (por exemplo, GPUs A3 ou A4), e todos trabalham juntos de maneira coordenada para lidar com tarefas de treinamento distribuídas em grande escala.
nó de login
- Um nó de login é o principal ponto de entrada para um usuário acessar o cluster, enviar jobs e gerenciar arquivos. Para mais informações, consulte O que é computação de alto desempenho?.
partition
- No Slurm, um agrupamento lógico de nós, geralmente usado para separar nós com diferentes configurações de hardware.
receita
- No contexto do treinamento gerenciado, uma receita é um pacote abrangente e reutilizável que contém tudo o que é necessário para executar uma carga de trabalho de treinamento específica em grande escala.
Cluster do Slurm
- Uma coleção de instâncias do Compute Engine, gerenciadas pelo Slurm, que inclui um nó de login e vários nós de trabalho configurados para executar jobs de treinamento. Para mais informações, consulte Gerenciador de carga de trabalho do Slurm.
nó de trabalho
- Um nó de trabalho se refere a uma máquina ou instância computacional individual em um cluster responsável por executar tarefas ou realizar trabalhos. Em sistemas como clusters do Kubernetes ou do Ray, os nós são as unidades fundamentais de computação. Para mais informações, consulte O que é computação de alto desempenho (HPC)?.
Arquitetura e rede
rede VPC do consumidor
- Uma rede VPC consumidora é uma nuvem privada virtual (VPC) do Google Cloud que acessa de maneira particular um serviço hospedado em outra VPC (conhecida como VPC produtora). Para mais informações, consulte Private Service Connect.
Unidade máxima de transmissão (MTU)
- O maior tamanho de um pacote de dados que um dispositivo conectado à rede pode transmitir. Tamanhos de MTU maiores (jumbo frames) podem melhorar o desempenho da rede para determinadas cargas de trabalho. Para mais informações, consulte Unidade de transmissão máxima.
acesso privado a serviços
- O acesso privado a serviços é uma conexão privada entre sua rede de nuvem privada virtual (VPC) e redes de propriedade do Google ou de provedores de serviços terceirizados. Isso permite que instâncias de máquina virtual (VM) na sua rede VPC se comuniquem com esses serviços usando endereços IP internos, evitando a exposição à Internet pública. Para mais informações, consulte Acesso a serviços privados.
Peering de rede VPC
- Uma conexão de rede que permite que duas redes VPC se comuniquem de forma privada. No contexto do treinamento gerenciado em clusters reservados, o peering de rede VPC é um componente essencial para integrar serviços importantes. Por exemplo, é o método necessário para conectar a VPC do cluster a uma instância do Filestore, que fornece o diretório `/home` compartilhado necessário para todos os nós do cluster.
zone
- Uma área de implantação específica em uma região do Google Cloud. No contexto do treinamento gerenciado em clusters reservados, para ter o melhor desempenho, todos os componentes do serviço (o cluster, o Filestore e as instâncias gerenciadas do Lustre) precisam ser criados na mesma zona.
Tecnologias de armazenamento integradas
Cloud Storage FUSE
- Um adaptador FUSE de código aberto que permite ativar buckets do Cloud Storage como um sistema de arquivos em sistemas Linux ou macOS. Para mais informações, consulte Cloud Storage Fuse.
Filestore
- Um serviço de armazenamento de arquivos de alto desempenho e totalmente gerenciado do Google Cloud, geralmente usado para aplicativos que exigem um sistema de arquivos compartilhado. Para mais informações, consulte a Visão geral do Filestore.
Managed Lustre
- Um sistema de arquivos paralelo e distribuído projetado para computação de alto desempenho. O Managed Lustre do Google Cloud oferece um sistema de arquivos de alta capacidade para cargas de trabalho exigentes. Para mais informações, consulte Visão geral do Managed Lustre.
nível de desempenho
- Uma configuração de uma instância do Managed Lustre que define a velocidade de capacidade de processamento (em MBps por TiB) e afeta a capacidade mínima e máxima.
Principais conceitos de ML e MLOps
checkpoint
- Dados que capturam o estado dos parâmetros de um modelo durante ou após o treinamento. Por exemplo, durante o treinamento, você pode: 1. Interromper o treinamento, talvez intencionalmente ou como resultado de determinados erros. 2. Capture o checkpoint. 3. Depois, recarregue o ponto de verificação, possivelmente em um hardware diferente. 4. Reinicie o treinamento. No Gemini, um checkpoint se refere a uma versão específica de um modelo do Gemini treinado em um conjunto de dados específico.
Ajuste supervisionado (SFT)
- Uma técnica de aprendizado de máquina em que um modelo pré-treinado é treinado em um conjunto de dados menor e rotulado para adaptá-lo a uma tarefa específica.
Inferência da Vertex AI
- Um serviço da Vertex AI que permite usar um modelo treinado de machine learning (ML) para fazer inferências com dados novos e não vistos. A Vertex AI oferece serviços para implantar modelos de inferência. Para mais informações, consulte Receber inferências de um modelo treinado personalizado.
Vertex AI Model Registry
- O Vertex AI Model Registry é um repositório central em que é possível gerenciar o ciclo de vida dos seus modelos de ML. No Vertex AI Model Registry, você tem uma visão geral dos seus modelos para organizar, rastrear e treinar melhor as novas versões. Quando houver uma versão de modelo que você gostaria de implantar, será possível atribuí-la a um endpoint diretamente do registro ou, usando aliases, implantar modelos em um endpoint. Para mais informações, consulte Introdução ao Vertex AI Model Registry.
TensorBoard da Vertex AI
- O TensorBoard da Vertex AI é um serviço gerenciado e escalonável no Google Cloud que permite que cientistas de dados e engenheiros de ML visualizem experimentos de machine learning, depurem treinamento de modelo e rastreiem métricas de performance usando a interface familiar do TensorBoard de código aberto. Ele se integra perfeitamente ao treinamento da Vertex AI e a outros serviços, oferecendo armazenamento permanente para dados de experimentos e permitindo a análise colaborativa do desenvolvimento de modelos. Para mais informações, consulte Introdução ao Vertex AI TensorBoard.