Esta página ajuda você a escolher a estratégia de balanceamento de carga adequada para cargas de trabalho de inferência de modelos de IA/ML no Google Kubernetes Engine (GKE).
Esta página é destinada às seguintes pessoas:
- 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 e especialistas em redes que interagem com a rede do Kubernetes.
Para saber mais sobre papéis comuns e tarefas de exemplo referenciados no Google Cloud conteúdo, consulte Tarefas e funções de usuário comuns do GKE
Antes de ler esta página, confira se você está familiarizado com o seguinte:
Ao implantar cargas de trabalho de inferência de modelos de IA/ML no GKE, escolha a estratégia de balanceamento de carga certa para otimizar a performance, a escalonabilidade e a relação custo-benefício:
- Escolha GKE Inference Gateway para roteamento e balanceamento de carga otimizados para veiculação de cargas de trabalho de IA/ML.
- Escolha o GKE Gateway com métricas personalizadas, que usa balanceadores de carga de aplicativos. Essa opção oferece controle de uso geral e permite configurar a distribuição de tráfego com base em métricas específicas dos requisitos de infraestrutura ou do aplicativo.
Visão geral do GKE Inference Gateway
O GKE Inference Gateway otimiza e gerencia cargas de trabalho de inferência de IA generativa (GenAI) exigentes e de modelos de linguagem grandes (LLMs) complexos. Ele estende a API GKE Gateway, oferecendo várias vantagens principais:
Roteamento inteligente com reconhecimento de IA:o GKE Inference Gateway monitora métricas críticas específicas de IA, incluindo:
- Utilização do cache KV do servidor de modelo
- Comprimento da fila de solicitações pendentes
- Utilização geral de GPU/TPU
- Disponibilidade do adaptador LoRA
- O custo computacional de solicitações individuais Com base nessas métricas, o gateway distribui o tráfego de forma inteligente para a réplica de servidor de modelo mais adequada e menos carregada.
Priorização de solicitações:o gateway oferece mecanismos para priorizar solicitações.
Escalonamento automático otimizado:o gateway oferece mecanismos de escalonamento automático otimizados para servidores de modelo.
Visão geral do GKE Gateway com métricas personalizadas
Google Cloud oferece recursos de balanceador de carga de aplicativos que aceitam escopos como externo global e externo regional. Esses balanceadores de carga de uso geral distribuem o tráfego com base em métricas personalizadas informadas pelos serviços de back-end. Essa abordagem oferece controle refinado sobre a distribuição de carga, permitindo que você a baseie em indicadores de performance específicos do aplicativo.
Comparar o GKE Inference Gateway e o GKE Gateway com métricas personalizadas
Use a tabela a seguir para comparar os recursos do GKE Inference Gateway e do GKE Gateway com métricas personalizadas e escolher a solução de balanceamento de carga certa para suas cargas de trabalho de inferência de IA/ML no GKE.
| Recurso | GKE Inference Gateway | GKE Gateway com métricas personalizadas (via balanceadores de carga de aplicativos) |
|---|---|---|
| Caso de uso principal | Otimiza cargas de trabalho de inferência de IA generativa e machine learning no Kubernetes, incluindo a veiculação de modelos de linguagem grandes (LLMs). Ele ajuda a garantir o acesso justo aos recursos do modelo e otimiza cargas de trabalho de LLM sensíveis à latência e baseadas em GPU ou TPU. | Fornece balanceamento de carga HTTP(S) de uso geral, distribuindo o tráfego com base em métricas personalizadas informadas pelo aplicativo. Esse 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 informam dados de utilização personalizados. |
| Roteamento de base | Aceita o roteamento HTTP(S) padrão com base no host e no caminho, estendendo a API GKE Gateway. | Aceita o roteamento HTTP(S) padrão com base no host e no caminho. Você configura isso usando os recursos padrão da API GKE Gateway. |
| Lógica de roteamento avançada | Oferece recursos avançados, como roteamento com reconhecimento de modelo, divisão de tráfego, espelhamento e aplicação de níveis de prioridade e importância às solicitações. | Balanceia o tráfego com base em métricas personalizadas informadas pelo aplicativo
usando o padrão de agregação de custos de solicitação aberta (ORCA, na sigla em inglês). Isso permite
políticas como WEIGHTED_ROUND_ROBIN para ponderação de endpoints
em uma localidade. |
| Métricas disponíveis | Utiliza um conjunto de métricas nativas específicas de IA, como utilização de GPU ou TPU , acertos de cache KV e comprimento da fila de solicitações. Também pode ser configurado para usar métricas informadas pelo aplicativo usando um mecanismo de cabeçalho HTTP padronizado. | Depende de métricas informadas pelo aplicativo usando um mecanismo de cabeçalho HTTP padronizado, especificamente relatórios de carga de agregação de custos de solicitação aberta (ORCA). Esse mecanismo aceita métricas padrão, como CPU e memória, além de métricas nomeadas personalizadas para recursos restritos específicos do aplicativo. |
| Processamento de solicitações | Projetado para processar cargas de trabalho com custos de solicitação não uniformes, que são comuns em LLMs devido a complexidades de comandos variáveis. Ele aceita níveis de importância de solicitação, permitindo a priorização de diferentes tipos de solicitações de inferência. | Mais adequado para cargas de trabalho em que as solicitações individuais têm custos de processamento relativamente uniformes. Essa solução não inclui recursos nativos de priorização de solicitações. |
| Suporte ao adaptador LoRa | Oferece roteamento nativo baseado em afinidade para back-ends equipados com adaptadores LoRa específicos, o que ajuda a garantir que as solicitações sejam direcionadas aos recursos adequados. | Não oferece suporte nativo para adaptadores LoRa ou roteamento baseado em afinidade com base em configurações LoRa. |
| Integração com escalonamento automático | Otimiza o escalonamento automático para servidores de modelo usando métricas específicas de IA como a utilização do cache KV, para tomar decisões de escalonamento mais bem informadas. | Integra-se ao Escalonador automático horizontal de pods (HPA, na sigla em inglês) usando métricas personalizadas. Essas métricas são informadas ao balanceador de carga de aplicativos e usadas de maneira genérica para escalonamento, com base nos indicadores de carga informados. |
| Configuração | Configure-o com a API GKE Gateway. Estende a
API padrão com definições de recursos personalizados (CRDs, na sigla em inglês) InferencePool e InferenceModel especializados para ativar os recursos com reconhecimento de IA. |
Você configura essa solução usando os recursos padrão da API GKE Gateway. O aplicativo precisa implementar um mecanismo baseado em cabeçalho HTTP como a agregação de custos de solicitação aberta (ORCA), para informar métricas personalizadas para balanceamento de carga. |
| Segurança | Essa solução inclui filtragem de conteúdo de IA usando Model Armor no nível do gateway. Ele também aproveita os recursos de segurança do GKE como TLS, Identity and Access Management (IAM), controle de acesso baseado em papéis (RBAC) e namespaces. | Essa solução usa a pilha de segurança padrão do balanceador de carga de aplicativo, que inclui Google Cloud Armor, término de TLS e o IAM. Para ativar a filtragem de conteúdo de IA, é possível integrar o Google Cloud Armor como uma extensão de serviço. |
| Observabilidade | Oferece observabilidade integrada em métricas específicas de IA, incluindo utilização de GPU ou TPU, acertos de cache KV, comprimento da fila de solicitações e latência do modelo. | A observabilidade depende de métricas personalizadas que o aplicativo está configurado para informar. É possível visualizá-las no Cloud Monitoring. Elas podem incluir métricas padrão ou nomeadas personalizadas. |
| Extensibilidade | Criado em uma base extensível de código aberto, permitindo um
algoritmo de seleção de endpoints gerenciado pelo usuário. Ele estende a
API GKE Gateway com [definições de recursos personalizados (CRDs)](/kubernetes-engine/docs/how-to/deploy-gke-inference-gateway) especializados, como InferencePool e InferenceModel,
para simplificar casos de uso comuns de IA. |
Projetado para flexibilidade, permitindo estender o balanceamento de carga usando qualquer [métrica personalizada (indicador de carga)](/load-balancing/docs/https/applb-custom-metrics) que o aplicativo informa usando o padrão ORCA. |
| Etapa do 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 machine learning sofisticadas no GKE, especialmente para modelos de linguagem grandes (LLMs). Recomendamos essa solução nas seguintes situações:
- Veiculação de LLMs:você precisa de decisões de roteamento com base em estados específicos de LLM, como utilização de cache KV ou comprimento da fila de solicitações, ao usar servidores de modelo como o vLLM.
- Implantação de modelos com adaptadores LoRa:você precisa de roteamento inteligente baseado em afinidade para back-ends equipados com os adaptadores LoRa corretos e disponíveis.
- Processamento de solicitações de inferência com custos de processamento altamente variáveis:por exemplo, tamanhos ou complexidade de comandos dinâmicos exigem um balanceador de carga com reconhecimento de custos.
- Implementação de priorização de solicitações:você precisa priorizar diferentes classes de tráfego de inferência, como solicitações críticas, padrão ou descartáveis.
- Otimização do escalonamento automático:você quer um mecanismo de escalonamento automático estreitamente acoplado a métricas de performance específicas de servidores de modelo de IA generativa (GenAI), como a utilização do cache KV, para decisões de escalonamento mais bem informadas.
- Utilização da integração do Model Armor:você precisa usar o Model Armor para verificações de segurança de IA no nível do gateway.
- Observabilidade pronta para uso:você precisa de observabilidade integrada para métricas críticas específicas de IA, incluindo utilização de GPU ou TPU, acertos de cache KV e comprimento da fila de solicitações.
- Simplificação de implantações de GenAI:você prefere uma solução criada especificamente para simplificar padrões comuns de implantação de GenAI no GKE, mantendo opções de personalização futura por meio da base extensível da API GKE Gateway.
Quando usar o GKE Gateway com métricas personalizadas
Para conseguir um balanceamento de carga flexível e de uso geral com base nos indicadores de performance exclusivos do aplicativo, use o GKE Gateway com métricas personalizadas. Essa abordagem permite a distribuição de carga com base em indicadores de performance exclusivos definidos pelo aplicativo, incluindo cenários de inferência específicos. Recomendamos isso nos seguintes cenários:
- Sua carga de trabalho tem um alto volume de tráfego com custos de processamento relativamente uniformes por solicitação.
- A distribuição de carga pode ser gerenciada de maneira eficaz por uma ou duas métricas personalizadas específicas informadas pelo aplicativo, normalmente por cabeçalhos de resposta HTTP usando o padrão de relatório de carga de agregação de custos de solicitação aberta (ORCA).
- Seus requisitos de balanceamento de carga não dependem de recursos específicos de GenAI ou LLM.
- Seu modelo operacional não exige a inteligência especializada específica de IA fornecida pelo GKE Inference Gateway, evitando complexidade arquitetônica desnecessária.
- Manter a consistência com as implantações de balanceador de carga de aplicativos atuais é uma prioridade, e essas implantações atendem aos requisitos de balanceamento de carga do serviço de inferência.
A seguir
- Saiba mais sobre o GKE Inference Gateway.
- Saiba mais sobre o balanceador de carga de aplicativos.
- Confira exemplos experimentais de como aproveitar o GKE para acelerar suas iniciativas de IA/ML no GKE AI Labs.