Sunday, 25 October 2026 | التحديث اليومي نظرة ثاقبة للذكاء الاصطناعي، مكتوبة للبناة

نماذج GGUF: ما هي وكيفية تشغيلها

  • GGUF هو صيغة حاوية ملف واحد للنماذج المكممة، تم إنشاؤها بواسطة llama.cpp. ملف واحد .gguf يحتوي على الأوزان والمرمزات ونموذج الدردشة والبيانات الوصفية — بدون مجلد إعدادات، بدون ملفات مرمزات منفصلة.
  • GGUF models are what Ollama, LM Studio, KoboldCppو Jan و llama.cpp بتحميله فعليًا. إذا قمت بتشغيل نموذج محليًا على أجهزة المستهلك، فأنت بكل تأكيد تشغل GGUF.
  • الخيار الافتراضي: Q4_K_M. تقريبًا 0.6 GB من الملف لكل مليار معامل — يصل نموذج 8B إلى حوالي 5 GB، وهو ما يطابق رقم 4-bit بحوالي 5 GB الذي Convly يسرده Llama 3.1 8B.
  • GGUF مخصص للاستدلال المحلي لمستخدم واحد. لخدمة متزامنة استخدم safetensors مع vLLM أو API بدلاً من ذلك.

GGUF (GPT-Generated Unified Format) هي صيغة الملف التي يستخدمها نظام llama.cpp/ggml لتخزين نموذج جاهز للاستدلال. ملف واحد .gguf يحتوي على الموترات المكممة بالإضافة إلى كل شيء مطلوب لاستخدامها: المفردات وإعدادات المرمزات ونموذج الدردشة وبيانات وصف البنية. حل محل صيغة GGML الأقدم في أغسطس 2023 وهو الآن معيار فعلي لتشغيل النماذج على أجهزة الكمبيوتر المحمولة وأجهزة سطح المكتب والمعالجات.

ما هو بالضبط داخل ملف .gguf

ملف GGUF يتكون من رأس (header)، وكتلة بيانات وصفية (metadata) مفتاح-قيمة، ثم بيانات الموتّرات (tensor). البيانات الوصفية هي الجزء المهم عمليًا — وهذا السبب في أن نموذج GGUF لا يحتاج إلى ملفات مرافقة. توثيق Hugging Face GGUF يصف التخطيط ومشاهد بيانات GGUF المدمجة في Hub، الذي يتيح لك فحص نوع التكميم، طول السياق، ونموذج الدردشة للملف قبل تنزيل عدة جيجابايت منه.

المفاتيح الوصفية النمطية تشمل العمارة (Llama, qwen3, gemma3, phi3)، طول سياق التدريب، إعدادات RoPE، المفردات الكاملة، ونموذج دردشة Jinja. يقرأ المُحمّل (loader) تلك الكتلة ويضبط نفسه؛ أنت لا تمرر tokenizer أو صيغة prompt يدويًا.

مقارنة بين GGUF وsafetensors

GGUF safetensors
وقت التشغيل الأساسي llama.cpp, Ollama, LM Studio PyTorch, vLLM, Transformers, TGI
ملفات لكل نموذج ملف واحد (أو عُند مرقمة) أوزان بالإضافة إلى مجلد الإعدادات/المحلل اللغوي
Quantization مدمج (Q4_K_M, Q8_0, IQ…) عادة FP16/BF16، أو متغيرات GPTQ/AWQ
CPU بالإضافة إلى إزاحة GPU جزئية نعم، هدف التصميم الأساسي محدود وبطيء
خدمة دفعية متزامنة ضعيف قوي
الضبط الدقيق لا (تحويل مرة أخرى أولاً) نعم

كيفية قراءة اسم ملف GGUF

عادة ما تُسمى الملفات Model-Name-8B-Instruct-Q4_K_M.gguf. اللاحقة هي مزيج التكميم. الرقم هو عرض البت الاسمي؛ _K تعني k-quants، التي تحافظ على موتّرات الاهتمام والتضمين بدقة أعلى من أوزان التغذية الأمامية الرئيسية؛ S/M/L متغيرات صغيرة/متوسطة/كبيرة من هذا المزيج.

