Escolha uma estratégia de balanceamento de carga para a inferência de modelos de IA/ML no GKE

Esta página ajuda a escolher a estratégia de equilíbrio de carga adequada para cargas de trabalho de inferência de modelos de IA/ML no Google Kubernetes Engine (GKE).

Esta página destina-se às seguintes personas:

  • Engenheiros de aprendizagem automática (AA), administradores e operadores de plataformas, e especialistas em dados e IA interessados em usar capacidades de orquestração de contentores do Kubernetes para apresentar cargas de trabalho de IA/AA.
  • Arquitetos da nuvem e especialistas em redes que interagem com as redes do Kubernetes.

Para saber mais sobre as funções comuns e as tarefas de exemplo que referimos no Google Cloud conteúdo, consulte o artigo Funções de utilizador e tarefas comuns do GKE.

Antes de ler esta página, certifique-se de que conhece o seguinte:

Quando implementa cargas de trabalho de inferência de modelos de IA/ML no GKE, escolha a estratégia de equilíbrio de carga certa para otimizar o desempenho, a escalabilidade e a rentabilidade:

  • Escolha o GKE Inference Gateway para o encaminhamento otimizado e o equilíbrio de carga para o fornecimento de cargas de trabalho de IA/ML.
  • Escolha o GKE Gateway com métricas personalizadas, que usa balanceadores de carga de aplicações. Esta opção oferece um controlo de uso geral e permite-lhe configurar a distribuição de tráfego com base em métricas específicas dos requisitos da sua aplicação ou infraestrutura.

Vista geral do GKE Inference Gateway

O GKE Inference Gateway otimiza e gere cargas de trabalho de inferência de IA generativa (IA gen) exigentes e de modelos de linguagem (conteúdo extenso) (MDIs/CEs) complexos. Expande a API GKE Gateway, oferecendo várias vantagens principais:

  • Encaminhamento inteligente com reconhecimento de IA: o GKE Inference Gateway monitoriza métricas críticas específicas da IA, incluindo:

    • Utilização da cache KV do servidor de modelos
    • Comprimento da fila de pedidos pendentes
    • Utilização global da GPU/TPU
    • Disponibilidade do adaptador LoRA
    • O custo computacional dos pedidos individuais Com base nestas métricas, a gateway distribui de forma inteligente o tráfego para a réplica do servidor do modelo mais adequada e menos carregada.
  • Priorização de pedidos: o gateway fornece mecanismos para priorizar pedidos.

  • Dimensionamento automático otimizado: a entrada oferece mecanismos de dimensionamento automático otimizado para servidores de modelos.

Vista geral das métricas personalizadas do GKE Gateway

Google Cloud oferece recursos do balanceador de carga de aplicações que suportam âmbitos, como o âmbito externo global e o âmbito externo regional. Estes equilibradores de carga de uso geral distribuem o tráfego com base em métricas personalizadas comunicadas pelos seus serviços de back-end. Esta abordagem oferece um controlo detalhado sobre a distribuição de carga, o que lhe permite baseá-la em indicadores de desempenho específicos da aplicação.

Compare o GKE Inference Gateway e o GKE Gateway com métricas personalizadas

Use a tabela seguinte para comparar as funcionalidades do GKE Inference Gateway e do GKE Gateway com métricas personalizadas, e escolha a solução de equilíbrio de carga certa para as suas cargas de trabalho de inferência de IA/ML no GKE.

