A otimização de inferência é a prática de melhorar o desempenho e a eficiência da execução de modelos de IA em produção. À medida que os modelos de linguagem grandes (LLMs) crescem para dezenas ou centenas de bilhões de parâmetros e as arquiteturas de inferência se tornam mais complexas, a dificuldade de projetar e manter aplicativos só aumenta. A otimização é o ato de gerenciar, monitorar e atualizar essas cargas de trabalho com uso intensivo de computação, permitindo tempos de resposta abaixo de um segundo e maior capacidade de processamento a um custo menor.
Ela envolve um conjunto de técnicas, que vão da compactação de modelos ao gerenciamento avançado de memória, e muda o foco de simplesmente "executar um modelo" para "escalonar um serviço de inteligência". Isso permite que os desenvolvedores criem aplicativos mais responsivos, mantendo uma pegada de infraestrutura sustentável.
Otimização no nível da infraestrutura : ela se concentra em como o modelo é executado no hardware. Isso inclui o uso de tempos de execução otimizados (como NVIDIA NIM ou vLLM), o gerenciamento da memória da GPU com técnicas como PagedAttention e o uso de loteamento em trânsito para processar várias solicitações simultaneamente. Esse é o caminho mais prático para desenvolvedores que usam modelos de código aberto ou proprietários.
Otimização no nível do modelo: envolve a modificação do modelo em si para reduzir o tamanho ou a complexidade dele. Técnicas como quantização (redução da precisão de 16 bits para 4 bits), destilação (treinamento de um modelo "estudante" menor para imitar um "professor" maior) e esparsidade (poda de parâmetros não importantes) podem reduzir drasticamente a memória e a computação necessárias para cada token.
Para otimizar de forma eficaz, você precisa entender as duas fases distintas da inferência de LLM:
Fase | Descrição | Característica principal |
Pré-preencher | O modelo processa todo o comando de entrada para calcular os estados intermediários. | Altamente paralelizado; vinculado à computação (satura a GPU). |
Decodificar | O modelo gera tokens de saída um por um, de forma autorregressiva. | Sequencial, limitado pela memória (limitado pela velocidade de transferência de dados). |
Fase
Descrição
Característica principal
Pré-preencher
O modelo processa todo o comando de entrada para calcular os estados intermediários.
Altamente paralelizado; vinculado à computação (satura a GPU).
Decodificar
O modelo gera tokens de saída um por um, de forma autorregressiva.
Sequencial, limitado pela memória (limitado pela velocidade de transferência de dados).
Veja como a inferência otimizada se compara à disponibilização de modelos "ingênuo" tradicional:
Recurso | Implantação padrão | Inferência otimizada |
Capacidade | Limitado por tamanhos de lote estáticos e tempo ocioso. | Alto, utiliza o agrupamento em trânsito e a iteração contínua. |
Latência | Crescimento linear com o tamanho da sequência, TTFT (tempo até o primeiro token) alto. | Otimizado, usa aceleração de preenchimento automático e decodificação especulativa. |
Gerenciamento de memória | Alocação estática (provisionamento excessivo para comprimento máximo). | Dinâmica (paging). Desperdício mínimo com PagedAttention. |
Eficiência de hardware | Muitas vezes, subutiliza os recursos de computação de GPU/TPU. | Maximizada, usa kernels otimizados (TFE-IE, XLA). |
Custo por solicitação | Maior, exige mais hardware para a mesma carga. | Menor: agrupa mais solicitações na mesma infraestrutura. |
Recurso
Implantação padrão
Inferência otimizada
Capacidade
Limitado por tamanhos de lote estáticos e tempo ocioso.
Alto, utiliza o agrupamento em trânsito e a iteração contínua.
Latência
Crescimento linear com o tamanho da sequência, TTFT (tempo até o primeiro token) alto.
Otimizado, usa aceleração de preenchimento automático e decodificação especulativa.
Gerenciamento de memória
Alocação estática (provisionamento excessivo para comprimento máximo).
Dinâmica (paging). Desperdício mínimo com PagedAttention.
Eficiência de hardware
Muitas vezes, subutiliza os recursos de computação de GPU/TPU.
Maximizada, usa kernels otimizados (TFE-IE, XLA).
Custo por solicitação
Maior, exige mais hardware para a mesma carga.
Menor: agrupa mais solicitações na mesma infraestrutura.
O Google Cloud oferece uma variedade de ferramentas projetadas para diferentes níveis de habilidade e necessidades arquitetônicas.
Ferramenta | Ponto de partida | Nível de habilidade | Abordagem | Característica principal |
Cloud Run (com GPUs) | Um serviço de IA leve e orientado a eventos | Iniciante | Sem servidor | Inferência com redução da escala a zero para cargas de trabalho intermitentes e de baixa latência |
Um modelo de OSS (como o Llama 3) | Iniciante a intermediário | Gerenciado / com pouco código | Implantação com um clique com os ambientes de execução otimizados vLLM ou NVIDIA NIM | |
Cargas de trabalho de produção de alto desempenho | Intermediário a avançado | Inferência acelerada | Microsserviços pré-criados com otimizações de última geração do TensorRT-LLM | |
Uma infraestrutura personalizada com vários modelos | Avançado | Nativo da nuvem / personalizado | Controle total sobre a fragmentação de GPU, a orquestração e os servidores de inferência personalizados | |
Desenvolvimento em grande escala com priorização da TPU | Avançado | Otimizado para TPU / XLA | Adaptado para XLA com lotes contínuos e PagedAttention no Cloud TPU |
Ferramenta
Ponto de partida
Nível de habilidade
Abordagem
Característica principal
Cloud Run (com GPUs)
Um serviço de IA leve e orientado a eventos
Iniciante
Sem servidor
Inferência com redução da escala a zero para cargas de trabalho intermitentes e de baixa latência
Um modelo de OSS (como o Llama 3)
Iniciante a intermediário
Gerenciado / com pouco código
Implantação com um clique com os ambientes de execução otimizados vLLM ou NVIDIA NIM
Cargas de trabalho de produção de alto desempenho
Intermediário a avançado
Inferência acelerada
Microsserviços pré-criados com otimizações de última geração do TensorRT-LLM
Uma infraestrutura personalizada com vários modelos
Avançado
Nativo da nuvem / personalizado
Controle total sobre a fragmentação de GPU, a orquestração e os servidores de inferência personalizados
Desenvolvimento em grande escala com priorização da TPU
Avançado
Otimizado para TPU / XLA
Adaptado para XLA com lotes contínuos e PagedAttention no Cloud TPU
O Model Garden é o caminho mais rápido para implantar versões otimizadas de modelos abertos líderes como Llama, Gemma e Mistral.
Acesse o Model Garden e encontre um modelo OSS compatível. Clique em implantar. Na configuração, selecione um ambiente de execução otimizado, como vLLM ou NVIDIA NIM.
Escolha uma versão quantizada do modelo (por exemplo, 4 ou 8 bits) para reduzir o consumo de memória. Isso permite disponibilizar tamanhos de lote maiores na mesma GPU, aumentando diretamente a capacidade de processamento.
Verifique se o contêiner de exibição está configurado para usar o PagedAttention. Essa técnica permite que o modelo armazene sua "memória" (cache de chave-valor) em blocos não contíguos, evitando o desperdício de memória e permitindo janelas de contexto mais longas.
Depois de implantada, a Vertex AI lida automaticamente com o agrupamento em trânsito, processando novas solicitações assim que uma solicitação atual conclui um token. Usar a Vertex AI Model Monitoring para monitorar a latência e garantir que a "vibe" da saída continue com alta qualidade.
Para equipes que precisam de controle granular sobre a orquestração e os kernels de inferência personalizados, o GKE é a opção padrão do setor.
Provisionar um cluster do GKE com nós de GPU especializados (como L4 ou H100). Instale o operador de GPU NVIDIA para lidar com o gerenciamento de drivers e o ajuste de desempenho automaticamente.
Usar um mecanismo de inferência conteinerizado, como o vLLM ou o Triton Inference Server. Esses servidores oferecem suporte a lote contínuo e paralelismo de tensor, permitindo que você fragmente modelos grandes em várias GPUs. O vLLM também permite alternar entre TPUs e GPUs com o mínimo de codificação adicional.
Para necessidades de latência de missão crítica, configure a decodificação especulativa. Isso envolve o uso de um modelo de "rascunho" menor e mais rápido para prever tokens, que são verificados em paralelo pelo seu modelo "alvo" maior, geralmente proporcionando um aumento de velocidade de 2 a 3 vezes.
O Guia de início rápido de inferência do GKE funciona como um banco de dados pré-configurado de configurações de pilha de inferência testadas. Ao especificar o modelo, os requisitos de latência e as prioridades de custo, a ferramenta fornece um conjunto de recomendações com base nas práticas recomendadas e nos benchmarks mais recentes. Isso permite monitorar métricas de performance específicas de inferência e ajustar dinamicamente sua implantação para garantir que ela sempre seja executada em tecnologia otimizada.
O GKE Inference Gateway já está disponível para todos os usuários, com dois recursos avançados para gerenciar aplicativos complexos de IA generativa.
O cache em qualquer lugar é um novo cache de leitura totalmente consistente que funciona com os buckets do Google Cloud Storage (GCS) para armazenar dados em cache na mesma zona dos seus aceleradores. Isso reduz a latência de leitura em até 96% e minimiza os custos de rede associados a cargas de trabalho com muitas leituras.
A Cloud WAN, uma rede global totalmente gerenciada criada na infraestrutura em escala planetária do Google, conecta toda a infraestrutura. O Cloud WAN conecta recursos de computação de IA em diferentes regiões, nuvens e ambientes no local, oferecendo uma melhoria de 40% na experiência do aplicativo de inferência e um TCO 40% menor em comparação com as soluções WAN tradicionais.
Comece a criar no Google Cloud com US$ 300 em créditos e mais de 20 produtos, tudo isso sem custo financeiro.