Neste guia, mostramos como otimizar o provisionamento da Unidade de Processamento de Tensor (TPUs) usando a reserva adiantada no modo de calendário. A reserva adiantada no modo de calendário é um consultor e recomendador de calendário integrado que pode ajudar você a localizar a capacidade de TPU e se planejar com antecedência. Você pode solicitar capacidade para um horário de início e uma duração especificados, entre 1 e 90 dias, e o recomendador vai sugerir datas.
Este guia é destinado a engenheiros de machine learning (ML), administradores e operadores de plataforma e especialistas em dados e IA interessados em usar os recursos de orquestração de contêineres do Kubernetes para executar cargas de trabalho em lote. Para mais informações sobre papéis comuns e tarefas de exemplo que mencionamos no conteúdo do Google Cloud , consulte Funções e tarefas de usuário comuns do GKE Enterprise.
Para mais informações, consulte Sobre reservas adiantadas no modo de calendário.
Casos de uso
A reserva futura no modo de calendário funciona melhor para cargas de trabalho com solicitações programadas, de curto prazo e de alta demanda, como treinamento ou modelos de inferência em lote que exigem alta disponibilidade no horário de início solicitado.
Se a carga de trabalho exigir recursos provisionados dinamicamente conforme necessário, por até 7 dias sem reservas de longo prazo ou gerenciamento complexo de cotas, use o flex-start. Para mais informações, consulte Sobre o provisionamento de GPU e TPU com flex-start.
Antes de começar
Antes de começar, verifique se você realizou as tarefas a seguir:
- Ativar a API Google Kubernetes Engine. Ativar a API Google Kubernetes Engine
- Se você quiser usar a CLI do Google Cloud para essa tarefa,
instale e inicialize a
gcloud CLI. Se você instalou a gcloud CLI anteriormente, instale a versão
mais recente executando
gcloud components update
.
- Verifique se você tem uma das seguintes opções:
- um cluster Standard na versão 1.28.3-gke.1098000 ou mais recente.
- um cluster do Autopilot na versão 1.30.3-gke.1451000 ou mais recente.
Solicitar reserva adiantada no modo de agenda para TPUs
O processo para solicitar TPUs com reserva adiantada no modo de calendário envolve as seguintes etapas:
- Verifique se você tem cota suficiente para recursos que não fazem parte de uma reserva quando as VMs são criadas, como discos ou endereços IP. As solicitações de reserva adiantada no modo de calendário não exigem cota do Compute Engine.
- Siga as etapas em criar uma solicitação no modo de calendário. Essas etapas incluem o seguinte:
- Confira a disponibilidade futura da TPU.
- Crie e envie uma solicitação de reserva adiantada no modo de agenda para TPUs.
- Aguarde Google Cloud aprovar sua solicitação.
- Crie um pool de nós de TPU que use sua reserva.
Crie um pool de nós.
Esta seção se aplica apenas a clusters Standard.
É possível usar sua reserva ao criar pools de nós de fração de TPU de host único ou vários hosts. Por exemplo, é possível criar um pool de nós de fatia da TPU de host único usando a Google Cloud CLI.
gcloud container node-pools create NODE_POOL_NAME \
--location=LOCATION \
--cluster=CLUSTER_NAME \
--node-locations=NODE_ZONES \
--machine-type=MACHINE_TYPE \
--reservation-affinity=specific \ This is required
--reservation=RESERVATION
Substitua:
NODE_POOL_NAME
: o nome do novo pool de nós.LOCATION
: o nome da zona com base na versão da TPU que você quer usar. Para identificar um local disponível, consulte Disponibilidade da TPU no GKE.CLUSTER_NAME
: o nome do cluster.NODE_ZONES
: a lista separada por vírgulas de uma ou mais zonas em que o GKE cria o pool de nós.MACHINE_TYPE
: o tipo de máquina a ser usado para nós. Para mais informações sobre os tipos de máquinas compatíveis com TPU, use a tabela em Escolher a versão da TPU.RESERVATION
: o nome da reserva de calendário a ser consumida.
Para uma lista completa de todas as flags que podem ser especificadas, consulte a referência gcloud container clusters create
.
Depois de criar um pool de nós com a reserva de calendário, é possível implantar sua carga de trabalho como qualquer outro pool de nós de TPU. Por exemplo, você pode criar um Job que especifica o pool de nós de TPU que consome as TPUs reservadas.
A seguir
Teste exemplos de implantação do GKE para modelos de IA generativa que usam os recursos de TPU reservados:
- Disponibilizar um LLM usando a TPU Trillium no GKE com o vLLM
- Disponibilizar um LLM usando TPUs no GKE com o KubeRay
- Disponibilizar um LLM usando TPUs no GKE com o JetStream e o PyTorch
- Disponibilizar o Gemma usando TPUs no GKE com o JetStream
- Disponibilizar o Stable Diffusion XL (SDXL) usando TPUs no GKE com o MaxDiffusion
- Disponibilizar modelos de código aberto usando TPUs no GKE com o TPU Optimum
Confira exemplos experimentais de como usar o GKE para acelerar suas iniciativas de IA/ML no GKE AI Labs.