Funcionalidade GKE Inference Gateway GKE Gateway com métricas personalizadas (através de balanceadores de carga de aplicações)
Exemplo de utilização principal Otimiza as cargas de trabalho de inferência de IA generativa e aprendizagem automática no Kubernetes, incluindo a publicação de grandes modelos de linguagem (GMLs). Garante um acesso justo aos recursos do modelo e otimiza as cargas de trabalho de LLM baseadas em GPU ou TPU sensíveis à latência. Oferece balanceamento de carga HTTP(S) de uso geral, distribuindo o tráfego com base em métricas personalizadas comunicadas pela aplicação. Este balanceamento de carga é ideal para serviços sensíveis à latência, como servidores de jogos em tempo real ou plataformas de negociação de alta frequência, que comunicam dados de utilização personalizados.
Encaminhamento base Suporta o encaminhamento HTTP(S) padrão com base no anfitrião e no caminho, o que expande a API GKE Gateway. Suporta o encaminhamento HTTP(S) padrão com base no anfitrião e no caminho. Configura esta opção através dos recursos padrão da API GKE Gateway.
Lógica de encaminhamento avançada Oferece capacidades avançadas, como o encaminhamento com reconhecimento de modelos, a divisão do tráfego, a replicação e a aplicação de níveis de prioridade e criticidade aos pedidos. Equilibra o tráfego com base nas métricas personalizadas comunicadas pela aplicação através da norma de agregação de custos de pedidos abertos (ORCA). Isto ativa políticas como WEIGHTED_ROUND_ROBIN para a ponderação de pontos finais numa localidade.
Métricas compatíveis Usa um conjunto de métricas nativas específicas da IA, como a utilização da GPU ou da TPU, os resultados positivos da cache KV e o comprimento da fila de pedidos. Também pode ser configurado para usar métricas comunicadas pela aplicação através de um mecanismo de cabeçalho HTTP padronizado. Baseia-se em métricas comunicadas pela aplicação através de um mecanismo de cabeçalho HTTP padronizado, especificamente, relatórios de carregamento da agregação de custos de pedidos abertos (ORCA). Este mecanismo suporta métricas padrão, como CPU e memória, bem como métricas com nomes personalizados para recursos restritos específicos da aplicação.
Processamento de pedidos Concebida para processar cargas de trabalho com custos de pedidos não uniformes, que são comuns nos GMLs devido às diferentes complexidades dos comandos. Suporta níveis de criticidade de pedidos, o que permite a priorização de diferentes tipos de pedidos de inferência. Mais adequado para cargas de trabalho em que os pedidos individuais têm custos de processamento relativamente uniformes. Esta solução não inclui capacidades de priorização de pedidos nativas.
Suporte do adaptador LoRa Oferece encaminhamento nativo baseado em afinidade para back-ends equipados com adaptadores LoRa específicos, garantindo que os pedidos são direcionados para os recursos adequados. Não oferece suporte nativo para adaptadores LoRa nem encaminhamento baseado na afinidade com base em configurações LoRa.
Integração da escala automática Otimiza o dimensionamento automático para servidores de modelos através de métricas específicas da IA, como a utilização da cache KV, para tomar decisões de dimensionamento mais informadas. Integra-se com o Horizontal Pod Autoscaler (HPA) através de métricas personalizadas. Estas métricas são comunicadas ao Application Load Balancer e são usadas de forma genérica para o dimensionamento, com base nos sinais de carga comunicados.
Configuração Configure-o com a API GKE Gateway. Expande a API padrão com InferencePool e InferenceModel definições de recursos personalizados (CRDs) especializados para ativar as respetivas funcionalidades com reconhecimento de IA. Configura esta solução através dos recursos padrão da API GKE Gateway. A aplicação tem de implementar um mecanismo baseado em cabeçalhos HTTP, como a agregação de custos de pedidos abertos (ORCA), para comunicar métricas personalizadas para o equilíbrio de carga.
Segurança Esta solução inclui a filtragem de conteúdo de IA através do Model Armor ao nível da gateway. Também tira partido das funcionalidades de segurança fundamentais do GKE, como TLS, gestão de identidade e de acesso (IAM), controlo de acesso baseado em funções (CABF) e espaços de nomes. Esta solução usa a pilha de segurança padrão do Application Load Balancer, que inclui o Google Cloud Armor, a terminação TLS e o IAM. Para ativar a filtragem de conteúdo de IA, pode integrar o Google Cloud Armor como uma extensão de serviço.
Observabilidade Oferece observabilidade integrada em métricas específicas de IA, incluindo a utilização de GPUs ou TPUs, os resultados positivos da cache KV, o comprimento da fila de pedidos e a latência do modelo. A observabilidade baseia-se em quaisquer métricas personalizadas que a aplicação esteja configurada para comunicar. Pode vê-los no Cloud Monitoring. Estas podem incluir métricas padrão ou com nomes personalizados.
Extensibilidade Criado com base numa fundação extensível de código aberto, o que permite um algoritmo de seleção de pontos finais gerido pelo utilizador. Expande a API GKE Gateway com [definições de recursos personalizados (CRDs)](/kubernetes-engine/docs/how-to/deploy-gke-inference-gateway) especializadas, como InferencePool e InferenceModel, para simplificar exemplos de utilização de IA comuns. Concebido para ser flexível, o que lhe permite expandir o equilíbrio de carga através de qualquer [métrica personalizada (sinal de carga)](/load-balancing/docs/https/applb-custom-metrics) que a aplicação comunique através da norma ORCA.
Fase de lançamento GA GA

