Contate-nos
Nenhum resultado encontrado.

Mecanismos de inferência LLM: vLLM vs LMDeploy vs SGLang

Cem Dilmegani
Cem Dilmegani
atualizado em Abr 15, 2026
Veja o nosso normas éticas

Realizamos testes comparativos com 3 mecanismos de inferência LLM líderes no H100: vLLM, LMDeploy e SGLang. Cada mecanismo processou cargas de trabalho idênticas: 1.000 solicitações ShareGPT usando Llama 3.1 8B-Instruct para isolar o verdadeiro impacto de desempenho de suas escolhas arquitetônicas e estratégias de otimização.

Motores
Ideal para
vLLM
-Prototipagem e experimentação em mais de 100 arquiteturas de modelos
-Ambientes com múltiplas GPUs (NVIDIA, AMD, Intel)
LMDeploy
-Implantações de produção que exigem desempenho H100 com complexidade mínima
-Equipes priorizando a simplicidade de instalação (instalação pip em uma linha)
SGLang
-Organizações que necessitam de taxa de transferência máxima absoluta (16.215 tok/s)
-Clusters de inferência dedicados

Resultados de benchmark de mecanismos de inferência

Medimos a taxa de transferência em lote offline em um total de 10.000 operações de inferência (1.000 solicitações × 10 execuções por mecanismo) para garantir a estabilidade estatística.

  • Taxa de transferência: Tokens de saída gerados por segundo no modo de inferência em lote. Mede a eficiência com que cada mecanismo utiliza os recursos de computação do H100.

Todos os motores foram configurados para seu desempenho teórico máximo: Llama 3.1 8B-Instruct, precisão bfloat16 e utilização de memória da GPU de 0,8 em hardware H100 de 80 GB.

Para entender como calculamos as taxas de transferência, consulte nossa metodologia de benchmark de inferência.

Principais conclusões

Nossa abordagem minimiza variáveis de confusão: modelo idêntico, hardware, conjunto de dados, configuração de amostragem, limites de memória e protocolo de aquecimento. Esse isolamento revela a verdadeira contribuição da arquitetura de cada mecanismo.

A diferença arquitetônica é de 29%: mesmo quando o vLLM é otimizado com os mesmos kernels (FlashInfer) do SGLang, ele ainda fica significativamente atrás dos líderes. O SGLang (16.215 tok/s) e o LMDeploy (16.132 tok/s) mantêm uma vantagem de 29% sobre o vLLM totalmente otimizado (12.553 tok/s). Isso indica que o gargalo não é mais o kernel matemático, mas a sobrecarga de orquestração interna do mecanismo.

SGLang e LMDeploy estão praticamente empatados: a diferença de desempenho entre eles é inferior a 0,6%, o que está dentro da margem de erro. Isso sugere que tanto a abordagem "Python + Kernels Nativos" (SGLang) quanto a abordagem "Motor C++ Puro" (LMDeploy) são estratégias igualmente válidas para alcançar o máximo desempenho em arquiteturas Hopper.

Zona segura de memória da GPU com 80% de utilização: Tentativas de alocar 95% da memória da GPU causaram travamentos imediatos durante a compilação de grafos CUDA em todos os mecanismos, apesar da capacidade de 80 GB. A causa raiz foi identificada como esgotamento da RAM do sistema durante a captura do grafo, e não como limites de memória da GPU. Uma fração de 0,8 proporcionou o equilíbrio ideal entre estabilidade e tamanho do lote.

Entendendo a hierarquia de desempenho

As diferenças de desempenho revelam uma clara distinção entre as arquiteturas de motor no H100:

SGLang e LMDeploy: Esses mecanismos atingem aproximadamente 16.200 tok/s. O SGLang alcança isso por meio do RadixAttention , um gerenciador de memória especializado projetado para padrões de serviço complexos. O LMDeploy alcança isso por meio do TurboMind , um backend personalizado em C++ que elimina completamente a sobrecarga do Python.

vLLM: Mesmo com o backend FlashInfer ativado, o vLLM atinge um pico de aproximadamente 12.500 tok/s. Embora isso represente uma melhoria significativa em relação às configurações padrão, a diferença restante evidencia o custo da arquitetura flexível e baseada em plugins do vLLM (PagedAttention) em comparação com os designs hiperespecializados dos líderes de mercado.

