O Google, gigante da tecnologia, tem adotado uma estratégia peculiar para turbinar a performance de seus sistemas de Inteligência Artificial: remover o próprio Python do processo de produção. Embora a linguagem seja uma favorita entre cientistas de dados pela sua facilidade de uso no desenvolvimento e treinamento de modelos, sua presença na fase de inferência — quando o modelo é ativamente utilizado — pode introduzir gargalos e complexidades de implantação. A solução encontrada pela empresa é o XSE, ou XLA Serving Engine, um componente recém-aberto do projeto OpenXLA, que compila cálculos de machine learning em código nativo otimizado para diferentes arquiteturas de processamento.
O Mecanismo por Trás da Otimização
O XSE não é ideal para modelos de linguagem de grande escala (LLMs), que demandam recursos computacionais massivos e são melhor servidos por ferramentas como vLLM ou SGLang. Em vez disso, a engine foca em modelos menores e mais específicos, comuns em diversas aplicações do Google. Nathan Beach, diretor de gerenciamento de produto no Google, destacou em uma publicação no LinkedIn que, apesar do foco atual em LLMs, uma parcela considerável da inferência em produção ainda envolve modelos de ranqueamento, recomendação, embedding e visão. Estes modelos exigem altíssimas taxas de consulta por segundo (QPS) e orçamentos de latência apertados. No Google, o XSE já gerencia mais de seis milhões de consultas por segundo em serviços essenciais como YouTube Shorts, Google Ads e a própria Busca. Estes sistemas não operam para conversas prolongadas, mas sim para tomar decisões rápidas, como ranquear resultados de busca ou recomendar vídeos, muitas vezes de forma imperceptível ao usuário. Um interpretador Python processando cada uma dessas requisições representaria um obstáculo significativo à eficiência operacional.
Adeus, Python; Olá, C++
Em testes realizados pelo Google, o XSE demonstrou entregar um throughput de duas a cinco vezes superior ao de seus servidores Python mais otimizados, consumindo apenas um quarto da memória. O processo de desenvolvimento começa com os cientistas de dados escrevendo o código do modelo em Python, muitas vezes utilizando o JAX para auxiliar nos cálculos. O Google também planeja integrar o XSE com o TorchTPU, permitindo que usuários de PyTorch exportem seus modelos para serem servidos em C++ nas TPUs da empresa. Uma ferramenta de exportação empacota as computações do modelo em StableHLO, uma representação intermediária portátil, juntamente com os pesos treinados em um "XLA SavedModel". A runtime de serviço em C++ utiliza o XLA para compilar essas computações em código nativo para o hardware alvo, eliminando a necessidade de um interpretador Python. Esses XLA SavedModels podem ser executados em GPUs e CPUs, com o Google colaborando com parceiros como Arm e Intel para desenvolver o ecossistema XLA. Contudo, a preferência da companhia é clara: impulsionar o uso de seus próprios aceleradores TPU.
Implicações para o Ecossistema de IA
A lentidão inerente ao Python tem sido um desafio persistente para a comunidade de ML. Diversas abordagens têm sido exploradas para contornar essa limitação, muitas delas focadas em descartar o código Python o mais rápido possível. O PyTorch, por exemplo, oferece uma runtime nativa em C++ chamada LibTorch. A Microsoft e seus colaboradores, por sua vez, disponibilizam o ONNX Runtime, que suporta um formato de grafo aberto com bindings em Python. Até mesmo a implementação de referência do Python depende fortemente de C, e o Rust tem ganhado espaço. A iniciativa do Google com o XSE reforça a tendência de separar o desenvolvimento em linguagens de alto nível, como Python, da execução em produção, que se beneficia enormemente de linguagens compiladas e otimizadas como C++. Essa separação permite que os desenvolvedores se concentrem na experimentação e na lógica do modelo, enquanto a infraestrutura de produção garante a máxima performance e eficiência.
O Que Vem a Seguir?
A abertura do XSE ao público representa um passo importante para a padronização e otimização da inferência de ML em larga escala. A capacidade de compilar modelos de Python para código nativo, especialmente para hardware especializado como as TPUs, pode democratizar o acesso a performances de ponta. Resta saber como essa abordagem será adotada por outras empresas e se o XSE se tornará um padrão de fato para servir modelos de ML fora do ecossistema do Google. A integração com outras frameworks populares, como PyTorch e potencialmente TensorFlow (embora o JAX já seja uma forte alternativa), será crucial para sua adoção generalizada. O futuro da inferência de IA parece cada vez mais focado em compilação e otimização de baixo nível, permitindo que a criatividade em Python floresça sem comprometer a velocidade de execução.
Com reportagem de Brazil Valley
Source · The Register





