Aphrodite Engine - خدمة LLM عالية الإنتاجية
Aphrodite Engine هو محرك استدلال وخدمة LLM عالي الأداء المنسوخ من vLLM. يبني على PagedAttention و continuous batching من vLLM، ثم يضيف اثنان من المميزات الكبيرة: تغطية تنسيق تكميم الأوسع لأي محرك (GGUF و GPTQ و AWQ و ExLlamaV3 و AQLM و BitNet و Marlin وغيره، بالإضافة إلى ذاكرة التخزين المؤقت KV المكممة) و محاكيات متقدمة (DRY و XTC و Mirostat) التي تهم لاستخدام الدردشة/الإبداعي. يكشف واجهة برمجية متوافقة مع OpenAI، لذا يمكن إسقاطها في عملاء موجودة.
التثبيت
| الطريقة | الأمر |
|---|
| pip | pip install aphrodite-engine |
| قم بتشغيل الخادم | aphrodite run <model> |
| Docker | docker run --gpus all -p 2242:2242 alpindale/aphrodite-openai |
| المتطلبات | NVIDIA GPU + CUDA (AMD/ROCm مدعومة في بعض البنى) |
| التحقق | aphrodite --version |
بدء الخادم
# خدمة نموذج مع واجهة برمجية متوافقة مع OpenAI على المنفذ 2242
aphrodite run meta-llama/Llama-3.1-8B-Instruct
# خدمة نموذج GGUF مكمم
aphrodite run ./model.Q4_K_M.gguf --quantization gguf
# Tensor parallelism متعدد GPU
aphrodite run big-model --tensor-parallel-size 2
| العلم | الوصف |
|---|
--quantization | الصيغة: gguf و gptq و awq و exl3 و fp8 و … |
--tensor-parallel-size N | تقسيم النموذج عبر N GPUs |
--max-model-len N | طول السياق |
--gpu-memory-utilization 0.9 | جزء من VRAM للاستخدام |
--kv-cache-dtype fp8 | كمّم ذاكرة التخزين المؤقت KV لحفظ الذاكرة |
--dtype | dtype حساب النموذج (auto و half و bfloat16) |
--port 2242 | منفذ API |
--api-keys KEY | مطلوب مفتاح API |
واجهة برمجية متوافقة مع OpenAI
curl http://localhost:2242/v1/completions \
-H "Content-Type: application/json" \
-d '{"model":"default","prompt":"Hello","max_tokens":50}'
| نقطة نهاية | الغرض |
|---|
/v1/completions | استكمال النص |
/v1/chat/completions | استكمال الدردشة |
/v1/models | قوائس النماذج المحملة |
/v1/embeddings | التضمينات (نماذج التضمين) |
تنسيقات التكميم
| الصيغة | الاستخدام |
|---|
| GGUF | نمط llama.cpp k-quants (نماذج المجتمع) |
| GPTQ / AWQ | تنسيقات 4-بت شهيرة |
| ExLlamaV3 (exl3) | تكميم متغير البت عالي الجودة |
| AQLM / QuIP# | البت المنخفضة للغاية |
| Marlin | مراوى GPTQ/AWQ سريعة |
| fp8 | أوزان عائمة 8-بت/تفعيلات |
الاتساع هو النقطة: يمكن لـ Aphrodite خدمة نماذج مكممة من المجتمع التي لا يمكن لـ vLLM الفانيليا تحميلها.
محاكيات متقدمة
| محاكاة | التأثير |
|---|
| DRY | ”Don”t Repeat Yourself” — يقلل التكرار الحرفي |
| XTC | استبعد الخيارات الأعلى — تعزيز الإبداع |
| Mirostat | الهدف إلى نقطة perplexity |
min_p و top_a و tfs | محاكيات truncation إضافية |
مرر هذه كحقول إضافية في الطلب (مثل "dry_multiplier": 0.8).
ضبط الأداء
| الخيار | التأثير |
|---|
--tensor-parallel-size | مقياس عبر GPUs |
--kv-cache-dtype fp8 | احتواء سياق أطول / مزيد من التزامن |
--max-num-seqs | حد التزامن (دفعة) |
--enforce-eager | تعطيل رسوم بيانات CUDA (التصحيح) |
--quantization | التبادل بين الجودة والذاكرة/السرعة |
Aphrodite مقابل محركات الاستدلال الأخرى
| الجانب | Aphrodite | vLLM | llama.cpp |
|---|
| القاعدة | vLLM fork | الأصلي | C/C++ |
| تغطية التكميم | الأوسع | متزايد | GGUF k-quants |
| محاكيات | DRY/XTC/Mirostat | معياري | الكثير |
| الأفضل لـ | نماذج مكممة من المجتمع والدردشة | الحد الأقصى من الإنتاجية والتنسيقات المعيارية | CPU/edge و GGUF |
موارد