Acerca da inferência de modelos de IA/ML no GKE

Esta página descreve os principais conceitos, vantagens e passos para executar cargas de trabalho de inferência de modelos de IA/ML generativa no Google Kubernetes Engine (GKE), usando as capacidades de IA generativa do GKE.

A publicação de inferências é fundamental na implementação dos seus modelos de IA generativa em aplicações do mundo real. O GKE oferece uma plataforma robusta e escalável para gerir as suas cargas de trabalho em contentores, o que o torna uma escolha atraente para publicar os seus modelos em desenvolvimento ou produção. Com o GKE, pode usar as capacidades do Kubernetes para orquestração, escalabilidade e alta disponibilidade para implementar e gerir eficientemente os seus serviços de inferência.

Reconhecendo as exigências específicas da inferência de IA/ML, a Google Cloud introduziu as capacidades de IA gen do GKE, um conjunto de funcionalidades especificamente concebidas para melhorar e otimizar a publicação de inferências no GKE. Para mais informações sobre funcionalidades específicas, consulte o artigo Capacidades de IA gen do GKE.

Comece a usar a inferência de modelos de IA/ML no GKE

Pode começar a explorar a inferência de modelos de IA/ML no GKE em minutos. Pode usar o nível gratuito do GKE, que lhe permite começar a usar o Kubernetes sem incorrer em custos de gestão de clusters.

  1. Aceda à página de IA/ML do GKE na Google Cloud consola

  2. Experimente os passos em Implementar modelos para implementar um modelo contentorizado e um servidor de modelos.
  3. Leia o artigo Vista geral das práticas recomendadas de inferência no GKE, que contém orientações e recursos para planear e executar as suas cargas de trabalho de inferência no GKE.

Terminologia

Esta página usa a seguinte terminologia relacionada com a inferência no GKE:

  • Inferência: o processo de execução de um modelo de IA generativa, como um modelo de linguagem grande ou um modelo de difusão, num cluster do GKE para gerar texto, incorporações ou outros resultados a partir de dados de entrada. A inferência de modelos no GKE tira partido dos aceleradores para processar de forma eficiente cálculos complexos para processamento em tempo real ou em lote.
  • Modelo: um modelo de IA generativa que aprendeu padrões a partir de dados e é usado para inferência. Os modelos variam em tamanho e arquitetura, desde modelos mais pequenos específicos do domínio a redes neurais massivas com vários milhares de milhões de parâmetros que são otimizadas para diversas tarefas de linguagem.
  • Servidor de modelos: um serviço contentorizado responsável por receber pedidos de inferência e devolver inferências. Este serviço pode ser uma 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 devolver inferências de forma eficiente.
  • Acelerador: hardware especializado, como unidades de processamento gráfico (GPUs) da NVIDIA e unidades de processamento tensor (TPUs) da Google, que podem ser anexadas a nós do GKE para acelerar os cálculos, especialmente para tarefas de preparação e inferência.
  • Quantização: uma técnica usada para reduzir o tamanho dos modelos de IA/AM e melhorar a velocidade de inferência através da conversão de ponderações e ativações de modelos de tipos de dados de maior precisão em tipos de dados de menor precisão.

Vantagens do GKE para inferência

A publicação de inferências no GKE oferece várias vantagens:

  • Relação preço/desempenho eficiente: obtenha valor e velocidade para as suas necessidades de serviço de inferência. O GKE permite-lhe escolher entre uma variedade de aceleradores potentes (GPUs e TPUs), para que só pague pelo desempenho de que precisa.
  • Implementação mais rápida: acelere o seu tempo de comercialização com qualificações, práticas recomendadas e práticas recomendadas personalizadas fornecidas pelas capacidades de IA gen do GKE.
  • Desempenho escalável: aumente o desempenho com a monitorização pré-criada através do GKE Inference Gateway, da escala automática horizontal de pods (HPA) e de métricas personalizadas. Pode executar uma variedade de modelos pré-preparados ou personalizados, de 8 mil milhões de parâmetros até 671 mil milhões de parâmetros.
  • Portabilidade total: tire partido da portabilidade total com normas abertas. A Google contribui para as principais APIs Kubernetes, incluindo Gateway e LeaderWorkerSet, e todas as APIs são portáteis com distribuições Kubernetes.
  • Suporte do ecossistema: crie com base no ecossistema robusto do GKE, que suporta ferramentas como o Kueue para gestão e colocação em fila de recursos avançada e o Ray para computação distribuída, de modo a facilitar a inferência e a preparação de modelos escaláveis e eficientes.

Como funciona a inferência no GKE

