Transformers documentation
llama.cpp
ابدأ الآن
الفئات الأساسية
النماذج
المعالجات المسبقة
الاستدلال
واجهة برمجة التطبيقات Pipeline
توليد واجهة برمجة التطبيقات
التحسين
التحدث مع النماذج
التقديم
التدريب
الأجهزة
التكميم
التكاملات مع النظام البيئي
الموارد
واجهة برمجة التطبيقات
You are viewing main version, which requires installation from source. If you'd like
regular pip install, checkout the latest stable version (v5.22.1).
llama.cpp
llama.cpp هو محرك استدلال بلغة C/C++ لنشر نماذج اللغة الكبيرة محليًا. إنه خفيف الوزن ولا يتطلب Python أو CUDA أو أي بنية تحتية ثقيلة للخوادم. يستخدم llama.cpp صيغة الملفات GGUF. تدعم GGUF أوزان النماذج المُكمّمة (quantized) وتعيين الذاكرة (memory-mapping) لتقليل عرض نطاق الذاكرة على جهازك.
تصفّح Hub للبحث عن النماذج المتاحة بالفعل بتنسيق GGUF.
قم بتحويل أي نموذج من نماذج Transformers إلى صيغة GGUF باستخدام سكربت convert_hf_to_gguf.py.
python3 convert_hf_to_gguf.py ./models/openai/gpt-oss-20b \ --outfile gpt-oss-20b.gguf \
انشر النموذج محليًا من سطر الأوامر باستخدام llama-cli أو ابدأ واجهة ويب باستخدام llama-server. أضف العلم -hf للإشارة إلى أن النموذج من Hub.
llama-cli
llama-server
llama-cli -hf ggml-org/gpt-oss-20b-GGUF
llama-server -hf ggml-org/gpt-oss-20b-GGUF
تكامل Transformers
- تحمّل AutoConfig.from_pretrained() ملف
config.jsonالخاص بالنموذج لاستخراج البيانات الوصفية. - يستخرج AutoTokenizer.from_pretrained() مفردات النموذج وإعدادات المرمّز.
- بناءً على حقل
architecturesفي ملف الإعداد، يختار السكربت فئة المحوّل من سجلّه الداخلي. يقوم السجل بربط أسماء معماريات Transformers (مثل LlamaForCausalLM) بفئات المحوّل المقابلة لها. - يقوم المحوّل بربط أسماء تensors في Transformers (على سبيل المثال،
model.layers.0.self_attn.q_proj.weight) بأسماء تensors في GGUF، وتحويل التensors، وتغليف المفردات. - المخرَج هو ملف GGUF واحد يحتوي على أوزان النموذج ومُقسِّم الرموز (tokenizer) والبيانات الوصفية.
الموارد
- توثيق llama.cpp
- مقال مقدمة إلى ggml