Sobre o gateway de inferência do GKE


Nesta página, apresentamos o Gateway de inferência do Google Kubernetes Engine (GKE), uma melhoria no Gateway do GKE para veiculação otimizada de aplicativos de IA generativa. Ela explica os principais conceitos, recursos e como o GKE Inference Gateway funciona.

Esta página é destinada aos seguintes perfis:

  • Engenheiros de machine learning (ML), administradores e operadores de plataforma e especialistas em dados e IA que têm interesse em usar os recursos de orquestração de contêineres do Kubernetes para atender cargas de trabalho de IA/ML.
  • Arquitetos de nuvem e especialistas em redes que interagem com a rede do Kubernetes.

Antes de ler esta página, confira se você conhece os seguintes tópicos:

Visão geral

O gateway de inferência do GKE é uma extensão do gateway do GKE que oferece balanceamento de carga e roteamento otimizados para atender cargas de trabalho de Inteligência Artificial (IA) generativa. Ele simplifica a implantação, o gerenciamento e a observabilidade de cargas de trabalho de inferência de IA.

Recursos e benefícios

O GKE Inference Gateway oferece os seguintes recursos principais para oferecer modelos de IA generativa de forma eficiente para aplicativos de IA generativa no GKE:

  • Balanceamento de carga otimizado para inferência: distribui solicitações para otimizar a performance de veiculação do modelo de IA. Ele usa métricas de servidores de modelos, como KVCache Utilization e queue length of pending requests, para usar aceleradores (como GPUs e TPUs) de maneira mais eficiente para cargas de trabalho de IA generativa.
  • Disponibilização de modelos ajustados com LoRA dinâmico: oferece suporte à disponibilização de modelos ajustados com LoRA dinâmico em um acelerador comum. Isso reduz o número de GPUs e TPUs necessários para veicular modelos, multiplexando vários modelos LoRA ajustados em um modelo de base e um acelerador comuns.
  • Escalonamento automático otimizado para inferência: o escalonador automático horizontal de pods (HPA, na sigla em inglês) do GKE usa métricas de servidor de modelo para escalonamento automático, o que ajuda a garantir o uso eficiente de recursos de computação e o desempenho otimizado da inferência.
  • Roteamento ciente do modelo: roteia solicitações de inferência com base nos nomes de modelo definidos nas especificações OpenAI API no cluster do GKE. É possível definir políticas de roteamento do Gateway, como a divisão de tráfego e o espelhamento de solicitações, para gerenciar diferentes versões de modelo e simplificar o lançamento de modelos. Por exemplo, é possível encaminhar solicitações de um nome de modelo específico para diferentes objetos InferencePool, cada um deles servindo uma versão diferente do modelo.
  • Disponibilização específica do modelo Criticality: permite especificar a Criticality de modelos de IA. Priorize solicitações sensíveis à latência em vez de jobs de inferência em lote tolerantes à latência. Por exemplo, é possível priorizar solicitações de aplicativos sensíveis à latência e descartar tarefas menos urgentes quando os recursos estiverem limitados.
  • Segurança integrada de IA: é integrada ao Google Cloud Model Armor, um serviço que aplica verificações de segurança de IA a comandos e respostas no gateway. O Model Armor fornece registros de solicitações, respostas e processamento para análise retrospectiva e otimização. As interfaces abertas do GKE Inference Gateway permitem que provedores de terceiros e desenvolvedores integrem serviços personalizados ao processo de solicitação de inferência.
  • Observabilidade de inferência: fornece métricas de observabilidade para solicitações de inferência, como taxa de solicitações, latência, erros e saturação. Monitore a performance e o comportamento dos seus serviços de inferência.

Entenda os principais conceitos