التكميم بت تقريبي لكل وزن الحجم التقريبي، نموذج 8B متى تستخدمه
Q8_0 ~8.5 ~8.5 GB مرجع قريب من عدم الفقدان؛ نماذج صغيرة فقط
Q6_K ~6.6 ~6.6 GB لديك VRAM احتياطي
Q5_K_M ~5.7 ~5.7 GB الافتراضي الميل نحو الجودة
Q4_K_M ~4.9 ~4.9 GB الافتراضي المعتاد
Q4_0 ~4.5 ~4.5 غيغابايت وراثي؛ بعض المسرعات تفضله
Q3_K_M ~3.9 ~4.0 GB دس نموذج أكبر في VRAM صغير
Q2_K / IQ2 ~2.5–3.4 ~2.5–3.4 GB آخر ملاذ؛ تدهور ملحوظ

تعامل مع عمود البت-لكل-الوزن كتقريب. تتغير الأحجام الفعلية مع عمارة النموذج (قاموس كبير ينتفخ موتّرات التضمين) وإصدار llama.cpp، لأن مزيج التكميم يتم ضبطه بمرور الوقت. عائلة IQ IQ (من IQ2_XXS إلى IQ4_NL) تستخدم معايرة مصفوفة الأهمية للحفاظ على جودة أفضل عند عروض بت منخفضة جدًا، والمكممات مثل Bartowski و Unsloth تنشر متغيرات IQ جنبًا إلى جنب مع K-quants القياسية.

إجماع المجتمع، لا قياس Convly، هو أن Q4_K_M هو النقطة الحلوة وأن الجودة تنخفض بشكل حاد أقل من حوالي 3 بت لكل وزن — النماذج الصغيرة تتدهور أسرع من النماذج الكبيرة بنفس التكميم.

التحجيم: أي نماذج GGUF تناسب GPU الخاص بك

حجم الملف هو الحد الأدنى، وليس الإجمالي. أضف ذاكرة التخزين المؤقت KV لطول السياق الخاص بك بالإضافة إلى حوالي 500 MB–1 GB من الحمل الإضافي. تأتي هذه الأرقام 4-bit من Convly:

النموذج VRAM عند تكميم 4 بت السياق GPU واقعي
Gemma 3 4B ~3 جيجابايت 128 ألف رمز أي بطاقة 6 GB، GPU متكاملة
Mistral 7B ~4.5 غيغابايت 32K بطاقة 8 GB
Llama 3.1 8B ~5 غيغابايت 128 ألف رمز بطاقة 8 GB
Qwen3 14B ~9 جيجابايت 128 ألف رمز بطاقة 12 GB
Phi-4 ~9 جيجابايت 16 ألف رمز بطاقة 12 GB
Gemma 3 27B حوالي 16 جيجابايت 128 ألف رمز بطاقة 24 GB
Qwen3 32B ~20 جيجابايت 128 ألف رمز بطاقة 24 GB
Llama 3.3 70B ~40 جيجابايت 128 ألف رمز 2×24 GB، أو 48 GB ذاكرة موحدة
DeepSeek R1 (كاملة) نحو 400 جيجابايت 128 ألف رمز خادم متعدد GPU فقط

نماذج Mixture-of-Experts هي الفخ هنا. Qwen3 30B-A3B تفعّل فقط ~3B معاملات لكل رمز لكن تحتاج أيضًا إلى ~18 GB كاملة مقيمة. في الطرف الآخر، قاعدة البيانات تضع Kimi K3 عند ~1.4 TB بـ 4-bit — ملف GGUF موجود من حيث المبدأ، لكن لا آلة واحدة تملكها ستحتفظ به. للحصول على رقم دقيق بطول السياق الخاص بك، استخدم حاسبة VRAM أو التفصيل حسب النموذج في متطلبات ذاكرة VRAM لكل نموذج لغوي رئيسي. إذا كنت لا تزال تختار الأجهزة، أفضل GPUs للنماذج اللغوية المحلية يغطي مقابلة VRAM-per-dollar.

