Servidores

Servidores de Inferência de LLMs

vLLM

  • *epositório:*github.comvllm-projectvllm
  • *rigem:*UC Berkeley (Kwon et al., 2023)
  • *inguagem:*Python + CUDA kernels
  • *ecnologia central:*PagedAttention + Continuous Batching
  • *uporte:*OpenAI-compatible API; GPTQ, AWQ, GGUF, FP8, INT4
  • *ardware:*NVIDIA (principal), AMD ROCm, Google TPU, Intel Gaudi (experimental)
  • *special:*Multimodal (imagem + texto), LoRA serving nativo, prefix caching
  • *uando usar:*Padrão de mercado; melhor ecossistema; produção geral
  • *hroughput:*Melhor throughput por token em produção (pós-SGLang otimizações)

SGLang — Structured Generation Language

  • *epositório:*github.comsgl-projectsglang
  • *rigem:*Berkeley Sky Lab (Zheng et al., 2024)
  • *rXiv:*2312.07104
  • *ecnologia central:*RadixAttention (prefix caching), Compressed Finite State Machine para structured output, CUDA graphs
  • *antagem chave:*Structured generation (JSON, regex) muito mais rápido que vLLM
  • *AGLE-3:*Melhor suporte a speculative decoding
  • *uando usar:*Workloads com prefixos repetidos; JSON estruturado; agents com tool use
  • *erformance:*Frequentemente supera vLLM em benchmarks de throughput

TGI — Text Generation Inference (HuggingFace)

  • *epositório:*github.comhuggingfacetextgenerationinference
  • *inguagem:*Rust (servidor) + Python (kernels)
  • *uporte:*Continuous batching, flash attention, speculative decoding, GPTQ, AWQ
  • *ardware:*NVIDIA, AMD, Intel Gaudi, Google TPU
  • *uando usar:*Integração nativa com HuggingFace Hub; Inference API da HF usa TGI
  • *PI:*OpenAIcompatible + HFnative

llama.cpp

  • *epositório:*github.comggerganovllama.cpp
  • *utor:*Georgi Gerganov
  • *inguagem:*C/C++ puro; sem dependências
  • *ormato:*GGUF
  • *ardware:*CPU (x86 AVX2/AVX-512), Apple Silicon (Metal), NVIDIA CUDA, AMD ROCm, Vulkan
  • *antagem:*Roda em qualquer hardware; CPU-first; quantização nativa Q2–Q8
  • *ervidor:*llama-server com API OpenAI-compatible
  • *uando usar:*Local; edge; sem GPU; laptops; dev; Docker simplificado

Ollama

  • *epositório:*github.comollamaollama
  • *ase:*llama.cpp (engine) + modelo gerenciador
  • *xperiência:*ollama run llama3 — baixa e serve em 1 comando
  • *odelo Hub:*Integrado; pull/push modelos
  • *PI:*REST + OpenAI-compatible (localhost:11434)
  • *uando usar:*Dev local; protótipo rápido; usuário não técnico; CI/CD local

Jan

  • *epositório:*github.comjanhqjan
  • *ngine:*llama.cpp + extensões
  • *nterface:*Desktop app cross-platform (Electron)
  • *PI:*OpenAI-compatible server embutido
  • *uando usar:*Usuário final; interface gráfica local; privacidade

LM Studio

  • *RL:*lmstudio.ai
  • *ngine:*llama.cpp
  • *nterface:*Desktop app (MacWinLinux)
  • *uando usar:*Demos; não-técnicos; exploração de modelos locais

TensorRT-LLM (NVIDIA)

  • *epositório:*github.comNVIDIATensorRT-LLM
  • *ase:*TensorRT com kernels LLM otimizados
  • *uporte:*FP8, INT4, NVFP4 (Blackwell), speculative decoding, paged KV cache
  • *erformance:*Máximo throughput em hardware NVIDIA
  • *imitações:*NVIDIA-only; compilação demorada; menos flexível
  • *uando usar:*Produção em NVIDIA (H100B100B200); máximo throughput; inferência de escala enterprise

OpenVINO (Intel)

  • *RL:*docs.openvino.ai
  • *oco:*CPU Intel, iGPU, NPU (Neural Processing Unit em laptops Intel Core Ultra)
  • *uporte:*INT8, INT4, modelos de código aberto (Llama, Mistral, Qwen)
  • *uando usar:*Edge; servidores sem GPU NVIDIA; laptops Intel com NPU

ONNX Runtime

  • *RL:*onnxruntime.ai (Microsoft)
  • *oco:*Cross-platform (CPU, GPU, NPU, iOS, Android, Web)
  • *imitações:*Exportação de LLMs grandes complexa; menos otimizado para geração
  • *uando usar:*Mobile (iOS/Android via React Native); WebAssembly; edge

MLC-LLM (Machine Learning Compilation)

  • *epositório:*github.commlc-aimlc-llm
  • *rigem:*CMU (Chen et al., TVM)
  • *ecanismo:*Compila modelos para qualquer hardware via Apache TVM
  • *uporte:*WebGPU (browser!), iOS, Android, CUDA, Metal, ROCm, Vulkan
  • *aso único:*Único framework que roda LLMs diretamente no browser (WebGPU)
  • *uando usar:*Browser; mobile nativo; hardware diverso

CTranslate2

  • *epositório:*github.comOpenNMTCTranslate2
  • *oco:*Modelos encoder-decoder (T5, Whisper, MarianMT) + LLMs
  • *antagem:*Muito eficiente para Whisper (ASR); bom para modelos de tradução
  • *uando usar:*Whisper para transcrição; modelos de tradução

Aphrodite Engine

  • *epositório:*github.comPygmalionAIaphrodite-engine
  • *ase:*Fork do vLLM com foco em modelos de roleplay/creative
  • *eatures extras:*Mirostat sampling, Kobold API, LoRA dinâmico
  • *uando usar:*Creative writing; roleplay; Kobold UI

TabbyAPI

  • *epositório:*github.comtheroyallabtabbyAPI
  • *ase:*ExLlamaV2 (quantização EXL2)
  • *antagem:*EXL2 é mais rápido que GGUF em GPU NVIDIA; API para TabbyML
  • *uando usar:*GPU NVIDIA com TABbyML para code completion

Servidores de Inferência por Caso de Uso

Cenário Servidor
Produção NVIDIA — alto throughput vLLM ou TensorRT-LLM
Structured output / agents SGLang
HuggingFace Hub integration TGI
Local sem GPU llama.cpp / Ollama
Desktop do usuário final Ollama / Jan / LM Studio
Browser / WebGPU MLC-LLM
Mobile (iOS/Android) MLC-LLM ou ONNX Runtime
Intel CPU/NPU OpenVINO
Máximo throughput NVIDIA Blackwell TensorRT-LLM com NVFP4

API Padrão: OpenAI-Compatible

Todos os servidores modernos implementam a API da OpenAI:

  • POST /v1/chat/completions
  • POST /v1/completions
  • GET /v1/models

Isso permite trocar o backend sem mudar o código do cliente.


Stack para o Kode

Ambiente Servidor Modelo
Dev local (laptop) Ollama Qwen2.5Coder7B-GGUF Q4KM
Dev local (GPU) vLLM Qwen2.5Coder32B AWQ
Servidor s.r1 (2× RTX 4090) SGLang Qwen2.5Coder32B INT4
Produção (quando H100 disponível) vLLM + TurboQuant Qwen2.5Coder32B FP8

Source: ../home/koder/dev/koder/meta/docs/ia/compendium/05-inferencia/servidores.md