Quando usar o GKE Inference Gateway

Escolha o GKE Inference Gateway para otimizar cargas de trabalho de inferência de IA e aprendizagem automática sofisticadas no GKE, especialmente para modelos de linguagem grandes (LLMs). Recomendamos esta solução nas seguintes situações:

  • Publicação de MDIs: precisa de decisões de encaminhamento com base em estados específicos de MDIs, como a utilização da cache KV ou o comprimento da fila de pedidos, quando usa servidores de modelos como o vLLM.
  • Implementar modelos com adaptadores LoRa: precisa de um encaminhamento inteligente baseado na afinidade para backends equipados com os adaptadores LoRa corretos e disponíveis.
  • Processamento de pedidos de inferência com custos de processamento altamente variáveis: por exemplo, os tamanhos ou a complexidade dos comandos dinâmicos exigem um equilibrador de carga atento aos custos.
  • Implementar a priorização de pedidos: tem de priorizar diferentes classes de tráfego de inferência, como pedidos críticos, padrão ou descartáveis.
  • Otimizar o dimensionamento automático: quer um mecanismo de dimensionamento automático estreitamente associado a métricas de desempenho específicas dos servidores do modelo de IA generativa (IA gen), como a utilização da cache KV, para tomar decisões de dimensionamento mais informadas.
  • Utilizar a integração do Model Armor: tem de usar o Model Armor para verificações de segurança de IA ao nível da gateway.
  • Obter observabilidade pronta a usar: precisa de observabilidade integrada para métricas críticas específicas da IA, incluindo a utilização da GPU ou da TPU, os resultados positivos da cache KV e o comprimento da fila de pedidos.
  • Simplificar as implementações de IA gen: prefere uma solução criada especificamente que simplifique os padrões de implementação de IA gen comuns no GKE, ao mesmo tempo que mantém as opções de personalização futura através da respetiva base da API GKE Gateway extensível.

Quando usar o GKE Gateway com métricas personalizadas

Para alcançar um equilíbrio de carga flexível e de uso geral com base nos indicadores de desempenho exclusivos da sua aplicação, use o GKE Gateway com métricas personalizadas. Esta abordagem permite a distribuição de carga com base em indicadores de desempenho únicos definidos pela aplicação, incluindo cenários de inferência específicos. Recomendamos esta opção nos seguintes cenários:

  • A sua carga de trabalho tem um volume elevado de tráfego com custos de processamento relativamente uniformes por pedido.
  • A distribuição da carga pode ser gerida eficazmente por uma ou duas métricas personalizadas específicas comunicadas pela aplicação, normalmente através de cabeçalhos de resposta HTTP, usando a norma de comunicação de carga de agregação de custos de pedidos abertos (ORCA).
  • Os seus requisitos de equilíbrio de carga não dependem de funcionalidades específicas da IA gen ou do GML.
  • O seu modelo operacional não requer a inteligência especializada específica da IA fornecida pelo GKE Inference Gateway, evitando a complexidade arquitetónica desnecessária.
  • Manter a consistência com as implementações do Application Load Balancer existentes é uma prioridade, e estas implementações cumprem os requisitos de equilíbrio de carga do serviço de inferência.

O que se segue?