GGUF: تنسيق الملف الذي يشغل الذكاء الاصطناعي على جهازك المحمول

لست بحاجة إلى خادم ضخم لتشغيل نموذج لغوي كبير. كل ما تحتاجه هو تنسيق الملف الصحيح.

إذا كنت تستخدم Ollama أو LM Studio، فأنت تستخدم GGUF بالفعل. لقد غيّر هذا التنسيق وجه الذكاء الاصطناعي عبر نقل الذكاء من مراكز البيانات إلى جهازك الخاص.

What is GGUF?

GGUF هو ملف ثنائي واحد. يقوم بجمع أوزان النموذج (model weights)، والمجزئ (tokenizer)، والبيانات الوصفية للهيكلية (architecture metadata) معاً. لن تحتاج إلى مجلدات إعدادات إضافية أو بيئات Python معقدة. إنه يعمل على الفور.

اختيار التكميم (quantization) في اسم الملف هو قرار مدروس. اسم مثل Q4_K_M يخبرك بمقدار الجودة التي ستضحي بها مقابل السرعة والحجم.

How to read the names:

  • الرقم يمثل عدد البتات لكل وزن. يستخدم Q8 ثمانية بتات، بينما يستخدم Q4 أربعة بتات.
  • تُعد K-quants المعيار الحديث؛ فهي تخصص بتات أكثر للطبقات المهمة للحفاظ على جودة عالية.
  • اللاحقة تخبرك بالحجم. M ترمز للمتوسط (medium)، وS للصغير (small)، وL للكبير (large).

A quick guide for your hardware:

  • لا تملك وحدة معالجة رسومات (GPU) مخصصة أو ذاكرة فيديو (VRAM) بسعة 8 جيجابايت: استخدم Q4_K_M. فهو يوفر أفضل توازن بين الحجم والذكاء.
  • ذاكرة فيديو (VRAM) من 12 إلى 16 جيجابايت: استخدم Q5_K_M أو Q6_K للحصول على جودة أعلى.
  • ذاكرة فيديو (VRAM) تزيد عن 24 جيجابايت أو للعمل الدقيق: استخدم Q8_0. فهو لا يسبب أي فقدان تقريباً في الجودة عند التعامل مع الرياضيات والبرمجة.

Why does size matter?

يعتمد توليد النصوص على عرض نطاق الذاكرة (memory bandwidth). الملف الأصغر يعني أن الكمبيوتر يقرأ بايتات أقل لكتابة كل كلمة، مما يجعل النموذج أسرع في التوليد.

غالباً ما يعمل نموذج Q4 بشكل أسرع من نموذج Q8. هو لا "يفكر" بشكل أسرع، بل ببساطة يقرأ بيانات أقل.

The trade-off:

  • للدردشة والكتابة: Q4_K_M مثالي. فقدان الجودة بنسبة 1 إلى 3 بالمائة غير ملحوظ.
  • للرياضيات والبرمجة: استخدم Q8_0. الأخطاء الصغيرة في نماذج الـ 4-bit يمكن أن تفسد المنطق المعقد.

توقف عن التخمين عند ضبط إعداداتك. انظر إلى ذاكرتك واختر التكميم (quant) المناسب.

Source: https://dev.to/sayed_ali_alkamel/gguf-explained-the-file-format-that-put-llms-on-your-laptop-12lh

Optional learning community: https://t.me/GyaanSetuAi