Ir al contenido

Aphrodite Engine - Servicio LLM de Alto Rendimiento

Aphrodite Engine - Servicio LLM de Alto Rendimiento

Aphrodite Engine es un motor de inferencia y servicio LLM de alto rendimiento bifurcado de vLLM. Se construye sobre PagedAttention de vLLM y batching continuo, luego agrega dos grandes diferenciadores: la cobertura más amplia de formatos de cuantización de cualquier motor (GGUF, GPTQ, AWQ, ExLlamaV3, AQLM, BitNet, Marlin, y más, plus caché KV cuantizado) y muestreadores avanzados (DRY, XTC, Mirostat) que importan para chat/uso creativo. Expone una API compatible con OpenAI, así que se integra en clientes existentes.

Instalación

MétodoComando
pippip install aphrodite-engine
Ejecutar el servidoraphrodite run <model>
Dockerdocker run --gpus all -p 2242:2242 alpindale/aphrodite-openai
RequisitosGPU NVIDIA + CUDA (AMD/ROCm soportado en algunas compilaciones)
Verificaraphrodite --version

Iniciando un Servidor

# Servir un modelo con una API compatible con OpenAI en puerto 2242
aphrodite run meta-llama/Llama-3.1-8B-Instruct

# Servir un modelo GGUF cuantizado
aphrodite run ./model.Q4_K_M.gguf --quantization gguf

# Paralelismo de tensor multi-GPU
aphrodite run big-model --tensor-parallel-size 2
BanderaDescripción
--quantizationFormato: gguf, gptq, awq, exl3, fp8, …
--tensor-parallel-size NDividir el modelo a través de N GPUs
--max-model-len NLongitud de contexto
--gpu-memory-utilization 0.9Fracción de VRAM a usar
--kv-cache-dtype fp8Cuantizar la caché KV para ahorrar memoria
--dtypeDtype de cálculo del modelo (auto, half, bfloat16)
--port 2242Puerto API
--api-keys KEYRequerir una clave API

API Compatible con OpenAI

curl http://localhost:2242/v1/completions \
  -H "Content-Type: application/json" \
  -d '{"model":"default","prompt":"Hello","max_tokens":50}'
EndpointPropósito
/v1/completionsCompletación de texto
/v1/chat/completionsCompletación de chat
/v1/modelsListar modelos cargados
/v1/embeddingsIncrustaciones (modelos de incrustación)

Formatos de Cuantización

FormatoUso
GGUFEstilo llama.cpp k-quants (modelos comunitarios)
GPTQ / AWQFormatos populares de solo peso de 4-bit
ExLlamaV3 (exl3)Cuantización de tasa de bits variable de alta calidad
AQLM / QuIP#Bajo-bit extremo
MarlinKernels rápidos GPTQ/AWQ
fp8Pesos/activaciones flotantes de 8-bit

La amplitud es el punto: Aphrodite puede servir modelos cuantizados por la comunidad que vLLM vanilla no puede cargar.

Muestreadores Avanzados

MuestreadorEfecto
DRY”Don”t Repeat Yourself” — reduce la repetición verbatim
XTCExclude Top Choices — aumenta la creatividad
MirostatApunta a un setpoint de perplejidad
min_p, top_a, tfsMuestreadores de truncamiento adicionales

Pasa estos como campos adicionales en la solicitud (p. ej. "dry_multiplier": 0.8).

Afinación de Rendimiento

OpciónEfecto
--tensor-parallel-sizeEscalar a través de GPUs
--kv-cache-dtype fp8Ajustar contexto más largo / más concurrencia
--max-num-seqsLímite de concurrencia (lote)
--enforce-eagerDesactivar gráficos CUDA (depuración)
--quantizationCompensar calidad por memoria/velocidad

Aphrodite vs Otros Motores de Inferencia

AspectoAphroditevLLMllama.cpp
BaseBifurcación de vLLMOriginalC/C++
Cobertura de cuantLa más ampliaCrecienteGGUF k-quants
MuestreadoresDRY/XTC/MirostatEstándarMuchos
Mejor paraModelos cuantizados por comunidad, chatMáximo throughput, formatos estándarCPU/edge, GGUF

Recursos