Diferenças na filosofia de arquitetura: SGLang e LMDeploy projetam seus mecanismos de atenção em conjunto com base em pressupostos do kernel. O vLLM mantém uma camada de compatibilidade mais ampla que exige que os algoritmos de atenção funcionem com vários backends, o que limita a profundidade das otimizações específicas em hardware de ponta.

Otimização do padrão de acesso à memória: A diferença de 29% sugere que o SGLang e o LMDeploy otimizam a coalescência de memória, a localidade de cache e o agendamento em lote de forma mais agressiva do que o agendador do vLLM permite, particularmente na forma como lidam com o Acelerador de Memória Tensorial (TMA) do H100.

Metodologia de referência

Ambiente de teste

Configuração de hardware:

  • GPU: NVIDIA H100 80GB HBM3
  • Sistema: instância de nuvem RunPod
  • Base do Docker: runpod/pytorch:1.0.2-cu1281-torch280-ubuntu2404

Versões de software:

  • CUDA: 12.8.1
  • PyTorch: 2.8.0
  • vLLM: 0.11.0 (FlashInfer ativado)
  • LMDeploy: 0.10.2
  • SGLang: v0.2.3

Conjunto de dados e carga de trabalho

Fonte: Conjunto de dados ShareGPT_Vicuna_unfiltered da Hugging Face

Critérios de seleção:

Por que este conjunto de dados: O ShareGPT contém conversas reais entre usuários e chatbots com variação natural de duração, representando com mais precisão as cargas de trabalho de chatbots em produção do que benchmarks sintéticos.

Configurações do motor

Todos os motores foram configurados para obter o máximo desempenho, mantendo a imparcialidade:

Configuração do vLLM (backend FlashInfer):

Configuração do LMDeploy:

Configuração do SGLang:

Procedimento de medição

Protocolo padrão aplicado a todos os motores:

  1. Carregamento do modelo: Faça o download e inicialize o modelo com precisão bfloat16.
  2. Fase de aquecimento: Processa 20 solicitações para acionar a compilação JIT e estabilizar os clocks da GPU.
  3. Testes de desempenho: Execute 10 ciclos completos de todos os 1.000 prompts.
  4. Metodologia de cronometragem:
  1. Contagem de tokens: Extrai a contagem real de tokens a partir de formatos de saída específicos do mecanismo.
  2. Cálculo da taxa de transferência: total_de_tokens_de_saída / duração.

Rigor estatístico:

  • Total de 10.000 operações de inferência (1.000 solicitações × 10 execuções por mecanismo).
  • Aproximadamente 1,5 milhão de tokens gerados por mecanismo.
  • O desvio padrão foi consistentemente inferior a 1% da média em todos os motores.

Interpretação dos resultados

Ao que você pode concluir:

Para inferência em lote offline do Llama 3.1 8B em hardware H100, a eficiência arquitetural determina o vencedor. Mesmo com os melhores kernels possíveis (FlashInfer), o vLLM não consegue igualar o desempenho do SGLang ou do LMDeploy. A diferença de 29% representa o custo da orquestração em Python em comparação com a otimização nativa em C++.

A hierarquia de desempenho se aplica exatamente a este cenário: processamento em lote de 1.000 solicitações simultaneamente. SGLang e LMDeploy são opções robustas que oferecem cerca de 45% mais valor por hora de GPU do que as implementações padrão e cerca de 29% mais do que as implementações vLLM altamente otimizadas.

O que não se pode generalizar:

  • Diferentes modelos: Resultados específicos para Llama 3.1 8B. Modelos maiores (por exemplo, 70B) ou arquiteturas diferentes (por exemplo, Mixtral, Qwen) apresentarão padrões de escala diferentes.
  • Hardware diferente: Essas classificações se aplicam ao H100 de 80 GB. No A100 ou V100, a portabilidade do vLLM pode superar a especialização do SGLang.
  • Métricas diferentes: Esta métrica mede apenas a taxa de transferência. O atendimento online requer TTFT (Tempo até a Primeira Fase) e percentis de latência, cujos resultados diferem significativamente.
  • Diferentes cargas de trabalho: Solicitações aleatórias minimizam os benefícios do cache de prefixos. Solicitações repetidas do sistema ou conversas com várias interações alteram drasticamente o cenário de desempenho em favor do SGLang.

