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.comhuggingfacetext
generationinference - *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:*OpenAI
compatible + 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-servercom 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/completionsPOST /v1/completionsGET /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.5 |
| Dev local (GPU) | vLLM | Qwen2.5 |
| Servidor s.r1 (2× RTX 4090) | SGLang | Qwen2.5 |
| Produção (quando H100 disponível) | vLLM + TurboQuant | Qwen2.5 |