Ao vivo 18/11 · Turma 318 nov às 19:00 MSK — aula prática gratuita de agentes de IA · Turma 3 ao vivo começa 23/11Aula 18/11 →Turma 3 (23/11)
LançamentoAnálise · No radarPyTorch Blog→ original

Dois engenheiros integraram o SGLang ao IBM Spyre em uma semana e aumentaram a vazão em 3,6 vezes

Um novo acelerador costuma exigir uma integração específica com o servidor de modelos de linguagem. Dois engenheiros integraram o SGLang ao IBM Spyre em menos de uma semana com ajuda de agentes de IA, que adaptaram código existente a interfaces já disponíveis. O plugin ficou com cerca de 1500 linhas, e a vazão aumentou em 3,6 vezes em relação à implementação de referência em PyTorch. O fator decisivo para o prazo foi o suporte ao hardware já estar funcionando.

Processado por IA de PyTorch Blog; editado por Hamidun News
Dois engenheiros integraram o SGLang ao IBM Spyre em uma semana e aumentaram a vazão em 3,6 vezes
Fonte: PyTorch Blog. Colagem: Hamidun News.
Ouvir artigo
Ficha técnica e números-chave
ParâmetroDados
Fonte originalPyTorch Blog ↗
Editor-chefe
Dado-chave #1Nas cargas de trabalho medidas com dois modelos, o SGLang apresentou resultados no mesmo nível do vLLM.
Dado-chave #2O RadixCache reutiliza prefixos comuns das solicitações sem adaptações específicas para o Spyre.
Dado-chave #3A execução exige o ambiente Spyre, o torch-spyre, o plugin e patches de compatibilidade.

Integrar um novo acelerador a um servidor de modelos de linguagem pode facilmente se transformar em um projeto de engenharia à parte. É preciso coordenar o gerenciamento de memória, os cálculos de atenção e o processamento das solicitações, e depois verificar se tudo isso é de fato mais rápido que a solução original. Uma equipe de dois engenheiros relatou ter integrado o SGLang ao IBM Spyre em menos de uma semana com ajuda de agentes de IA. O plugin ficou com aproximadamente 1500 linhas, e a vazão foi 3,6 vezes maior que a da implementação de referência de inferência em PyTorch com torch-spyre. Os autores apresentam esses resultados no blog do PyTorch.

O interesse prático está na organização do trabalho. Os engenheiros já contavam com suporte ao hardware e um exemplo de outra integração. Os agentes receberam código existente e interfaces específicas às quais deveriam conectá-lo. Para uma equipe que está migrando a inferência para outro hardware, é um exemplo útil de como delimitar a tarefa e aproveitar desenvolvimentos anteriores.

Como a integração foi montada

O Spyre é um acelerador da IBM para inferência empresarial. A biblioteca torch-spyre o registra como um dispositivo PyTorch e o integra ao torch.compile. Assim, parte do trabalho com o hardware já está disponível pelos mecanismos padrão do PyTorch.

O segundo ponto de apoio foi a integração existente do Spyre com o vLLM. Dela vieram as implementações de atenção, o tratamento dos formatos dos tensores, o agrupamento dos dados de entrada por tamanho e a abordagem de alocação de memória para o cache KV. Esse cache armazena dados intermediários para que o modelo não precise recalculá-los ao gerar cada token seguinte.

O SGLang forneceu os pontos de integração: registro do dispositivo, implementação de atenção, gerenciamento do cache KV e seleção das operações computacionais. Os agentes de IA adaptaram o código a essas interfaces. O escalonador de solicitações e o ciclo principal de atendimento continuaram a usar os componentes prontos do SGLang.

Também foram necessários quatro pequenos patches no próprio SGLang. Dois disponibilizaram caminhos de execução existentes sem dependências de CUDA; os outros dois registraram o dispositivo Spyre e uma implementação de atenção que dispensa o Triton. Segundo os autores, parte dessas alterações também será útil para outros aceleradores.

Por que o servidor precisa lembrar o início da solicitação

Imagine um assistente corporativo: cada solicitação começa com a mesma instrução longa, seguida da pergunta de um funcionário. Se o servidor consegue reutilizar os cálculos desse início comum, não precisa processar essa parte novamente a cada solicitação.

