Nesta página, descrevemos as técnicas disponíveis que podem ser usadas para receber aceleradores de computação, como GPUs ou TPUs, com base nos requisitos das cargas de trabalho de IA/ML. Essas técnicas são chamadas de opções de consumo de acelerador no GKE. Entender as diferentes opções de consumo ajuda a otimizar a utilização de recursos para evitar o uso insuficiente, aumentar a probabilidade de receber recursos e equilibrar custo e desempenho.
Esta página é destinada a administradores e operadores de plataforma que coordenam com engenheiros de machine learning (ML) para receber os recursos necessários para implantar cargas de trabalho de IA/ML.
Para saber mais sobre os papéis comuns e os exemplos de tarefas mencionados no Google Cloud conteúdo, consulte Funções e tarefas comuns do usuário do GKE.
Entender as opções de consumo
É possível selecionar uma das seguintes opções para consumir aceleradores no GKE:
- Sob demanda:você consome TPUs ou GPUs no GKE sem organizar a capacidade com antecedência. Antes de solicitar recursos, é necessário ter cota sob demanda suficiente para o tipo e a quantidade específicos de aceleradores. A opção sob demanda é a mais flexível. No entanto, não há garantia de que recursos suficientes estarão disponíveis para atender à sua solicitação.
- Reservas:você reserva recursos por um período definido. Uma reserva pode ser qualquer uma das seguintes:
- Reservas adiantadas:você reserva recursos por períodos normalmente mais longos para um horário específico no futuro. Você tem acesso exclusivo aos recursos reservados durante esse período. As reservas adiantadas exigem o envolvimento de um gerente técnico de contas (TAM). Para mais informações, consulte as orientações sobre TPU e GPU.
- Reservas adiantadas por até 90 dias (no modo de calendário) : você solicita capacidade para um período especificado, com um consultor de calendário sugerindo datas disponíveis. As reservas adiantadas por até 90 dias (no modo de calendário) oferecem mais flexibilidade para durações mais curtas e pesquisa de capacidade de autoatendimento. Para mais informações, consulte Solicitações de reservas adiantadas no modo de calendário.
- Reservas imediatas:é possível solicitar uma reserva imediata para ser provisionada assim que a capacidade estiver disponível, semelhante à opção sob demanda. Enquanto a reserva estiver ativa, você pagará pelos recursos, use-os ou não.
- Início flexível:você protege recursos alocados densamente para cargas de trabalho de curta duração sem uma reserva. Você solicita um número específico de GPUs ou TPUs, e o Compute Engine as provisiona quando a capacidade fica disponível. As GPUs ou TPUs são executadas sem interrupção por até sete dias. Para mais informações, consulte Provisionamento de início flexível.
- Spot:você provisiona VMs do Spot, o que permite receber descontos significativos, mas as VMs do Spot podem ser interrompidas a qualquer momento, com um aviso de 30 segundos. Para mais informações, consulte VMs do Spot.
Para otimizar o sucesso do provisionamento em restrições de recursos de computação, é possível orquestrar essas opções usando ComputeClasses.
Entender a cota de acelerador no GKE
As cotas e os limites do sistema restringem o uso de Google Cloud recursos para oferecer disponibilidade de recursos para todos os Google Cloud usuários. As cotas têm valores definidos por padrão, mas geralmente é possível solicitar ajustes. Os limites do sistema são valores fixos que não podem ser alterados. Por padrão, os projetos geralmente não vêm com uma cota de acelerador significativa. É necessário solicitar e receber aprovação para a cota de tipos e regiões de aceleradores específicos.
Considere as seguintes características ao gerenciar as cotas necessárias para suas cargas de trabalho:
É necessário solicitar a cota necessária para cada opção de consumo. Para identificar a cota necessária para cada opção de consumo, consulte os parâmetros "Cota" correspondentes listados na tabela Escolher uma opção de consumo. Se não houver cota suficiente, as tentativas de criar clusters, pools de nós ou implantar cargas de trabalho que exigem aceleradores falharão com um erro
Quota exceeded.É necessário solicitar cota ao usar ComputeClasses personalizadas no Autopilot. Os nós provisionados para atender aos requisitos do ComputeClass ainda consomem a cota do projeto para os aceleradores especificados.
Google Cloud As contas de teste sem custo financeiro têm limitações na solicitação de aumentos de cota para recursos de alto valor, como GPUs e TPUs. Para ter acesso à cota de acelerador, faça upgrade para uma conta paga.
Para verificar e solicitar cota, acesse a página Cotas no Google Cloud console. É possível filtrar cotas de acelerador e solicitar aumentos.
Identificar uma opção de consumo
Use as considerações a seguir para escolher a melhor opção de consumo para sua carga de trabalho de IA/ML:
- Tipo de carga de trabalho:considere o tipo de carga de trabalho que você quer implementar.
Os requisitos do GKE variam se você estiver executando uma carga de trabalho de treinamento ou de inferência:
- Treinamento:requer recursos de alta performance com memória significativa. As cargas de trabalho de treinamento normalmente têm um tempo de vida bem definido. Essas cargas de trabalho são geralmente mais fáceis de planejar porque são menos propensas a picos repentinos no consumo de recursos.
- Inferência:normalmente requer aceleradores otimizados para escalonabilidade e custo menor. As cargas de trabalho de inferência podem exigir memória significativa do acelerador durante picos repentinos no consumo de recursos.
- Tempo de vida com base na fase de implementação:considere sua meta de negócios se você estiver executando uma prova de conceito (POC), avaliação de plataforma, desenvolvimento ou teste de aplicativos, produção ou otimização.
- Tempo de provisionamento:determine se a carga de trabalho requer execução imediata ou se ela pode ser executada no futuro. Se a execução futura for possível, determine a flexibilidade do horário de início.
- Equilíbrio entre custo e desempenho:avalie os requisitos de desempenho da carga de trabalho e as restrições de orçamento para selecionar o acelerador mais econômico. Considere a compensação entre o custo dos aceleradores e as características de desempenho deles. Lembre-se de que novos aceleradores podem trazer proporções de custo-performance aprimoradas.
Escolher uma opção de consumo
Use a tabela a seguir para escolher uma opção de consumo:
| Opção de consumo | Parâmetros de provisionamento | Aceleradores compatíveis | Detalhes | Cargas de trabalho de exemplo |
|---|---|---|---|---|
| Reservas sob demanda |
|
|
|
|
| Reservas adiantadas |
|
|
|
|
| Reservas adiantadas por até 90 dias (no modo de calendário) |
|
|
|
|
| Modo de provisionamento de início flexível |
|
|
|
|
| VMs do Spot |
|
|
|
|
| Sob demanda (GPUs ou TPUs) |
|
|
|
Otimizar o custo e o provisionamento de cargas de trabalho com ComputeClasses
É possível usar ComputeClasses para gerenciar dinamicamente e automatizar sua estratégia de consumo de acelerador definindo uma lista de configurações de substituição com base na prioridade. Durante as operações de escalonamento, o GKE tenta provisionar nós de acordo com a hierarquia de prioridades definida.
A lista a seguir descreve as opções de consumo disponíveis com ComputeClasses e como configurá-las. Para manifestos YAML completos, consulte Exemplos de opções de consumo com ComputeClasses.
- Reservas: é possível definir o nome da reserva no
reservationscampo no ComputeClass. Isso garante que o GKE tente consumir sua capacidade reservada antes de fazer o fallback. - Modo de provisionamento de início flexível: ative a fila flexível usando o
campo
flexStartno ComputeClass e configure as durações de substituição do nó de fallback usando os camposnodeRecycling. - VMs do Spot: instrua o GKE a usar VMs do Spot ao
provisionar nós para essa regra de prioridade definindo o
spotcampo comotrue. - Capacidade sob demanda combinada com uma política de local multizonal:
declare as configurações de máquina padrão na lista de prioridades e
configure uma estratégia de local de fallback usando os
locationcampos.
As ComputeClasses não oferecem suporte a reservas adiantadas ou reservas adiantadas por até 90 dias (no modo de calendário).
Exemplos de opções de consumo com ComputeClasses
As seções a seguir fornecem exemplos de configuração para essas estratégias.
Reservas com configuração de fallback
Essa configuração funciona melhor para cargas de trabalho que podem tolerar interrupções, em vez de cargas de trabalho que dependem de dados persistentes ou precisam ser executadas até a conclusão.
Essa configuração estabelece uma estratégia de fallback resiliente usando as seguintes etapas:
- Consumir reservas primeiro:o GKE tenta provisionar nós usando sua reserva de capacidade específica e pré-comprada.
- Fazer fallback para o início flexível:se a capacidade de reserva estiver totalmente utilizada, o GKE fará o fallback para recursos de início flexível com desconto e curta duração.
- Fazer fallback para sob demanda:como um fallback final, o GKE provisiona recursos padrão sob demanda.
Migrar de volta para reservas:a ativação da migração ativa instrui o GKE a consolidar e migrar automaticamente as cargas de trabalho de volta para os nós de reserva de maior prioridade assim que a capacidade estiver disponível. Essa migração pode ser prejudicial.
apiVersion: cloud.google.com/v1 kind: ComputeClass metadata: name: ha-gpu-fallback spec: activeMigration: optimizeRulePriority: true # Migrate workloads back to reservation when capacity releases priorities: # Priority 1: Consume specific corporate reservation first - gpu: type: nvidia-l4 count: 1 reservations: affinity: Specific specific: - name: reserved-l4-pool project: my-project zones: [us-central1-a] # Priority 2: Fallback to Flex Start (short-duration allocation) - gpu: type: nvidia-l4 count: 1 flexStart: enabled: true # Priority 3: Fallback to On-demand resources - gpu: type: nvidia-l4 count: 1
Modo de provisionamento de início flexível com configuração de reciclagem de nós
Essa configuração gerencia capacidade com desconto e curta duração com tempo de atividade contínuo usando as seguintes etapas:
- Solicitar VMs de início flexível:o GKE solicita instâncias de VM da fila de início flexível (que são executadas sem interrupção por até sete dias).
- Monitorar a expiração do contrato de locação:o GKE acompanha a duração restante dos nós de início flexível ativos.
- Acionar a reciclagem de nós:vinte minutos (1.200 segundos) antes da expiração do contrato de locação da VM, o GKE provisiona automaticamente um nó de substituição.
Reprogramar cargas de trabalho:as cargas de trabalho migram para o novo nó, retomando a execução sem interrupção do serviço.
apiVersion: cloud.google.com/v1 kind: ComputeClass metadata: name: flex-node-recycling spec: priorities: - gpu: type: nvidia-l4 count: 1 flexStart: enabled: true nodeRecycling: leadTimeSeconds: 1200 # Automatically launch replacement node before VM lease expires
Configuração da política de alocação multizonal
Essa configuração ignora as restrições de fornecimento de zona única usando as seguintes etapas:
- Definir zonas de destino:você lista várias zonas de backup (como
us-central1-a,us-central1-beus-central1-c) nas regras de prioridade. - Ampliar os parâmetros de destino:você define a política de local como
ANY. Essa configuração instrui o escalonador automático de cluster a pesquisar a capacidade solicitada em todas as zonas especificadas. - Analisar a disponibilidade zonal:durante eventos de escalonamento, o GKE verifica as zonas designadas.
Provisionar em zonas disponíveis:o GKE provisiona imediatamente os nós de carga de trabalho solicitados em qualquer zona de destino que tenha capacidade correspondente. Essa estratégia evita bloqueios nas filas de alocação.
apiVersion: cloud.google.com/v1 kind: ComputeClass metadata: name: broad-zonal-serving spec: priorities: - gpu: type: nvidia-l4 count: 1 location: zones: [us-central1-a, us-central1-b, us-central1-c] locationPolicy: ANY # Provision accelerator in any target zone with supply
A seguir
- Saiba mais sobre GPUs no GKE.
- Saiba mais sobre TPUs no GKE.
- Saiba mais sobre a inferência de IA/ML no GKE.