A disponibilização de inferências é fundamental para implantar seus modelos de IA generativa em aplicativos do mundo real. O GKE oferece uma plataforma robusta e escalonável para gerenciar suas cargas de trabalho em contêineres, o que o torna uma opção atraente para veicular 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, o Google Cloud apresentou os recursos de IA generativa do GKE, um conjunto de recursos projetados especificamente para melhorar e otimizar a veiculação de inferências no GKE. Para mais informações sobre recursos específicos, consulte Recursos de IA generativa do GKE.
Comece a usar a 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 gratuito do GKE, que permite começar a usar o Kubernetes sem gerar custos de gerenciamento de clusters.
- Siga as etapas em Implantar modelos para implantar um modelo e um servidor de modelo conteinerizados.
- 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
Nesta página, usamos 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 com base em dados de entrada. A inferência de modelo no GKE usa aceleradores para processar com eficiência cálculos complexos para processamento em tempo real ou em lote.
- Modelo: um modelo de IA generativa que aprendeu padrões com dados e é usado para inferência. Os modelos variam em tamanho e arquitetura, desde modelos menores específicos do domínio até redes neurais enormes de vários 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 modelos processa o carregamento de modelos na memória e executa cálculos em aceleradores para retornar inferências de maneira eficiente.
- 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 do modelo de tipos de dados de maior precisão para tipos de dados de menor precisão.
Benefícios do GKE para inferência
A veiculação de inferências no GKE oferece vários benefícios:
- Custo-benefício eficiente:tenha valor e velocidade para suas necessidades de serviço de inferência. O GKE permite escolher entre uma variedade de aceleradores potentes (GPUs e TPUs), para que você pague apenas pelo desempenho necessário.
- Implantação mais rápida: acelere o tempo de lançamento no mercado com práticas recomendadas, qualificações e práticas recomendadas personalizadas fornecidas pelas capacidades de IA generativa do GKE.
- Performance escalonável: escalonar horizontalmente a performance com monitoramento pré-criado usando o GKE Inference Gateway, o escalonamento automático horizontal de pods (HPA) e métricas personalizadas. É possível executar vários 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 com base no ecossistema robusto do GKE, que oferece suporte a ferramentas como Kueue para gerenciamento e filas de recursos avançados e Ray para computação distribuída, facilitando o treinamento e a inferência de modelos escalonáveis e eficientes.
Como funciona a inferência no GKE
Nesta seção, descrevemos, em um nível geral, as etapas para usar o GKE no serviç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 e bibliotecas do sistema e configurações. Um aplicativo simples pode ser conteinerizado como uma única unidade, enquanto um aplicativo mais complexo pode ser dividido em vários componentes conteinerizados. Implante um modelo contendo o servidor de modelos (como 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 da inferência do GKE, a imagem em contêineres é 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 de inferência.
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 do 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 adaptadores LoRA, 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 Gateway de inferência para balanceamento de carga e roteamento inteligentes especificamente adaptados para cargas de trabalho de inferência de IA generativa. Use o Inference Gateway para um balanceamento de carga inteligente adaptado a cargas de trabalho 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 vai distribuir as solicitações para as réplicas do modelo. O servidor de modelo processa a solicitação, executa o modelo e retorna a inferência.
Escalone e monitore sua implantação de inferência: escale a inferência com o HPA para ajustar automaticamente as réplicas com base na CPU ou na latência. O escalonador automático de pod horizontal (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 utilização da CPU ou métricas personalizadas. Use o início rápido de inferência 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 modelos conhecidos como o vLLM.
Para exemplos detalhados que usam modelos, servidores de modelos e aceleradores específicos, consulte Exemplos de inferência.
Recursos de IA generativa do GKE
Você pode usar esses recursos juntos ou individualmente para resolver os principais desafios de veiculação de modelos de IA generativa e melhorar a utilização de recursos no seu ambiente do GKE, sem custo adicional.
| Nome | Descrição | Vantagens |
|---|---|---|
| Guia de início rápido do GKE Inference |
Analise o desempenho e a eficiência de custo das suas cargas de trabalho de inferência. Especifique suas necessidades de negócios e receba práticas recomendadas personalizadas para a combinação de aceleradores, escalonamento e configurações de armazenamento, além de servidores de modelo que melhor atendam às suas necessidades. É possível acessar esse serviço com a CLI gcloud e o console Google Cloud . Para mais informações, consulte Analisar o desempenho e os custos da exibição de modelos com o guia de início rápido do GKE Inference. |
|
| GKE Inference Gateway | Receba roteamento com base em métricas, como 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 de alto desempenho e totalmente gerenciado otimizado para IA que pode ser anexado a 10.000 ou mais pods. Para mais informações sobre o uso do Lustre gerenciado em 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 suas cargas de trabalho de inferência, é importante entender como medir a performance delas. A tabela a seguir descreve as principais métricas para comparar o desempenho da inferência no GKE.
| Indicadores de comparativo de mercado | Métrica (unidade) | Descrição |
|---|---|---|
| Latência | Tempo para o primeiro token (TTFT) (ms) | Tempo necessário para gerar o primeiro token de uma solicitação. |
| Tempo normalizado por token de saída (NTPOT) (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) (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 para gerar cada token de saída individual. Essas medições individuais são agregadas para produzir valores de média, mediana e percentil, como p90. | |
| Latência da solicitação (ms) | Tempo de ponta a ponta para concluir uma solicitação. | |
| Capacidade | Solicitações por segundo | Número total de solicitações veiculadas por segundo. Essa métrica pode não ser uma maneira confiável de medir a taxa de transferência do LLM, porque ela pode variar muito para diferentes tamanhos de contexto. |
| Tokens de saída por segundo | Uma métrica comum 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 você a comparar cargas de trabalho com tempos altos de pré-preenchimento e decodificação. |
Planejamento para inferência
Para uma implantação de inferência bem-sucedida, é necessário um planejamento cuidadoso em várias áreas principais, incluindo custo-benefício, desempenho e disponibilidade de recursos. Para recomendações detalhadas sobre como criar uma plataforma de inferência escalonável, de alto desempenho 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 modelos. Se você estiver começando agora, 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 o 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 |
| TPUs | vLLM | Disponibilize 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 nos Laboratórios de IA do GKE.