أين تحمل نماذج GGUF

  • Hugging Face — صفّ قائمة النموذج مع library=gguf. معظم المستودعات توفر كل التكميمات في مستودع واحد؛ حمّل الملف الذي تحتاجه فقط، وليس المستودع كاملاً.
  • مكتبة Ollama — ollama.com/library يوفر GGUF معبأة مسبقاً مع قالب الدردشة المدمج بالفعل. انظر إلى قائمة نماذج Ollama.
  • LM Studio — علامة التبويب "اكتشف" في التطبيق تبحث في مستودعات Hugging Face GGUF وتحدد التكميمات المناسبة لذاكرة الوصول العشوائي/VRAM المكتشفة لديك. شرح: دليل LM Studio الكامل.

تصل النماذج الكبيرة مقسمة إلى model-00001-of-00003.gguf وهكذا. حمّل كل جزء في نفس المجلد وأشر محمل البيانات إلى الجزء 00001 — سيجد البقية بنفسه.

تشغيل نماذج GGUF على Linux

بناء llama.cpp مع دعم CUDA:

git clone https://github.com/ggml-org/llama.cpp
cd llama.cpp
cmake -B build -DGGML_CUDA=ON
cmake --build build --config Release -j

تُوضع الملفات الثنائية في build/bin/. ابدأ خادم متوافق مع OpenAI:

./build/bin/llama-server -m ~/models/model-Q4_K_M.gguf -c 8192 -ngl 99 --port 8080

-ngl (--n-gpu-layers) هو قرص الإفراغ: 99 يعني «جميع الطبقات على GPU»، 0 يعني CPU فقط، والقيم الوسيطة تقسم النموذج عندما لا يناسب الذاكرة. -c يعيّن السياق؛ تركه عند السياق المدرب الكامل للنموذج قد يكلف VRAM أكثر من الأوزان. الطرف النهائي هو إذاً http://localhost:8080/v1/chat/completions.

تحذيرات الإصدار: علم CMake كان LLAMA_CUBLAS في الإصدارات الأقدم، وأعيدت تسمية الملفات الثنائية («main → llama-cli, server → llama-server») في 2024. تحقق من ملف README في المستودع للبناء الذي استنسخته. بالنسبة لمعالجات AMD أو Intel، استبدل علم الواجهة الخلفية ROCm/Vulkan/SYCL الموثق هناك بدلاً من التخمين.

إذا استخدمت Ollama بدلاً من ذلك، تعيش النماذج في /usr/share/ollama/.ollama/models عندما يعمل كخدمة نظام، أو ~/.ollama/models لتثبيت المستخدم. انظر إلى كيفية تثبيت منصة Ollama.

تشغيل نماذج GGUF على macOS

Apple Silicon استثنائية جداً لـ GGUF لأن الذاكرة المشتركة تعني أن GPU يمكنها الوصول إلى معظم ذاكرة النظام — يمكن لـ Mac بـ 64 GB أن يستوعب نموذج ~40 GB بـ 4-bit 70B لن يتسع في بطاقتي GPU بـ 24 GB.

brew install llama.cpp
llama-server -m ~/models/model-Q4_K_M.gguf -c 8192 --port 8080

يتم تفعيل إفراغ Metal في بناء Homebrew، لذا عادة لا تحتاج إلى -ngl. يحد macOS من مقدار الذاكرة العشوائية التي قد يطلبها GPU (قابل للتعديل عبر iogpu sysctl، والذي يختلف حسب إصدار macOS)، لذا اترك مجالاً للنظام. يخزن Ollama النماذج في ~/.ollama/models؛ يستخدم LM Studio ~/.lmstudio/models في الإصدارات الحالية و ~/.cache/lm-studio/models في الإصدارات الأقدم — علامة التبويب My Models تعرض وتغير المسار الفعلي.

تشغيل نماذج GGUF على Windows

ثلاث طرق، الأسهل أولاً:

  1. LM Studio — مثبت واجهة رسومية، بحث النموذج في التطبيق، تبديل خادم محلي. الخيار الافتراضي الأفضل للمطورين بلا خبرة.
  2. Ollama — مثبت Windows أصلي؛ تذهب النماذج إلى C:Users.ollamamodels. اضبط متغير البيئة OLLAMA_MODELS لنقلها بعيداً عن محرك النظام. الخلفية: ما هو Ollama.
  3. ملفات ثنائية مُجمّعة مسبقاً لـ llama.cpp — تنشر صفحة GitHub Releases إصدارات Windows مضغوطة لكل واجهة خلفية (CUDA و Vulkan و CPU). فك الضغط والتشغيل llama-server.exe -m model.gguf -ngl 99 من PowerShell. اختر بناء CUDA لـ NVIDIA؛ Vulkan هو البديل الآمن عبر البائعين لـ AMD و Intel Arc.