O gateway de inferência do GKE aprimora o gateway do GKE que usa objetos GatewayClass. O gateway de inferência do GKE apresenta as seguintes definições de recursos personalizados (CRDs, na sigla em inglês) da API Gateway, alinhadas à extensão da API Kubernetes OSS do gateway para inferência:

  • Objeto InferencePool: representa um grupo de pods (contêineres) que compartilham a mesma configuração de computação, o tipo de acelerador, o modelo de linguagem de base e o servidor de modelos. Isso agrupa e gerencia de forma lógica os recursos de fornecimento do modelo de IA. Um único objeto InferencePool pode abranger vários pods em diferentes nós do GKE e oferecer escalonabilidade e alta disponibilidade.
  • Objeto InferenceModel: especifica o nome do modelo de veiculação do InferencePool de acordo com a especificação OpenAI API. O objeto InferenceModel também especifica as propriedades de veiculação do modelo, como o Criticality do modelo de IA. O gateway de inferência do GKE dá preferência a cargas de trabalho classificadas como Critical. Isso permite que você multiplexe cargas de trabalho de IA críticas e tolerantes à latência em um cluster do GKE. Também é possível configurar o objeto InferenceModel para exibir modelos LoRA ajustados.
  • Objeto TargetModel: especifica o nome do modelo de destino e o objeto InferencePool que atende o modelo. Isso permite definir políticas de roteamento do gateway, como divisão de tráfego e espelhamento de solicitações, e simplificar os lançamentos de versões de modelos.

O diagrama a seguir ilustra o gateway de inferência do GKE e a integração dele com a segurança, a observabilidade e a veiculação de modelos de IA em um cluster do GKE.

A relação entre os objetos "InferencePool" e "InferenceModel" do gateway de inferência do GKE
Figura: modelo de recurso do gateway de inferência do GKE

O diagrama a seguir ilustra o modelo de recursos que se concentra em dois novos perfis focados em inferência e os recursos que eles gerenciam.

O modelo de recursos para perfis focados em inferência e seus recursos
Figura: modelo de recurso do gateway de inferência do GKE

Como funciona o gateway de inferência do GKE

O Gateway de inferência do GKE usa extensões da API Gateway e lógica de roteamento específica do modelo para processar solicitações de cliente para um modelo de IA. As etapas a seguir descrevem o fluxo de solicitação.

Como funciona o fluxo de solicitação

O GKE Inference Gateway encaminha as solicitações do cliente da solicitação inicial para uma instância de modelo. Esta seção descreve como o GKE Inference Gateway processa solicitações. Esse fluxo de solicitação é comum para todos os clientes.

  1. O cliente envia uma solicitação, formatada conforme descrito na especificação da API OpenAI, para o modelo em execução no GKE.
  2. O gateway de inferência do GKE processa a solicitação usando as seguintes extensões de inferência:
    1. Extensão de roteamento baseada no corpo: extrai o identificador do modelo do corpo da solicitação do cliente e o envia ao gateway de inferência do GKE. O Gateway de inferência do GKE usa esse identificador para rotear a solicitação com base nas regras definidas no objeto HTTPRoute da API Gateway. O roteamento do corpo da solicitação é semelhante ao roteamento com base no caminho do URL. A diferença é que o roteamento do corpo da solicitação usa dados do corpo da solicitação.
    2. Extensão de segurança: usa o Model Armor ou soluções de terceiros com suporte para aplicar políticas de segurança específicas do modelo que incluem filtragem de conteúdo, detecção de ameaças, limpeza e geração de registros. A extensão de segurança aplica essas políticas aos caminhos de processamento de solicitações e respostas. Isso permite que a extensão de segurança limpe e registre solicitações e respostas.
    3. Extensão do seletor de endpoint: monitora as principais métricas dos servidores de modelos no InferencePool. Ele rastreia a utilização do cache de chave-valor (KV-cache), o comprimento da fila de solicitações pendentes e os adaptadores LoRA ativos em cada servidor de modelo. Em seguida, ele encaminha a solicitação para a réplica de modelo ideal com base nessas métricas para minimizar a latência e maximizar a taxa de transferência para inferência de IA.
  3. O Gateway de inferência do GKE encaminha a solicitação para a réplica do modelo retornada pela extensão do seletor de endpoint.

O diagrama a seguir ilustra o fluxo de solicitação de um cliente para uma instância de modelo pelo gateway de inferência do GKE.

Fluxo de solicitação de um cliente para uma instância de modelo pelo gateway de inferência do GKE
Figura: fluxo de solicitação do gateway de inferência do GKE

Como funciona a distribuição de tráfego