Esta secção descreve, de forma geral, os passos para usar o GKE para o serviço de inferência:

  1. Coloque o seu modelo num contentor: colocar uma aplicação num contentor significa criar uma imagem de contentor, que é um pacote executável que inclui tudo o que é necessário para executar a aplicação: código, tempo de execução, ferramentas do sistema, bibliotecas do sistema e definições. Uma aplicação simples pode ser contentorizada como uma única unidade, enquanto uma aplicação mais complexa pode ser dividida em vários componentes contentorizados. Implemente um modelo ao colocar o servidor de modelos num contentor (como o vLLM) e carregar os pesos do modelo a partir do Cloud Storage ou de um repositório como o Hugging Face. Quando usa o GKE Inference Quickstart, a imagem em contentor é gerida automaticamente no manifesto.

  2. Crie um cluster do GKE: crie um cluster do GKE para alojar a sua implementação. Escolha o modo automático para uma experiência gerida ou o modo padrão para personalização. Configure o tamanho do cluster, os tipos de nós e os aceleradores. Para uma configuração otimizada, use o Inference Quickstart.

  3. Implemente o seu modelo como uma implementação do Kubernetes: crie uma implementação do Kubernetes para gerir o seu serviço de inferência. Uma implementação é um objeto da API Kubernetes que lhe permite executar várias réplicas de pods distribuídas entre os nós num cluster. Especifique a imagem do Docker, as réplicas e as definições. O Kubernetes extrai a imagem e executa os seus contentores nos nós do cluster do GKE. Configure os pods com o servidor de modelos e o modelo, incluindo adaptadores LoRA, se necessário.

  4. Exponha o seu serviço de inferência: torne o seu serviço de inferência acessível através da criação de um serviço Kubernetes para fornecer um ponto final de rede para a sua implementação. Use o Inference Gateway para um equilíbrio de carga e um encaminhamento inteligentes especificamente adaptados para cargas de trabalho de inferência de IA generativa. Use o Inference Gateway para um balanceamento de carga inteligente adaptado às 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 as suas necessidades.

  5. Processar pedidos de inferência: enviar dados dos clientes da sua aplicação para o ponto final do seu serviço no formato esperado (JSON, gRPC). Se estiver a usar um balanceador de carga, este distribui os pedidos pelas réplicas do modelo. O servidor de modelos processa o pedido, executa o modelo e devolve a inferência.

  6. Dimensione e monitorize a implementação da inferência: dimensione a inferência com o HPA para ajustar automaticamente as réplicas com base na CPU ou na latência. O Horizontal Pod Autoscaler (HPA) é um controlador do Kubernetes que aumenta ou diminui automaticamente o número de pods numa carga de trabalho (como uma implementação) com base em métricas observadas, como a utilização da CPU ou métricas personalizadas. Use o Inference Quickstart para receber recomendações de escalabilidade geradas automaticamente. Para acompanhar o desempenho, use o Cloud Monitoring e o Cloud Logging com observabilidade pré-criada, incluindo painéis de controlo para servidores de modelos populares como o vLLM.

Para ver exemplos detalhados que usam modelos, servidores de modelos e aceleradores específicos, consulte os exemplos de inferência.

Capacidades de IA gen do GKE

Pode usar estas capacidades em conjunto ou individualmente para resolver desafios importantes na publicação de modelos de IA generativa e melhorar a utilização de recursos no seu ambiente do GKE, sem custos adicionais.

Nome Descrição Vantagens
Início rápido da inferência do GKE

Analise o desempenho e a rentabilidade das suas cargas de trabalho de inferência. Especifique as necessidades da sua empresa e receba práticas recomendadas personalizadas para a combinação de aceleradores, configurações de escalabilidade e armazenamento, e servidores de modelos que melhor satisfazem as suas necessidades. Pode aceder a este serviço com a CLI gcloud e a Google Cloud consola.

Para mais informações, consulte o artigo Analise o desempenho e os custos da publicação de modelos com o início rápido da inferência do GKE.

  • Poupa tempo automatizando os passos iniciais de escolha e configuração da sua infraestrutura.
  • Permite-lhe manter o controlo total sobre a configuração do Kubernetes para uma otimização adicional.
GKE Inference Gateway

Obtenha o encaminhamento com base em métricas, como a utilização da cache KV, para uma melhor latência.

Para mais informações, consulte o artigo Acerca do GKE Inference Gateway

  • Partilhe modelos otimizados que usam ficheiros LoRA, com seleção de pontos finais baseada na afinidade para rentabilidade.
  • Alcance uma elevada disponibilidade acedendo dinamicamente à capacidade de GPUs e TPUs em várias regiões.
  • Melhore a segurança dos seus modelos com políticas do suplemento Model Armor.
Aceleradores de carregamento de pesos do modelo

