O Inference Gateway multicluster do Google Kubernetes Engine (GKE) faz o balanceamento de carga das suas cargas de trabalho de inferência de IA/ML em vários clusters do GKE. Ele integra gateways de vários clusters do GKE para roteamento de tráfego entre clusters com o Inference Gateway para disponibilização de modelos de IA/ML. Essa integração melhora a escalonabilidade e a alta disponibilidade das suas implantações. Este documento explica os principais conceitos e benefícios do gateway.
Para mais informações sobre como implantar o gateway de inferência de vários clusters do GKE, consulte Configurar o gateway de inferência de vários clusters do GKE.
Para entender este documento, você precisa conhecer os seguintes conceitos:
- Orquestração de IA/ML no GKE.
- Terminologia da IA generativa.
- Conceitos de rede do GKE, incluindo Serviços, gateway multicluster do GKE e a API Gateway.
- Balanceamento de carga em Google Cloud, principalmente como os balanceadores de carga interagem com o GKE.
Este documento é destinado aos seguintes perfis:
- 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 veiculação de cargas de trabalho de IA/ML.
- Arquitetos de nuvem ou especialistas Rede que interagem com redes do Kubernetes.
Para saber mais sobre papéis comuns e tarefas de exemplo que mencionamos no conteúdo doGoogle Cloud , consulte Tarefas e funções de usuário comuns do GKE Enterprise.
Benefícios do Inference Gateway de vários clusters do GKE
O gateway de inferência de vários clusters do GKE oferece vários benefícios para gerenciar suas cargas de trabalho de inferência de IA/ML, incluindo o seguinte:
- Aumenta a alta disponibilidade e a tolerância a falhas com o balanceamento de carga inteligente em vários clusters do GKE, mesmo em diferentes regiões geográficas. Suas cargas de trabalho de inferência permanecem disponíveis, e o sistema redireciona automaticamente as solicitações se um cluster ou uma região tiver problemas, minimizando o tempo de inatividade.
- Melhora a escalonabilidade e otimiza o uso de recursos agrupando recursos de GPU e TPU de vários clusters para lidar com o aumento da demanda. Esse agrupamento permite que as cargas de trabalho excedam a capacidade de um único cluster e usem com eficiência os recursos disponíveis em toda a frota.
- Maximiza a performance com roteamento otimizado globalmente. O gateway usa métricas avançadas, como o uso do cache de chave-valor (KV) de todos os clusters, para tomar decisões de roteamento eficientes. Essa abordagem ajuda a garantir que as solicitações sejam enviadas ao cluster mais bem equipado para processá-las, maximizando o desempenho geral da frota de inferência de IA/ML.
Limitações
O gateway de inferência de vários clusters do GKE tem as seguintes limitações:
Integração do Model Armor: o gateway de inferência de vários clusters do GKE não é compatível com a integração do Model Armor.
Relatórios de latência do proxy Envoy: o proxy Envoy só informa a latência de consulta para solicitações bem-sucedidas (
2xx). Ele ignora erros e tempos limite. Esse comportamento pode fazer com que o balanceador de carga de servidor global (GSLB) subestime a carga real nos back-ends com falha, direcionando mais tráfego para serviços já sobrecarregados. Para atenuar esse problema, configure um tempo limite de solicitação maior. Por exemplo, um valor de600sé recomendado.
Principais componentes
O gateway de inferência multicluster do GKE usa vários recursos personalizados do Kubernetes para gerenciar cargas de trabalho de inferência e roteamento de tráfego:
InferencePool: agrupa back-ends idênticos do servidor de modelo no cluster de destino. Esse recurso simplifica o gerenciamento e o escalonamento das instâncias de disponibilização de modelos.InferenceObjective: define prioridades de roteamento para modelos específicos em umInferencePool. Esse encaminhamento ajuda a garantir que determinados modelos recebam preferência de tráfego com base nos seus requisitos.GCPInferencePoolImport: disponibiliza os backends do modelo para configuração de roteamento usandoHTTPRouteno cluster de configuração. Esse recurso é criado automaticamente no cluster de configuração quando você exporta umInferencePoolde um cluster de destino. O cluster de configuração atua como o ponto de controle central do seu ambiente de vários clusters.GCPBackendPolicy: personaliza como o tráfego é balanceado por carga para seus back-ends. Por exemplo, é possível ativar o balanceamento de carga com base em métricas personalizadas ou definir limites para solicitações em trânsito por endpoint para proteger os servidores de modelo.AutoscalingMetric: define métricas personalizadas, comovllm:kv_cache_usage_perc, para exportar dos servidores de modelo. Em seguida, use essas métricas noGCPBackendPolicypara tomar decisões mais inteligentes de balanceamento de carga e otimizar a performance e a utilização de recursos.
Como o gateway de inferência de vários clusters do GKE funciona
O gateway de inferência de vários clusters do GKE gerencia e encaminha o tráfego para seus modelos de IA/ML implantados em vários clusters do GKE. Isso funciona da seguinte maneira:
- Gerenciamento de tráfego centralizado:um cluster de configuração dedicado define suas regras de roteamento de tráfego. O cluster de configuração atua como o ponto central de controle do seu ambiente de vários clusters. Você designa um cluster do GKE como o cluster de configuração ao ativar a entrada de vários clusters para sua frota. Essa abordagem centralizada permite gerenciar como as solicitações são direcionadas aos modelos em toda a frota de clusters do GKE em um único lugar.
- Implantação flexível de modelos:seus modelos reais de IA/ML são executados em clusters de destino separados. Essa separação permite implantar modelos onde faz mais sentido (por exemplo, mais perto dos dados ou de clusters com hardware específico).
- Fácil integração de modelos:ao implantar um modelo em um cluster de destino, você agrupa as instâncias de serviço dele usando um
InferencePool. Ao exportar esseInferencePool, ele fica disponível automaticamente para roteamento no cluster de configuração. - Balanceamento de carga inteligente:o gateway não apenas distribui o tráfego, mas também toma decisões de roteamento inteligentes. Ao configurar o gateway para usar vários sinais, incluindo métricas personalizadas dos servidores de modelo, ele ajuda a garantir que as solicitações recebidas sejam enviadas para o cluster ou a instância de modelo mais bem equipada, o que pode maximizar o desempenho e a utilização de recursos. Por exemplo, é possível encaminhar solicitações para o cluster com a maior capacidade de inferência disponível com base em métricas como o uso do cache de chave-valor (KV).
A seguir
- Para implantar o gateway, consulte Configurar o gateway de inferência de vários clusters do GKE.
- Para saber como usar o campo
scopesno recursoGCPBackendPolicy, consulte Personalizar configurações de back-end com escoposGCPBackendPolicy.