مشاكل خاصة بـ Windows: المسح الفوري في Defender يبطئ التحميل الأول لملف بعدة جيجابايت، وتشغيل llama.cpp داخل WSL2 يكلفك شريحة من الذاكرة للجهاز الافتراضي. عادةً ما تكون إصدارات Windows الأصلية الطريق الأبسط.

تحميل GGUF عشوائي في Ollama

يمكن لإصدارات Ollama الحديثة السحب مباشرة من Hugging Face:

ollama run hf.co//:Q4_K_M

لملف محلي، اكتب Modelfile في نفس المجلد:

FROM ./model-Q4_K_M.gguf

ثم ollama create my-model -f Modelfile و ollama run my-model. إذا كان GGUF يفتقد قالب دردشة قابلاً للاستخدام، أضف TEMPLATE و PARAMETER stop سطر — توجيهات Modelfile الدقيقة زادت عبر الإصدارات، لذا تحقق من ollama help create لنسختك. اختيارات مختارة: أفضل نماذج اللغة المحلية (LLMs) لـ Ollama.

عندما لا يكون GGUF هو الإجابة الصحيحة

GGUF optimizes one user at a time. Serving many concurrent requests, or needing tensor parallelism across GPUs, points to safetensors with vLLM or SGLang. And running locally is not automatically cheaper: hosted Llama 3.3 70B is $0.10 in / $0.32 out per 1M tokens, while frontier hosted models like Claude Sonnet 5 تصل إلى $2.00 دخول / $10.00 خروج لكل 1 مليون رمز لسياق 1 مليون. شغّل حجمك الخاص عبر حاسبة تكلفة واجهة برمجة التطبيقات (API) و self-hosting vs API break-even calculator قبل شراء وحدة GPU.

GGUF مقابل safetensors و AWQ و GPTQ

الصيغة وقت التشغيل الأساسي الدقة الأفضل لـ
GGUF llama.cpp, Ollama, LM Studio من 2 إلى 8 بت + F16 وحدة معالجة مركزية (CPU)، أو مزيج من CPU/GPU، أو Apple Silicon، أو استخدام فردي
Safetensors (FP16/BF16) Transformers، vLLM 16 بت التدريب، والبحث، والاستنتاج بدقة كاملة
AWQ vLLM، AutoAWQ 4 بت الاستخدام عالي الإنتاجية على وحدات معالجة الرسومات (GPU)
GPTQ vLLM، ExLlamaV2 من 3 إلى 8 بت الاستنتاج على وحدة معالجة الرسومات فقط مع دعم التجميع (batching)
MLX MLX (Apple) 4–16 بت مخصص لرقاقات Apple Silicon فقط

اختر تنسيق GGUF عند استهداف مستخدم واحد على أجهزة متنوعة أو عندما ترغب في تشغيل النموذج على وحدة معالجة مركزية (CPU) بأي شكلٍ من الأشكال. أما عند خدمة عدد كبير من المستخدمين المتزامنين على وحدة معالجة رسومية (GPU) في مركز بيانات، فاختر vLLM مع ملفات safetensors المُكمَّنة بـ AWQ أو GPTQ.

تحويل نموذج إلى صيغة GGUF

إذا وُجد نموذج ما على Hugging Face بصيغة safetensors لكن لم يُكمَّن بعدُ من قِبل أحد، فإن سير العمل يكون كالتالي:

# في مستودع llama.cpp
pip install -r requirements.txt
python convert_hf_to_gguf.py /path/to/hf-model --outfile model-f16.gguf
./build/bin/llama-quantize model-f16.gguf model-Q4_K_M.gguf Q4_K_M

يدعم نص التحويل فقط هياكل النماذج التي علَّمتها llama.cpp — مثل llama وmistral وqwen2/3 وgemma وphi، إضافةً إلى قائمة متزايدة من الهياكل الأخرى. أما الهياكل الجديدة (novel architectures) فتتطلب تعديلًا في الكود أولًا. وقد تغيَّرت أسماء الملفات والعلمات (flags) في النص بين إصدارات llama.cpp، لذا تأكَّد من مراجعة python convert_hf_to_gguf.py --help بالنسبة للإصدار الذي قمت ببنائه من المصدر.