Comparação da experiência do desenvolvedor

Os números de desempenho não capturam o panorama completo da implementação. Cada mecanismo oferece fluxos de trabalho de desenvolvimento distintos:

vLLM: Padrão da indústria por um bom motivo.

Simplicidade aliada à ampla compatibilidade. Uma única instalação com pip do vllm suporta mais de 100 arquiteturas de modelos em hardware NVIDIA, AMD e Intel. Uma comunidade enorme significa que o Stack Overflow tem as suas respostas. Servidor de API compatível com OpenAI incluído.

  • Escolha o vLLM para: prototipagem rápida, ambientes de GPU heterogêneos, cobertura máxima do modelo ou aproveitamento do maior ecossistema.

LMDeploy: Nível de produção com o mínimo de atrito

A instalação com uma única linha (pip install lmdeploy) oferece 99,5% do desempenho máximo do H100. O backend nativo em C++ significa zero sobrecarga de Python. Suporte de quantização de primeira classe (AWQ, GPTQ) para otimização adicional. Sem dependências complexas.

  • Escolha o LMDeploy para implantações de produção que exigem o máximo desempenho do H100 sem sacrificar a simplicidade de instalação ou a estabilidade.

SGLang: Limite de desempenho com custo de complexidade

A taxa de transferência máxima absoluta (16.215 tok/s) tem um preço: um esforço considerável na depuração da instalação do FlashInfer. Requer uma versão específica do PyTorch. Apresenta incompatibilidades binárias com alguns pacotes pré-compilados. O RadixAttention se destaca em cargas de trabalho conversacionais.

  • Escolha o SGLang para: Clusters de inferência dedicados onde uma equipe especializada pode gerenciar dependências e você precisa de cada ponto percentual de throughput.

Desafios de instalação e implantação

Uma comparação justa exigiu a superação de obstáculos de engenharia significativos:

Desafio 1: Conflitos de dependência do FlashInfer

Problema: Os pacotes FlashInfer do SGLang esperam versões específicas do PyTorch, mas os contêineres otimizados para H100 geralmente incluem versões diferentes.

Resolução:

Tempo investido: 6 horas para identificar versões compatíveis.

Conclusão: Pacotes ML pré-compilados frequentemente ocultam restrições de versão que só aparecem em tempo de execução.

Desafio 2: Habilitando o FlashInfer no vLLM

Problema: As versões padrão do vLLM geralmente não possuem suporte para FlashInfer ou exigem compilação complexa do código-fonte.

Inovação: Utilizamos a versão vLLM 0.11.0 no PyTorch 2.8 Nightly. Isso habilitou com sucesso o suporte nativo ao FlashInfer por meio do comando `pip install “vllm[flashinfer]==0.11.0”`, contornando as barreiras de compilação das versões anteriores.

Impacto: Isso proporcionou a comparação mais justa possível, confirmando que, embora os kernels ajudem, eles não resolvem o gargalo arquitetônico.

Desafio 3: Descoberta do ponto ideal de utilização da memória

Problema: A recomendação padrão de utilização de memória da GPU de 0,9 causou std::bad_alloc falhas.

Progresso dos testes:

Descoberta: A captura de grafos CUDA aloca RAM temporária do sistema proporcional ao uso de memória da GPU. Com uma alocação de 0,9 × 80 GB = 72 GB para a GPU, a RAM do sistema se esgota durante a compilação.

Limite prático: 0,8 de utilização da GPU é a "zona segura", apesar da capacidade de hardware de 80 GB.

Conclusão

Para inferência em lote de 8 bits do Llama 3.1 no H100, a hierarquia de desempenho tem dois níveis claros : o vLLM (otimizado com FlashInfer) fornece uma base sólida, enquanto as arquiteturas nativas em C++ do SGLang e do LMDeploy desbloqueiam um adicional de 29% na taxa de transferência .