O Gateway de inferência do GKE distribui solicitações de inferência dinamicamente para servidores de modelos no objeto InferencePool. Isso ajuda a otimizar a utilização de recursos e mantém o desempenho em diferentes condições de carga. O Gateway de inferência do GKE usa os dois mecanismos a seguir para gerenciar a distribuição de tráfego:

  • Seleção de endpoint: seleciona dinamicamente o servidor de modelo mais adequado para processar uma solicitação de inferência. Ele monitora a carga e a disponibilidade do servidor e, em seguida, toma decisões de roteamento.

  • Enfileiramento e descarte: gerencia o fluxo de solicitações e evita a sobrecarga de tráfego. O GKE Inference Gateway armazena as solicitações recebidas em uma fila, prioriza as solicitações com base em critérios definidos e descarta as solicitações quando o sistema está sobrecarregado.

O GKE Inference Gateway é compatível com os seguintes níveis de Criticality:

  • Critical: essas cargas de trabalho são priorizadas. O sistema garante que essas solicitações sejam atendidas mesmo com restrições de recursos.
  • Standard: essas cargas de trabalho são atendidas quando os recursos estão disponíveis. Se os recursos estiverem limitados, essas solicitações serão descartadas.
  • Sheddable: essas cargas de trabalho são atendidas de forma oportunista. Se os recursos forem escassos, essas solicitações serão descartadas para proteger as cargas de trabalho Critical.

Quando o sistema está sob pressão de recursos, as solicitações Standard e Sheddable são descartadas imediatamente com um código de erro 429 para proteger as cargas de trabalho Critical.

Inferência em streaming

O Gateway de inferência do GKE oferece suporte à inferência de streaming para aplicativos como chatbots e tradução em tempo real que exigem atualizações contínuas ou quase em tempo real. A inferência de streaming envia respostas em partes ou segmentos incrementais, em vez de uma saída única e completa. Se ocorrer um erro durante uma resposta de streaming, o streaming será encerrado e o cliente receberá uma mensagem de erro. O GKE Inference Gateway não tenta novamente as respostas de streaming.

Confira exemplos de aplicativos

Esta seção apresenta exemplos para abordar vários cenários de aplicativos de IA generativa usando o gateway de inferência do GKE.

Exemplo 1: disponibilizar vários modelos de IA generativa em um cluster do GKE

Uma empresa quer implantar vários modelos de linguagem grandes (LLMs) para atender a diferentes cargas de trabalho. Por exemplo, eles podem querer implantar um modelo Gemma3 para uma interface de chatbot e um modelo Deepseek para um aplicativo de recomendação. A empresa precisa garantir a melhor performance de veiculação para esses LLMs.

Com o GKE Inference Gateway, é possível implantar esses LLMs no cluster do GKE com a configuração de acelerador escolhida em um InferencePool. Em seguida, é possível encaminhar solicitações com base no nome do modelo (como chatbot e recommender) e na propriedade Criticality.

O diagrama a seguir ilustra como o GKE Inference Gateway encaminha solicitações para diferentes modelos com base no nome do modelo e no Criticality.

Roteamento de solicitações para diferentes modelos com base no nome e na criticidade
Figura : como exibir vários modelos de IA generativa em um cluster do GKE usando o GKE Inference Gateway

Exemplo 2: servir adaptadores LoRA em um acelerador compartilhado

Uma empresa quer veicular LLMs para análise de documentos e se concentrar em públicos-alvo em vários idiomas, como inglês e espanhol. Eles ajustaram os modelos para cada idioma, mas precisam usar a capacidade de GPU e TPU de forma eficiente. É possível usar o GKE Inference Gateway para implantar adaptadores LoRA dinâmicos ajustados para cada idioma (por exemplo, english-bot e spanish-bot) em um modelo de base comum (por exemplo, llm-base) e um acelerador. Isso permite reduzir o número de aceleradores necessários ao agrupar vários modelos em um acelerador comum.

O diagrama a seguir ilustra como o gateway de inferência do GKE atende a vários adaptadores LORA em um acelerador compartilhado.

Como disponibilizar vários adaptadores LoRA em um acelerador compartilhado
Figura : veiculação de adaptadores LoRA em um acelerador compartilhado

A seguir