No SGLang, o RadixCache é responsável pelo compartilhamento de prefixos. Nesta integração, o mecanismo funcionou sem alterações específicas para o Spyre: o escalonador decide o que reutilizar antes mesmo de encaminhar o trabalho ao acelerador. É um exemplo ilustrativo de como uma funcionalidade do servidor pode ser transferida para um novo hardware junto com a lógica geral de atendimento.

A redução de código também teve uma explicação concreta. A integração existente do vLLM para o Spyre tinha cerca de 3500 linhas. Os autores atribuem aproximadamente dois terços da diferença em relação ao novo plugin à reutilização da classe base de atenção do SGLang. Por isso, comparar apenas o tamanho dos plugins diz pouco sobre a produtividade da IA: uma parcela significativa do resultado veio da arquitetura das bibliotecas.

O que verificar antes de levar a integração para um produto

O aumento de vazão de 3,6 vezes se refere à comparação com a implementação de referência em PyTorch. Em uma comparação separada com o vLLM no Spyre, os resultados do SGLang foram semelhantes nas cargas de trabalho medidas para o Granite 3.3 8B e o Gemma 4 26B A4B. Ainda não há fundamento para estender essas conclusões a quaisquer modelos e padrões de solicitação.

A integração inicial também se apoiou no compilador, no ambiente de execução e nas operações de hardware existentes. Os autores descrevem o suporte a formatos dinâmicos e ao Triton como os próximos passos. Para executar o exemplo, é necessário instalar e configurar previamente o ambiente Spyre, o torch-spyre, o plugin do SGLang e os patches de compatibilidade.

Para desenvolvedores, a lição útil está na forma de definir a tarefa do agente: fornecer uma implementação funcional das operações, especificar a interface de destino e verificar o resultado em hardware real. Para responsáveis pelo produto, vale reservar tempo específico para testes de carga e manutenção. Chegar à integração inicial em uma semana é um resultado convincente, mas a capacidade de atender a um produto específico terá de ser comprovada com medições próprias.

História

Perguntas frequentes sobre a notícia

Como a integração foi montada?

O Spyre é um acelerador da IBM para inferência empresarial. A biblioteca torch-spyre o registra como um dispositivo PyTorch e o integra ao torch.compile. Assim, parte do trabalho com o hardware já está disponível pelos mecanismos padrão do PyTorch. O segundo ponto de apoio foi a integração existente do Spyre com o vLLM. Dela vieram as implementações de atenção, o tratamento dos formatos dos tensores, o agrupamento dos dados de entrada por tamanho e a abordagem de alocação de memória para o cache KV.

Por que o servidor precisa lembrar o início da solicitação?

Imagine um assistente corporativo: cada solicitação começa com a mesma instrução longa, seguida da pergunta de um funcionário. Se o servidor consegue reutilizar os cálculos desse início comum, não precisa processar essa parte novamente a cada solicitação. No SGLang, o RadixCache é responsável pelo compartilhamento de prefixos. Nesta integração, o mecanismo funcionou sem alterações específicas para o Spyre: o escalonador decide o que reutilizar antes mesmo de encaminhar o trabalho ao acelerador.

O que verificar antes de levar a integração para um produto?

O aumento de vazão de 3,6 vezes se refere à comparação com a implementação de referência em PyTorch. Em uma comparação separada com o vLLM no Spyre, os resultados do SGLang foram semelhantes nas cargas de trabalho medidas para o Granite 3.3 8B e o Gemma 4 26B A4B. Ainda não há fundamento para estender essas conclusões a quaisquer modelos e padrões de solicitação. A integração inicial também se apoiou no compilador, no ambiente de execução e nas operações de hardware existentes.

ZK
Zhemal Khamidun — CPO da Alpina Digital, gerente de produto do AlpinaGPT. Cria produtos de IA desde 2019. O Hamidun News é um projeto pessoal que virou um agregador em produção com mais de 6.000 leitores.
✦ Unified AI Workspace · Nomad

Test Frontier LLMs & Autonomous Agents in One Workspace

Run Claude Opus 5.5, GPT-6, Gemini 3.1, and DeepSeek side-by-side in Nomad AI (nomadnet.ai) — unified model routing, deep research, and multimodal workflows under one subscription.

Try Nomad AI →Launch Nomad Agent
O que você acha?
Carregando comentários…