SGLang (16.215 tok/s) e LMDeploy (16.132 tok/s) atingem taxas de transferência quase idênticas, sugerindo que ambos os mecanismos saturam a largura de banda da memória do H100. A pequena diferença entre eles é ruído estatístico.

Para implantações em produção: o LMDeploy surge como o vencedor prático, oferecendo 99,5% da taxa de transferência máxima do SGLang com instalação trivial (pip install lmdeploy) versus a complexa resolução de dependências do SGLang.

O vLLM com FlashInfer (12.553 tok/s) oferece um meio-termo atraente: desempenho respeitável, mantendo total compatibilidade de hardware e a maior matriz de suporte de modelos do setor. No entanto, para clusters H100 dedicados, abrir mão de 29% de desempenho representa um custo elevado.

Para padronização em infraestruturas heterogêneas ou experimentação rápida de modelos, o vLLM continua sendo a escolha racional. Para implantações dedicadas do H100, onde a taxa de transferência é fundamental, a combinação de desempenho máximo e simplicidade de instalação do LMDeploy é incomparável.

Perguntas frequentes

Um mecanismo de inferência LLM é um software especializado que otimiza a forma como grandes modelos de linguagem geram respostas. Embora seja possível executar modelos com PyTorch ou TensorFlow básicos, os mecanismos de inferência adicionam otimizações críticas, como gerenciamento eficiente de memória, agrupamento de múltiplas solicitações e otimizações de kernel de GPU. Essas melhorias podem aumentar drasticamente a taxa de transferência (tokens gerados por segundo) e reduzir custos, potencialmente oferecendo um desempenho de 3 a 5 vezes melhor no mesmo hardware.

A inferência em lote offline processa várias solicitações simultaneamente sem requisitos de tempo real, como analisar milhares de documentos ou gerar embeddings para um conjunto de dados. O serviço online lida com solicitações individuais de usuários com requisitos de latência rigorosos, onde métricas como Tempo até o Primeiro Token (TTFT) importam mais do que a taxa de transferência bruta. O mecanismo que se destaca na taxa de transferência em lote pode não ser o ideal para chatbots interativos, portanto, escolha com base no seu padrão de carga de trabalho real.

Cem Dilmegani
Cem Dilmegani
Analista Principal
Cem é o analista principal da AIMultiple desde 2017. A AIMultiple fornece informações para centenas de milhares de empresas (segundo o SimilarWeb), incluindo 55% das empresas da Fortune 500, todos os meses. O trabalho de Cem foi citado por importantes publicações globais, como Business Insider, Forbes e Washington Post, além de empresas globais como Deloitte e HPE, ONGs como o Fórum Econômico Mundial e organizações supranacionais como a Comissão Europeia. Você pode ver mais empresas e recursos renomados que mencionaram a AIMultiple. Ao longo de sua carreira, Cem atuou como consultor de tecnologia, comprador de tecnologia e empreendedor na área. Ele assessorou empresas em suas decisões tecnológicas na McKinsey & Company e na Altman Solon por mais de uma década. Também publicou um relatório da McKinsey sobre digitalização. Liderou a estratégia de tecnologia e a área de compras de uma empresa de telecomunicações, reportando-se diretamente ao CEO. Além disso, liderou o crescimento comercial da empresa de tecnologia avançada Hypatos, que atingiu uma receita recorrente anual de sete dígitos e uma avaliação de nove dígitos, partindo de zero, em apenas dois anos. O trabalho de Cem no Hypatos foi noticiado por importantes publicações de tecnologia, como TechCrunch e Business Insider. Cem participa regularmente como palestrante em conferências internacionais de tecnologia. Ele se formou em engenharia da computação pela Universidade Bogazici e possui um MBA pela Columbia Business School.
Ver perfil completo
Pesquisado por
Ekrem Sarı
Ekrem Sarı
Pesquisador de IA
Ekrem é pesquisador de IA na AIMultiple, com foco em automação inteligente, GPUs, agentes de IA e frameworks RAG.
Ver perfil completo

Seja o primeiro a comentar

Seu endereço de e-mail não será publicado. Todos os campos são obrigatórios.

0/450