Aceda rapidamente aos dados no Cloud Storage através do Cloud Storage FUSE com a colocação em cache e transferências paralelas. Para mais informações sobre a utilização do Cloud Storage FUSE para cargas de trabalho de IA/ML, consulte a arquitetura de referência.

O Google Cloud Managed Lustre é um sistema de ficheiros paralelo de elevado desempenho totalmente gerido e otimizado para IA que pode ser anexado a 10 000 ou mais pods. Para mais informações sobre a utilização do Lustre gerido para cargas de trabalho de IA/ML, consulte a arquitetura de referência.

O Google Cloud Hyperdisk ML é um disco associado à rede que pode ser associado a até 2500 pods.

  • Otimize o tempo de arranque da inferência minimizando a latência do modelo de carregamento de pesos no GKE.
  • Para implementações com escalabilidade de nós limitada, considere usar o Cloud Storage FUSE para montar os pesos dos modelos.
  • Para cargas de trabalho de inferência que exigem um desempenho de expansão consistente, o Google Cloud Managed Lustre suporta o acesso a ficheiros de alto débito e baixa latência a partir de vários pods em simultâneo.
  • Para cenários de grande escala que exigem um acesso consistente e de baixa latência a grandes ponderações de modelos, o Hyperdisk ML do Google Cloud oferece uma solução de armazenamento em bloco dedicada.

Métricas de desempenho da inferência

Para otimizar as cargas de trabalho de inferência, é importante saber como medir o respetivo desempenho. A tabela seguinte descreve as principais métricas para testes de referência do desempenho da inferência no GKE.

Indicadores de testes de referência Métrica (unidade) Descrição
Latência Tempo até ao primeiro token (TTFT) (ms) Tempo necessário para gerar o primeiro token para um pedido.
Tempo normalizado por token de saída (NTPOT) (ms) Latência do pedido 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) (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 todo o pedido, o ITL mede o tempo necessário para gerar cada token de saída individual. Estas medições individuais são, em seguida, agregadas para produzir valores médios, medianos e percentis, como p90.
Latência do pedido (ms) Tempo total para concluir um pedido.
Débito Pedidos por segundo O número total de pedidos que publica por segundo. Tenha em atenção que esta métrica pode não ser uma forma fiável de medir o débito do MDG, uma vez que pode variar bastante para diferentes comprimentos de contexto.
Símbolos 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. Esta métrica contabiliza os tokens de entrada e saída, o que ajuda a comparar cargas de trabalho com tempos de preenchimento prévio elevados em comparação com tempos de descodificação elevados.

Planeamento da inferência

Uma implementação de inferência bem-sucedida requer um planeamento cuidadoso em várias áreas importantes, incluindo a rentabilidade, o desempenho e a obtenção de recursos. Para ver recomendações detalhadas sobre como criar uma plataforma de inferência escalável, com bom desempenho e económica, consulte o artigo Vista geral das práticas recomendadas de inferência no GKE.

Experimente exemplos de inferência

Encontre exemplos de implementação do GKE para modelos de IA generativa, aceleradores e servidores de modelos. Se está a começar agora, recomendamos que explore o tutorial Apresente modelos abertos Gemma com GPUs no GKE com o vLLM.

Em alternativa, pesquise um tutorial por palavra-chave:

Accelerator Servidor de modelos Tutorial
GPUs vLLM Publique MDIs como o DeepSeek-R1 671B ou o Llama 3.1 405B no GKE
GPUs vLLM Publique modelos abertos Gemma com GPUs no GKE com o vLLM
GPUs vLLM Publique um MDG com o GKE Inference Gateway
GPUs vLLM Implemente MDIs abertos no GKE com uma arquitetura pré-configurada
GPUs Ray Serve Apresente um MDG em GPUs L4 com o Ray
GPUs TGI Publique um MDG com várias GPUs no GKE
GPUs TorchServe Implemente o T5 no GKE com o TorchServe
TPUs vLLM Apresente um MDG com o TPU Trillium no GKE com o vLLM
TPUs vLLM Apresente um LLM com TPUs no GKE com o KubeRay
TPUs MaxDiffusion Publique o Stable Diffusion XL (SDXL) com TPUs no GKE com o MaxDiffusion
TPUs vLLM Apresente LLMs com TPUs multi-host
TPUs vLLM Publique MDIs abertos em TPUs com uma arquitetura pré-configurada

O que se segue?

  • Visite o portal de orquestração de IA/AM no GKE para explorar os nossos guias, tutoriais e exemplos de utilização oficiais para executar cargas de trabalho de IA/AM no GKE.
  • Explore exemplos experimentais para tirar partido do GKE para acelerar as suas iniciativas de IA/ML no GKE AI Labs.