تخطَّ إلى المحتوى

ExLlamaV3 - استدلال LLM مكمم سريع على GPUs المستهلك

ExLlamaV3 - استدلال LLM مكمم سريع على GPUs المستهلك

ExLlamaV3 هي مكتبة استدلال سريعة لتشغيل LLMs مكممة على GPUs NVIDIA الاستهلاكية. صيغة EXL3 الخاصة بها توفر تكميم متغير البت عالي الجودة — يمكنك استهداف متوسط bits-per-weight (مثل 3.0 و 4.25 و 6.0) للتبادل بين الجودة و VRAM بدقة — مما يتيح للنماذج الكبيرة الاحتواء على بطاقة 24GB واحدة مع الحفاظ على إنتاجية قوية. هو الخليفة لـ ExLlamaV2 ويُفضل من قبل مجتمع LLM المحلي لعصر النماذج الكبيرة في الذاكرة المحدودة.

التثبيت

الطريقةالأمر
pip (عجلة مُبنية مسبقاً)pip install exllamav3
من المصدرgit clone https://github.com/turboderp-org/exllamav3 && cd exllamav3 && pip install -e .
المتطلباتNVIDIA GPU (Ampere+) و CUDA و PyTorch
التحققpython -c "import exllamav3; print('ok')"

صيغة EXL3

المفهومالمعنى
معدل البت المتغيراستهداف متوسط bits-per-weight (bpw)، مثل 2.5–8.0
دقة لكل طبقةيمكن للطبقات المختلفة استخدام دقة مختلفة
قرص جودة/الحجمbpw أعلى = جودة أفضل و VRAM أكثر
المعايرةيستخدم مجموعة بيانات المعايرة أثناء التكميم

تكميم نموذج

# تحويل نموذج HF إلى EXL3 في ~4.0 bits per weight
python -m exllamav3.convert \
  -i meta-llama/Llama-3.1-8B-Instruct \
  -o Llama-3.1-8B-exl3-4.0bpw \
  -b 4.0
العلمالوصف
-i, --in_dirنموذج HF المصدر
-o, --out_dirدليل إخراج EXL3
-b, --bitsاستهداف متوسط bits per weight
-hb, --head_bitsدقة رأس الإخراج
-c, --cal_dirبيانات معايرة مخصصة

استدلال Python

from exllamav3 import Model, Config, Cache, Tokenizer, Generator

config = Config.from_directory("Llama-3.1-8B-exl3-4.0bpw")
model = Model.from_config(config)
cache = Cache(model, max_num_tokens=8192)
model.load()

tokenizer = Tokenizer.from_config(config)
generator = Generator(model=model, cache=cache, tokenizer=tokenizer)

output = generator.generate(prompt="Explain quantization briefly.",
                            max_new_tokens=200)
print(output)
الكائنالدور
Configيحمل إعدادات النموذج من دليل EXL3
Modelالنموذج المكمم
Cacheذاكرة التخزين المؤقت KV (حجم = سياق أطول)
Generatorيشغل الجيل

الذاكرة والسياق

الرافعةالتأثير
bpw في وقت التكميمbpw منخفض → VRAM أقل وبعض فقدان الجودة
حجم ذاكرة التخزين المؤقتأكبر → سياق أطول و VRAM أكثر
كميم ذاكرة التخزين المؤقتكميم KV cache لتوسيع السياق
رأس البتإبقاء الرأس بدقة أعلى للجودة

اختيار معدل البت (دليل تقريبي)

استهداف bpwالاستخدام النموذجي
2.0–2.5احتواء نموذج كبير جداً في VRAM ضيقة (انخفاض الجودة)
3.0–3.5عدوانية لكن قابلة للاستخدام
4.0–4.5نقطة حلوة لمعظم إعدادات 24GB
6.0+بدون فقدان تقريباً و VRAM أكثر

تكامل النظام البيئي

الهدفملاحظة
TabbyAPIخادم متوافق مع OpenAI يستخدم ExLlamaV3
text-generation-webuiدعم التحميل
Aphrodite Engineيمكن خدمة نماذج مكممة EXL3

ExLlamaV3 مقابل النهج الأخرى

الجانبExLlamaV3llama.cpp (GGUF)GPTQ/AWQ
الهدفمستهلك NVIDIA GPUsCPU + GPU ومتعدد الأنظمة الأساسيةGPU
التكميممتغير البت EXL3k-quantsثابت 4-بت
التحكم بالدقةدقيق (أي bpw)مستويات محددة مسبقاًخشن
الأفضل لـجودة قصوى لكل VRAM على GPUالحمل والمرونة وCPUخدمة 4-بت معيارية

موارد