A disponibilização de inferência é fundamental para implantar seus modelos de IA generativa em aplicativos do mundo real. O GKE oferece uma plataforma robusta e escalonável para gerenciar cargas de trabalho em contêineres, o que o torna uma opção interessante para disponibilizar seus modelos em desenvolvimento ou produção. Com o GKE, é possível usar os recursos do Kubernetes para orquestração, escalonamento e alta disponibilidade para implantar e gerenciar seus serviços de inferência com eficiência.
Reconhecendo as demandas específicas da inferência de IA/ML, Google Cloud o Google introduziu os recursos de IA generativa do GKE—um conjunto de recursos projetados especificamente para melhorar e otimizar a disponibilização de inferência no GKE. Para mais informações sobre recursos específicos, consulte Recursos de IA generativa do GKE.
Introdução à inferência de modelos de IA/ML no GKE
Comece a explorar a inferência de modelos de IA/ML no GKE em minutos. Use o nível sem custo financeiro do GKE, que permite começar a usar o Kubernetes sem gerar custos de gerenciamento de clusters.
- Siga as etapas de implantação de modelos para implantar um modelo em contêiner e um servidor de modelo.
- Leia a visão geral das práticas recomendadas de inferência no GKE, que tem orientações e recursos para planejar e executar cargas de trabalho de inferência no GKE.
Terminologia
Esta página usa a seguinte terminologia relacionada à inferência no GKE:
- Inferência: o processo de execução de um modelo de IA generativa, como um modelo de linguagem grande ou de difusão, em um cluster do GKE para gerar texto, embeddings ou outras saídas de dados de entrada. A inferência de modelos no GKE aproveita aceleradores para processar cálculos complexos com eficiência para processamento em tempo real ou em lote.
- Modelo: um modelo de IA generativa que aprendeu padrões de dados e é usado para inferência. Os modelos variam em tamanho e arquitetura, desde modelos menores específicos do domínio até redes neurais massivas de bilhões de parâmetros otimizadas para diversas tarefas de linguagem.
- Servidor de modelo: um serviço em contêiner responsável por receber solicitações de inferência e retornar inferências. Esse serviço pode ser um app Python ou uma solução mais robusta, como vLLM, JetStream, TensorFlow Serving ou Triton Inference Server. O servidor de modelo processa o carregamento de modelos na memória e executa cálculos em aceleradores para retornar inferências com eficiência.
- Acelerador: hardware especializado, como unidades de processamento gráfico (GPUs) da NVIDIA e unidades de processamento de tensor (TPUs) do Google, que podem ser anexadas a nós do GKE para acelerar os cálculos, principalmente para tarefas de treinamento e inferência.
- Quantização: uma técnica usada para reduzir o tamanho dos modelos de IA/ML e melhorar a velocidade de inferência convertendo pesos e ativações de modelos de tipos de dados de maior precisão para tipos de dados de menor precisão.
Benefícios do GKE para inferência
A disponibilização de inferência no GKE oferece vários benefícios:
- Relação custo-benefício eficiente:tenha valor e velocidade para suas necessidades de disponibilização de inferência. O GKE permite escolher entre uma variedade de aceleradores poderosos (GPUs e TPUs), para que você só pague pelo desempenho de que precisa.
- Implantação mais rápida: acelere o tempo de lançamento no mercado com práticas recomendadas, qualificações e práticas recomendadas fornecidas pelos recursos de IA generativa do GKE.
- Desempenho escalonável: escalonar horizontalmente o desempenho com monitoramento pré-criado usando o GKE Inference Gateway, escalonamento automático horizontal de pods (HPA) e métricas personalizadas. É possível executar uma variedade de modelos pré-treinados ou personalizados, de 8 bilhões a 671 bilhões de parâmetros.
- Portabilidade total: aproveite a portabilidade total com padrões abertos. O Google contribui para as principais APIs do Kubernetes, incluindo Gateway e LeaderWorkerSet, e todas as APIs são portáteis com distribuições do Kubernetes.
- Suporte ao ecossistema: crie um ecossistema robusto do GKE que ofereça suporte a ferramentas como o Kueue para enfileiramento e gerenciamento avançados de recursos e Ray para computação distribuída, para facilitar o treinamento e a inferência de modelos escalonáveis e eficientes.
Como funciona a inferência no GKE
Esta seção descreve, em alto nível, as etapas para usar o GKE para disponibilização de inferência:
Contentorize seu modelo: contentorizar um aplicativo é criar uma imagem de contêiner, que é um pacote executável que inclui tudo o que é necessário para executar o aplicativo: código, ambiente de execução, ferramentas do sistema, bibliotecas do sistema e configurações. Um aplicativo simples pode ser contentorizado como uma única unidade, enquanto um aplicativo mais complexo pode ser dividido em vários componentes contentorizados. Implante um modelo contentorizando o servidor de modelo (como o vLLM) e carregando pesos de modelo do Cloud Storage ou de um repositório como o Hugging Face. Ao usar o guia de início rápido do GKE Inference, a imagem contentorizada é gerenciada automaticamente no manifesto.
Criar um cluster do GKE: crie um cluster do GKE para hospedar sua implantação. Escolha o Autopilot para uma experiência gerenciada ou o Standard para personalização. Configure o tamanho do cluster, os tipos de nós e os aceleradores. Para uma configuração otimizada, use o guia de início rápido do Inference.
Implante seu modelo como uma implantação do Kubernetes: crie uma implantação do Kubernetes para gerenciar seu serviço de inferência. Uma implantação é um objeto da API Kubernetes que permite executar várias réplicas de pods distribuídos entre os nós de um cluster. Especifique a imagem Docker, as réplicas e as configurações. O Kubernetes extrai a imagem e executa os contêineres nos nós do cluster do GKE. Configure os pods com o servidor e o modelo, incluindo LoRA adaptadores, se necessário.
Exponha seu serviço de inferência: torne seu serviço de inferência acessível criando um serviço do Kubernetes para fornecer um endpoint de rede para sua implantação. Use o Inference Gateway para balanceamento de carga inteligente e roteamento especificamente adaptado para cargas de trabalho de inferência de IA generativa ou consulte a comparação de estratégias de balanceamento de carga para escolher a melhor opção para suas necessidades.
Processar solicitações de inferência: envie dados dos clientes do aplicativo para o endpoint do serviço, no formato esperado (JSON, gRPC). Se você estiver usando um balanceador de carga, ele distribuirá as solicitações para réplicas de modelo. O servidor de modelo processa a solicitação, executa o modelo e retorna a inferência.
Escalonar e monitorar a implantação de inferência: escalone a inferência com o HPA para ajustar automaticamente as réplicas com base na CPU ou na latência. O escalonador automático horizontal de pods (HPA) é um controlador do Kubernetes que aumenta ou diminui automaticamente o número de pods em uma carga de trabalho (como uma implantação) com base em métricas observadas, como a utilização da CPU ou métricas personalizadas. Use o guia de início rápido do Inference para receber recomendações de escalonamento geradas automaticamente. Para acompanhar o desempenho, use o Cloud Monitoring e o Cloud Logging com observabilidade pré-criada, incluindo painéis para servidores de modelo populares como vLLM.
Para exemplos detalhados que usam modelos, servidores de modelo e aceleradores específicos, consulte Exemplos de inferência.
Recursos de IA generativa do GKE
É possível usar esses recursos juntos ou individualmente para resolver os principais desafios na disponibilização de modelos de IA generativa e melhorar a utilização de recursos no ambiente do GKE, sem custo extra.
| Nome | Descrição | Benefícios |
|---|---|---|
| Guia de início rápido do GKE Inference |
Analise a performance e a relação custo-benefício das cargas de trabalho de inferência. Especifique suas necessidades de negócios e receba práticas recomendadas personalizadas para a combinação de aceleradores, configurações de escalonamento e armazenamento e servidores de modelo que melhor atendam às suas necessidades. É possível acessar esse serviço com a CLI gcloud e o Google Cloud console. Para mais informações, consulte Analisar o desempenho e os custos da disponibilização de modelos com o guia de início rápido do GKE Inference. |
|
| GKE Inference Gateway | Receba o roteamento com base em métricas, como a utilização do cache KV, para melhorar a latência. Para mais informações, consulte Sobre o GKE Inference Gateway. |
|
| Aceleradores de carregamento de peso do modelo | Acesse dados no Cloud Storage rapidamente usando o Cloud Storage FUSE com armazenamento em cache e downloads paralelos. Para mais informações sobre como usar o Cloud Storage FUSE para cargas de trabalho de IA/ML, consulte a arquitetura de referência. O Google Cloud Managed Lustre é um sistema de arquivos paralelo totalmente gerenciado e de alta performance otimizado para IA que pode ser anexado a 10.000 pods ou mais. Para mais informações sobre como usar o Managed Lustre para cargas de trabalho de IA/ML, consulte a arquitetura de referência. O Google Cloud Hyperdisk ML é um disco conectado à rede que pode ser anexado a até 2.500 pods. |
|
Métricas de performance de inferência
Para otimizar as cargas de trabalho de inferência, é importante entender como medir a performance delas. A tabela a seguir descreve as principais métricas para comparar a performance de inferência no GKE.
| Indicadores de comparativo de mercado | Métrica (unidade) | Descrição |
|---|---|---|
| Latência | Tempo até o primeiro token (TTFT, na sigla em inglês) (ms) | Tempo necessário para gerar o primeiro token de uma solicitação. |
| Tempo normalizado por token de saída (NTPOT, na sigla em inglês) (ms) | Latência de solicitação normalizada pelo número de tokens de saída, medida como request_latency / total_output_tokens. |
|
| Tempo por token de saída (TPOT, na sigla em inglês) (ms) | Tempo necessário para gerar um token de saída, medido como (request_latency - time_to_first_token) / (total_output_tokens - 1). |
|
| Latência entre tokens (ITL, na sigla em inglês) (ms) | Mede a latência entre duas gerações de tokens de saída. Ao contrário do TPOT, que mede a latência em toda a solicitação, o ITL mede o tempo necessário para gerar cada token de saída individual. Essas medições individuais são agregadas para produzir valores médios, medianos e percentis, como p90. | |
| Latência da solicitação (ms) | Tempo de ponta a ponta para concluir uma solicitação. | |
| Capacidade de processamento | Solicitações por segundo | Número total de solicitações que você atende por segundo. Observe que essa métrica pode não ser uma maneira confiável de medir a capacidade de processamento de LLM, porque ela pode variar muito para diferentes tamanhos de contexto. |
| Tokens de saída por segundo | Uma métrica comum que é medida como total_output_tokens_generated_by_server / elapsed_time_in_seconds. |
|
| Tokens de entrada por segundo | Medido como total_input_tokens_generated_by_server / elapsed_time_in_seconds. |
|
| Tokens por segundo | Medido como total_tokens_generated_by_server / elapsed_time_in_seconds. Essa métrica conta tokens de entrada e saída, ajudando a comparar cargas de trabalho com pré-preenchimento alto versus tempos de decodificação altos. |
Planejamento para inferência
Uma implantação de inferência bem-sucedida exige um planejamento cuidadoso em várias áreas principais, incluindo relação custo-benefício, performance e disponibilidade de recursos. Para recomendações detalhadas sobre como criar uma plataforma de inferência escalonável, de alta performance e econômica, consulte Visão geral das práticas recomendadas de inferência no GKE.
Testar exemplos de inferência
Encontre exemplos de implantação do GKE para modelos de IA generativa, aceleradores e servidores de modelo. Se você está começando, recomendamos conferir o tutorial Disponibilizar modelos abertos do Gemma usando GPUs no GKE com vLLM.
Ou pesquise um tutorial por palavra-chave:
| Accelerator | Servidor de modelo | Tutorial |
|---|---|---|
| GPUs | vLLM | Disponibilizar LLMs como DeepSeek-R1 671B ou Llama 3.1 405B no GKE |
| GPUs | vLLM | Disponibilizar modelos abertos do Gemma usando GPUs no GKE com vLLM |
| GPUs | vLLM | Disponibilizar um LLM com o GKE Inference Gateway |
| GPUs | vLLM | Disponibilizar LLMs abertos no GKE com uma arquitetura pré-configurada |
| GPUs | Ray Serve | Disponibilizar um LLM em GPUs L4 com Ray |
| GPUs | TGI | Disponibilizar um LLM com várias GPUs no GKE |
| GPUs | TorchServe | Disponibilizar T5 no GKE com o TorchServe |
| TPUs | vLLM | Disponibilizar um LLM usando a TPU Trillium no GKE com o vLLM |
| TPUs | vLLM | Disponibilizar um LLM usando TPUs no GKE com o KubeRay |
| TPUs | MaxDiffusion | Disponibilizar o Stable Diffusion XL (SDXL) usando TPUs no GKE com o MaxDiffusion |
| TPUs | vLLM | Disponibilizar LLMs usando TPUs de vários hosts no GKE com o JetStream e o Pathways |
| TPUs | vLLM | Disponibilizar LLMs abertos em TPUs com uma arquitetura pré-configurada |
A seguir
- Acesse o portal de orquestração de IA/ML no GKE para conferir nossos guias, tutoriais e casos de uso oficiais para executar cargas de trabalho de IA/ML no GKE.
- Confira exemplos experimentais para aproveitar o GKE e acelerar suas iniciativas de IA/ML no GKE AI Labs.