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 que tenham interesse 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 a que fazemos referência no Google Cloud conteúdo, consulte o artigo Funções e tarefas comuns do utilizador 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/AM no Google Kubernetes Engine (GKE), escolha a estratégia de equilíbrio de carga certa para otimizar o desempenho, a escalabilidade e a eficiência de custos.O GKE oferece as seguintes soluções distintas: Google Cloud
- GKE Inference Gateway: uma solução criada para o encaminhamento avançado de IA/AA. Para mais informações, consulte a documentação do GKE Inference Gateway.
- GKE Gateway com métricas personalizadas: uma solução que usa balanceadores de carga de aplicações, oferecendo controlo de uso geral, que pode ser combinado com um balanceador de carga de aplicações.
Combine soluções de balanceamento de carga
Pode usar o GKE Inference Gateway e o GKE Gateway com métricas personalizadas em conjunto em algumas arquiteturas. Nestas arquiteturas, o balanceador de carga da aplicação é usado com o gateway do GKE com métricas personalizadas. Por exemplo, um balanceador de carga de aplicações externo global direciona o tráfego para a região adequada com base em fatores como a geografia e as verificações de estado. Para mais informações, consulte o artigo Equilibradores de carga de aplicações. Depois de o tráfego atingir uma região específica, o GKE Inference Gateway executa o balanceamento de carga detalhado e com reconhecimento de IA para encaminhar pedidos para o servidor de modelos ideal. Para mais informações, consulte a documentação do GKE Inference Gateway.
Para escolher a Google Cloud solução de equilíbrio de carga que melhor serve as suas aplicações de inferência no GKE, tenha em conta as características da carga de trabalho, os requisitos de desempenho e o modelo operacional.
Para direcionar o tráfego para a réplica do servidor do modelo mais adequada e menos carregada, a extensão Endpoint Picker do GKE Inference Gateway monitoriza métricas críticas específicas da IA. Estas métricas incluem a utilização da cache KV do servidor do modelo, o comprimento da fila de pedidos pendentes, o carregamento geral da GPU ou da TPU, a disponibilidade do adaptador LoRA e o custo computacional dos pedidos individuais. Além do encaminhamento sofisticado, o GKE Inference Gateway oferece priorização de pedidos e escala automática otimizada para servidores de modelos.
Vista geral do GKE Gateway com métricas personalizadas
Os balanceadores de carga de aplicações, como o balanceador de carga de aplicações externo global e o balanceador de carga de aplicações externo regional, são balanceadores de carga de fins gerais que distribuem o tráfego com base em métricas personalizadas comunicadas pelos seus serviços de back-end. Esta capacidade oferece um controlo detalhado sobre a distribuição de carga com base em indicadores de desempenho específicos da aplicação.
O GKE Gateway funciona como uma interface nativa do Kubernetes para o aprovisionamento e a gestão de equilibradores de carga de aplicações. Essencialmente, quando define um recurso de gateway no seu cluster do GKE, o controlador de gateway do GKE configura automaticamente o Application Load Balancer subjacente, o que lhe permite gerir o tráfego HTTP/HTTPS externo para os seus serviços do GKE diretamente a partir do Kubernetes de forma simplificada, enquanto usa a infraestrutura de balanceamento de carga do Google Cloud.
Compare soluções de balanceamento de carga
A tabela seguinte compara as funcionalidades do GKE Inference Gateway e do GKE Gateway com métricas personalizadas.
Funcionalidade | Gateway de inferência | GKE Gateway com métricas personalizadas (através da utilização de equilibradores de carga de aplicações) |
---|---|---|
Exemplo de utilização principal | Otimiza as cargas de trabalho de inferência de IA generativa/ML no Kubernetes, como a publicação de modelos de linguagem (conteúdo extenso) (MDIs/CEs). Funciona bem para publicar vários exemplos de utilização num único modelo, garantindo um acesso justo aos recursos do modelo e otimizando cargas de trabalho de MDIs baseadas em GPUs/TPUs sensíveis à latência. | Oferece balanceamento de carga HTTP(S) de uso geral para cargas de trabalho que precisam de uma distribuição de tráfego precisa com base em métricas personalizadas comunicadas pela aplicação (sinais de carga). Funciona bem 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 por anfitrião e caminho, o que expande a API GKE Gateway. | Suporta o encaminhamento HTTP(S) padrão por anfitrião e caminho, configurado através dos recursos padrão da API GKE Gateway. |
Lógica de encaminhamento avançada | Realiza o encaminhamento com reconhecimento do modelo (por exemplo, nome do modelo baseado no corpo), a divisão do tráfego, a replicação e aplica níveis de prioridade e criticidade. | 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 sinais incorporados específicos da IA que estão prontos a usar, como a utilização da GPU/TPU, os `KV cache hits` e o `request queue length`. Também pode configurá-lo para usar métricas comunicadas pela aplicação enviadas 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 (este mecanismo é conhecido como _relatórios de carga ORCA_). Este formato permite a criação de relatórios de métricas padrão, como CPU e memória, ou métricas com nomes personalizados para recursos restritos específicos da aplicação. |
Processamento de pedidos | Reduz os custos de pedidos não uniformes, que são comuns em MDIs. Suporta [níveis de criticidade](/kubernetes-engine/docs/concepts/about-gke-inference-gateway#traffic-distribution) dos pedidos. | Otimizado para custos de pedidos relativamente uniformes. Não inclui a priorização de pedidos integrada. |
Suporte do adaptador LoRa | Fornece encaminhamento nativo com base na afinidade para back-ends equipados com LoRa adequados. | Não oferece suporte nativo. |
Integração da escala automática | Otimiza o dimensionamento para servidores de modelos com base em métricas específicas da IA, como `KV cache hits`. | O Horizontal Pod Autoscaler (HPA) pode usar métricas personalizadas, mas a configuração é genérica com base nas métricas comunicadas para o Application Load Balancer. |
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. |
Configure-o com os recursos padrão da API GKE Gateway. A aplicação tem de implementar o mecanismo baseado em cabeçalhos HTTP para comunicar métricas personalizadas. |
Segurança | Oferece filtragem de conteúdo de IA com o Model Armor no gateway. Tira partido das funcionalidades de segurança básicas do GKE, como TLS, IAM, controlo de acesso baseado em funções (CABF) e espaços de nomes. | Usa a pilha de segurança do Application Load Balancer padrão, incluindo o Model Armor, a terminação TLS e o IAM. O Model Armor também é suportado através da integração como uma extensão de serviço. |
Observabilidade | Oferece observabilidade integrada em métricas específicas da IA, incluindo a utilização de GPUs ou TPUs, `KV cache hits`, `request queue length` e 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 que suporta um algoritmo de seleção de pontos finais gerido pelo utilizador. Expande a API GKE Gateway com definições de recursos personalizadas especializadas (InferencePool , InferenceModel ) para simplificar exemplos de utilização comuns de IA/ML. |
Concebido para ser flexível, o que permite que o equilíbrio de carga seja expandido com qualquer métrica personalizada (sinal de carga) que a aplicação possa comunicar através da norma ORCA. |
Fase de lançamento | Pré-visualizar | GA |
Quando usar o GKE Inference Gateway
Use o GKE Inference Gateway para otimizar cargas de trabalho de inferência de IA/AA sofisticadas no GKE, especialmente para LLMs.
Escolha o GKE Inference Gateway quando precisar de fazer o seguinte:
- Encaminhamento com reconhecimento de modelos: encaminhe o tráfego com base em estados específicos do MDIs, como resultados da cache KV ou o comprimento da fila de pedidos, ou para adaptadores LoRA específicos.
- Equilíbrio de carga com base nos custos: processe pedidos de inferência de forma eficiente com custos de processamento variáveis e priorize-os por níveis de criticidade (crítico, padrão ou dispensável).
- Escala automática específica da IA: dimensione dinamicamente os servidores de modelos com base em métricas de IA relevantes para uma utilização ideal dos recursos.
- Segurança e observabilidade da IA incorporadas: use a integração nativa do Model Armor para verificações de segurança da IA e aceda a estatísticas prontas a usar sobre a utilização de GPUs/TPUs, os resultados da cache KV e o comprimento da fila de pedidos.
- Implementação simplificada de IA gen.: tire partido de uma solução extensível criada especificamente que simplifica os padrões de implementação comuns de IA gen. no GKE, ao mesmo tempo que oferece personalização através da respetiva base da API GKE Gateway.
Quando usar o GKE Gateway com métricas personalizadas
Use o GKE Gateway com métricas personalizadas para um equilíbrio de carga flexível e de uso geral que se adapta aos indicadores de desempenho exclusivos da sua aplicação, incluindo alguns cenários de inferência.
Escolha o GKE Gateway com métricas personalizadas quando precisar de fazer o seguinte:
- Processar volumes de tráfego elevados com custos de pedidos relativamente uniformes.
- Distribua a carga com base em métricas personalizadas comunicadas pela aplicação através de relatórios de carga ORCA.
- Evite a inteligência de encaminhamento específica da IA/MDL oferecida pelo GKE Inference Gateway.
- Priorize a consistência com as implementações do Application Load Balancer existentes que satisfazem as necessidades do seu serviço de inferência.
O que se segue?
- Para obter instruções detalhadas de implementação e configuração, consulte o artigo Acerca do GKE Inference Gateway.
- Saiba mais sobre os equilibradores de carga de aplicações.
- Explore exemplos experimentais para tirar partido do GKE para acelerar as suas iniciativas de IA/ML no GKE AI Labs.