لمعرفة مصدر التنسيق وكيف استبدل GGUF GGML، انظر ما هو GGUF?.

الأسئلة الشائعة

ماذا يعني GGUF، وكيف يختلف عن GGML؟

GGUF يرمز إلى GPT-Generated Unified Format. GGML كان التنسيق الأقدم من نفس المشروع؛ كان يكسر التوافقية كلما كانت هناك حاجة لبيانات وصفية جديدة. أضاف GGUF كتلة بيانات وصفية قابلة للتوسع بمفاتيح-قيم بحيث يمكن إضافة معماريات وخيارات جديدة دون إبطال الملفات القديمة. ملفات ما قبل GGUF أو .bin ملفات GGML لم تعد تُحمَّل في llama.cpp الحالية.

أي تكمين يجب أن أحمّله؟

ابدأ بـ Q4_K_M. إذا ترك النموذج عدة جيجابايتات من VRAM حرة، انتقل إلى Q5_K_M أو Q6_K. إذا لم يناسب، فضّل نموذجاً أصغر بـ Q4_K_M على نفس النموذج عند Q2_K — نموذج 14B بـ 4 بت يتفوق عموماً على 32B مشوه لـ 2 بت. تحقق المناسبة مع حاسبة VRAM بطول السياق المقصود.

هل يمكنني تشغيل نماذج GGUF بدون GPU؟

Yes — CPU-only inference is what GGUF was built for. Speed is bound by memory bandwidth, so expect single-digit tokens per second for a 7B–8B model at Q4_K_M on typical dual-channel desktop RAM, and slower for anything larger. Small models like Gemma 3 4B (~3 GB at 4-bit) are the practical CPU-only choice.

هل يمكنني تحويل نموذج من Hugging Face إلى GGUF بنفسي؟

نعم. يأتي llama.cpp مع سكريبت تحويل ("convert_hf_to_gguf.py في الإصدارات الحالية؛ استخدمت اسم الملف شرطات في الإصدارات الأقدم) ينتج GGUF F16، ثم ثنائي llama-quantize يضغطه إلى كم مستهدف. تحقق من --help في النسخة التي استنسختها، وأكد أن معمارتك مدعومة قبل البدء — المعماريات غير المدعومة تفشل في التحويل.

هل تدعم نماذج GGUF الرؤية أو استدعاء الأدوات؟

استدعاء الأداة يعمل حيث يعرّف قالب الدردشة الخاص بالنموذج ذلك ومحمّل قياسك يشرّف القالب. النماذج المتعددة الأنماط تحتاج ملف ثاني — mmproj GGUF يحمل محقق الرؤية — محمّل جنباً إلى جنب مع أوزان النص. تم إعادة تسمية والتنظيم أدوات الوسائط المتعددة في llama.cpp أكثر من مرة، لذا اتبع مستندات repo الحالية بدلاً من برنامج تعليمي قديم.

هل يغير التكميم نافذة السياق؟

لا. السياق هو خاصية النموذج، وليس الكمية: Llama 3.3 70B هو 128K و Llama 4 Scout هو 10M سواء قمت بتشغيل F16 أو Q4_K_M. ما يتغير هو ما إذا كان بإمكانك تحمل كاش KV لهذا السياق في الذاكرة. قارن السياق والتسعير عبر النماذج على لوحة تصنيف النماذج اللغوية الكبيرة (LLM).

كتبه مصطفى إحسان

مصطفى إحسان هو مؤسس ومحرر Convly.ai. بنى ويحتفظ بقاعدة بيانات نماذج AI المباشرة للموقع، ومؤشر أداء السعر، وآلاته الحاسبة المجانية لمتطلبات VRAM وتكاليف API واقتصاديات الاستضافة الذاتية. يكتب عن تسعير النماذج ونتائج المقاييس والأجهزة المطلوبة لتشغيل نماذج AI محلياً، ويفضل باستمرار الأرقام المقاسة على ادعاءات البائع.

انتقل إلى الأعلى