Salta ai contenuti

Aphrodite Engine - Servizio LLM ad Alta Throughput

Aphrodite Engine - Servizio LLM ad Alta Throughput

Aphrodite Engine è un motore di inferenza e servizio LLM ad alte prestazioni biforcato da vLLM. Si costruisce su PagedAttention e continuous batching di vLLM, quindi aggiunge due grandi differenziatori: la copertura di quantizzazione più ampia di qualsiasi motore (GGUF, GPTQ, AWQ, ExLlamaV3, AQLM, BitNet, Marlin e altro, più cache KV quantizzato) e sampler avanzati (DRY, XTC, Mirostat) che importano per l”uso chat/creativo. Espone un”API compatibile con OpenAI, quindi si inserisce nei client esistenti.

Installazione

MetodoComando
pippip install aphrodite-engine
Esegui il serveraphrodite run <model>
Dockerdocker run --gpus all -p 2242:2242 alpindale/aphrodite-openai
RequisitiGPU NVIDIA + CUDA (AMD/ROCm supportato su alcuni build)
Verificaaphrodite --version

Avvio di un Server

# Servi un modello con un''API compatibile con OpenAI sulla porta 2242
aphrodite run meta-llama/Llama-3.1-8B-Instruct

# Servi un modello GGUF quantizzato
aphrodite run ./model.Q4_K_M.gguf --quantization gguf

# Tensor parallelism multi-GPU
aphrodite run big-model --tensor-parallel-size 2
FlagDescrizione
--quantizationFormato: gguf, gptq, awq, exl3, fp8, …
--tensor-parallel-size NDividi il modello su N GPU
--max-model-len NLunghezza del contesto
--gpu-memory-utilization 0.9Frazione di VRAM da usare
--kv-cache-dtype fp8Quantizza il cache KV per risparmiare memoria
--dtypeDtype di calcolo del modello (auto, half, bfloat16)
--port 2242Porta API
--api-keys KEYRichiedi una chiave API

API Compatibile con OpenAI

curl http://localhost:2242/v1/completions \
  -H "Content-Type: application/json" \
  -d '{"model":"default","prompt":"Hello","max_tokens":50}'
EndpointScopo
/v1/completionsCompletamento del testo
/v1/chat/completionsCompletamento del chat
/v1/modelsElenca i modelli caricati
/v1/embeddingsEmbeddings (modelli di embedding)

Formati di Quantizzazione

FormatoUso
GGUFStile llama.cpp k-quants (modelli della comunità)
GPTQ / AWQFormati weight-only 4-bit popolari
ExLlamaV3 (exl3)Quantizzazione variable-bit ad alta qualità
AQLM / QuIP#Bit-estremamente bassi
MarlinKernel GPTQ/AWQ veloci
fp8Pesi/attivazioni 8-bit float

L”ampiezza è il punto: Aphrodite può servire modelli quantizzati dalla comunità che vLLM vanilla non può caricare.

Sampler Avanzati

SamplerEffetto
DRY”Don”t Repeat Yourself” — riduce la ripetizione verbatim
XTCExclude Top Choices — aumenta la creatività
MirostatSi rivolge a un setpoint di perplessità
min_p, top_a, tfsSampler di troncamento aggiuntivi

Passa questi come campi extra nella richiesta (es. "dry_multiplier": 0.8).

Tuning delle Prestazioni

OpzioneEffetto
--tensor-parallel-sizeScala su GPU
--kv-cache-dtype fp8Adatta contesto più lungo / più concorrenza
--max-num-seqsLimite di concorrenza (batch)
--enforce-eagerDisabilita i grafici CUDA (debug)
--quantizationScambia qualità per memoria/velocità

Aphrodite vs Altri Motori di Inferenza

AspettoAphroditevLLMllama.cpp
BaseFork di vLLMOriginaleC/C++
Copertura quantPiù ampiaCrescenteGGUF k-quants
SamplerDRY/XTC/MirostatStandardMolti
Migliore perModelli quantizzati dalla comunità, chatThroughput massimo, formati standardCPU/edge, GGUF

Risorse