Zum Inhalt springen

Aphrodite Engine - High-Throughput LLM Serving Cheatsheet

Aphrodite Engine - High-Throughput LLM Serving Cheatsheet

Aphrodite Engine ist ein hochperformanter LLM Inference und Serving Engine gefärkt aus vLLM. Es baut auf vLLM PagedAttention und Continuous Batching auf, dann fügt zwei Große Differenzierer hinzu: die breiteste Quantisierungs-Format Abdeckung von jedem Engine (GGUF, GPTQ, AWQ, ExLlamaV3, AQLM, BitNet, Marlin, und mehr, plus Quantisierte KV Cache) und Advanced Samplers (DRY, XTC, Mirostat), die für Chat/Creative Nutzung zählen. Es exponiert eine OpenAI-kompatible API, damit es in bestehende Clients passt.

Installation

MethodeBefehl
pippip install aphrodite-engine
Starte den Serveraphrodite run <model>
Dockerdocker run --gpus all -p 2242:2242 alpindale/aphrodite-openai
AnforderungenNVIDIA GPU + CUDA (AMD/ROCm auf einigen Builds unterstützt)
Überprüfenaphrodite --version

Starte einen Server

# Serve ein Modell mit einem OpenAI-kompatiblen API auf Port 2242
aphrodite run meta-llama/Llama-3.1-8B-Instruct

# Serve ein Quantisiertes GGUF Modell
aphrodite run ./model.Q4_K_M.gguf --quantization gguf

# Multi-GPU Tensor Parallelism
aphrodite run big-model --tensor-parallel-size 2
FlagBeschreibung
--quantizationFormat: gguf, gptq, awq, exl3, fp8, …
--tensor-parallel-size NTeile das Modell über N GPUs
--max-model-len NContext Length
--gpu-memory-utilization 0.9Fraktion des VRAM zu nutzen
--kv-cache-dtype fp8Quantisiere den KV Cache zum Speicher sparen
--dtypeModell Compute Dtype (auto, half, bfloat16)
--port 2242API Port
--api-keys KEYErfordere einen API Schlüssel

OpenAI-Kompatible API

curl http://localhost:2242/v1/completions \
  -H "Content-Type: application/json" \
  -d '{"model":"default","prompt":"Hello","max_tokens":50}'
EndpointZweck
/v1/completionsText Completion
/v1/chat/completionsChat Completion
/v1/modelsListe geladen Modelle auf
/v1/embeddingsEmbeddings (Embedding Modelle)

Quantisierungs Formate

FormatNutzung
GGUFllama.cpp-Style k-Quants (Community Modelle)
GPTQ / AWQBeliebte 4-Bit Weight-Only Formate
ExLlamaV3 (exl3)Hochqualität Variable-Bit Quantisierung
AQLM / QuIP#Extreme Low-Bit
MarlinSchnelle GPTQ/AWQ Kernels
fp88-Bit Float Weights/Activations

Die Breite ist der Punkt: Aphrodite kann Community-Quantisierte Modelle serve, die Vanilla vLLM nicht laden kann.

Advanced Samplers

SamplerEffekt
DRY”Nicht wiederhole Dich selbst” — reduziert verbatim Wiederholung
XTCAusschließe Top Choises — steigert Kreativität
MirostatZiele auf eine Perplexität Setpoint
min_p, top_a, tfsZusätzliche Kürzung Samplers

Durchreichen diese als Extra Felder in der Anfrage (z.B. "dry_multiplier": 0.8).

Performance Tuning

OptionEffekt
--tensor-parallel-sizeSkaliere über GPUs
--kv-cache-dtype fp8Passe länger Kontext / mehr Concurrency an
--max-num-seqsConcurrency (Batch) Limit
--enforce-eagerDeaktiviere CUDA Graphs (Debugging)
--quantizationTrade Qualität für Speicher/Geschwindigkeit

Aphrodite vs Andere Inference Engines

AspektAphroditevLLMllama.cpp
BasevLLM ForkOriginalC/C++
Quant AbdeckungBreitesteWachsendGGUF k-Quants
SamplersDRY/XTC/MirostatStandardViele
Beste fürCommunity-Quantisierte Modelle, ChatMax Throughput, Standard FormateCPU/Edge, GGUF

Ressourcen