بعد تنزيل النموذج، قد تواجه خطأ نقص الذاكرة أو نذاكرة الفيديو أثناء التشغيل. هذه على الأرجح آخر نتيجة يريد أي شخص رؤيتها عند تجربة النماذج المحلية.
كما تم تقديمه سابقاً، يحتاج النموذج إلى تحميل أوزانه في الذاكرة العشوائية RAM أو ذاكرة الفيديو VRAM أثناء التشغيل، وإنشاء الردود يتطلب أيضاً مساحة إضافية. إذا لم يكن جهازك قادراً على استيعاب النموذج، بالإضافة إلى التبديل إلى نموذج أصغر عدد المعاملات، يمكنك أيضاً التحقق مما إذا كان هناك نسخة متحجّمة متاحة.
تتكون أوزان النموذج من عدد كبير من القيم الرقمية، وتخزين كل قيمة يتطلب مساحة معينة. يقلل التحجيم من استهلاك موارد النموذج من خلال خفض دقّة تمثيل هذه القيم الرقمية. على سبيل المثال، يمكن تحويل الأوزان المخزنة الأصلية كأرقام عشرية 16 بت إلى تمثيلات منخفضة الدقة بشكل رئيسي 8 بت أو 4 بت. عدد المعاملات عادة لا يتغير، لكن المساحة التي يشغلها كل معامل تصبح أصغر.
باعتبار نموذجاً بـ 7 مليار معامل كمثال، وحساب الأوزان فقط دون احتساب تكاليف التحجيم الإضافية، يمكن الحصول على تقديرات تقريبية كالتالي:
تمثيل الأوزان | الحجم النظري للأوزان |
16 بت | حوالي 14 جيجابايت |
8 بت | حوالي 7 جيجابايت |
4 بت | حوالي 3.5 جيجابايت |
القيم بالجيجابايت هنا محسوبة بوحدات عشرية. ملفات التحجيم الفعلية تخزن أيضاً معلومات مثل معاملات التقييم وقد تستخدم دقّات مختلطة، لذا قد يختلف الحجم الفعلي عن التقدير.
بالنسبة للمستخدمين العاديين، الفائدة المباشرة الأكثر للتحجيم هي أن ملفات النموذج تصبح أصغر، مما يوفر مساحة للتنزيل والتخزين، ويقلل من RAM أو VRAM المطلوبة للأوزان أثناء التشغيل. عندما يدعمه العتاد وأطر الاستنتاج، يمكن للتحجيم أيضاً تحسين سرعة الاستنتاج.
ومع ذلك، تقليل الملف إلى ربع حجم الأصلي لا يعني أن سرعة الاستجابة ستكبر أربع مرات.
خفض الدقة قد يؤثر أيضاً على جودة الاستجابة، اعتماداً على النموذج وطريقة التحجيم والمهمة. عند اختيار نسخة متحجّمة، بالإضافة إلى التأكد من أنها قابلة للتشغيل، يجب أيضاً اختبارها بأسئلتك الخاصة لمعرفة ما إذا كانت الردود لا تزال موثوقة.
للنماذج التي تم تنزيلها أو ضبطها بالفعل، النهج الشائع هو التحجيم ما بعد التدريب (PTQ)، والذي يحوّل الأوزان والقيم الرقمية الأخرى إلى تمثيلات دقّة أقل بعد اكتمال تدريب النموذج. تتطلب بعض الأساليب دفعة صغيرة من البيانات التمثيلية لمعايرة عملية التحجيم وتقليل الخطأ.
فئة أخرى هي التحجيم المدرك للتدريب (QAT)، الذي يحاكي تأثيرات التحجيم أثناء التدريب، مما يسمح للنموذج بالتكيف مسبقاً مع تمثيلات الدقة المنخفضة.
يغطي هذا الفصل أولاً نماذج GGUF المتحجّمة المستخدمة بشكل شائع في النشر المحلي، ويساعدك على فهم الملفات والتمييز بين الإصدارات واتخاذ القرارات. سيتم تغطية التفاصيل حول أساليب التحجيم الأخرى لاحقاً.عند تشغيل النماذج باستخدام Ollama، سترى أسماء مثل GGUF وQ4 وQ8 وغيرها بشكل متكرر. هذه الأسماء مرتبطة بشكل أساسي بتنسيق التخزين وطريقة التحجيم للنموذج، وهي سبب رئيسي لتمكين النماذج الكبيرة من العمل على الحواسيب الشخصية.
تسجيل الدخول للانضمام إلى النقاش
في أغسطس 2023، قدّم Georgi Gerganov تنسيق GGUF. تشمل مزاياه الرئيسية النشر بملف واحد والقابلية للتوسع ودعم تعيين الذاكرة والمعلومات الكاملة وسهولة الاستخدام. يتضمن ملف GGUF رأس ملف وأزواج القيم والمفاتيح الوصفية ومعلومات المُوترات. تُعرّف هذه المكونات معاً هيكل وسلوك النموذج. كما هو موضح أدناه، GGUF هو تنسيق ملف نموذج لاستنتاج النماذج الكبيرة، يُستخدم حالياً على نطاق واسع من أدوات الاستنتاج المحلية مثل llama.cpp وOllama. يُغلّف Ollama معالجة تنسيق GGUF وتحجيم النماذج وعمليات تحميل النماذج، بحيث لا يحتاج المستخدمون إلى تحويل تنسيقات النماذج بأنفسهم — يمكنهم تنزيل وتشغيل نماذج متحجّمة مسبقاً مباشرة. ملف GGUF لا يحتوي فقط على معاملات النموذج؛ بل يتضمن أيضاً معلومات أساسية عن النموذج وهندسة النموذج وبيانات المُوترات. ينظّم GGUF هذه المعلومات عبر تنسيق ملف موحد، مما يتيح لأدوات الاستنتاج مثل llama.cpp قراءتها وتحميلها مباشرة. يُوضح الشكل أدناه هيكله الأساسي.
يدعم ModelScope أيضاً عرض ملفات GGUF المنظمة، كما هو موضح أدناه. عند تحميل أدوات الاستنتاج لملفات GGUF، يمكنها قراءة هذه المعلومات مباشرة وتحميل النموذج دون الحاجة إلى تحضير ملفات تكوين النموذج المتعددة بشكل منفصل.
GGUF بحد ذاته ليس سوى تنسيق ملف نموذج ولا يقلل مباشرة من استخدام RAM أو VRAM للنموذج. ما يقلل فعلاً من استهلاك موارد النموذج هو التحجيم.
في llama.cpp ونماذج GGUF، تمثل Q4 وQ5 وQ8 وQ4_K_M أسماء تحجيم مختلفة. هنا، Q ترمز للتحجيم، والرقم التالي يشير إلى عرض بت التحجيم الرئيسي. على سبيل المثال، Q4 تعني تحجيم بشكل أساسي 4 بت، وQ8 تعني تحجيم بشكل أساسي 8 بت.
لاحظ أن Q4 لا يعني أن جميع المعاملات في النموذج تستخدم تمثيلاً موحداً من 4 بت. بأخذ Q4_K_M الشائع كمثال، فإنه ينتمي إلى نوع التحجيم K-quant في llama.cpp. Q4 في الاسم تعني تحجيم بشكل أساسي 4 بت، وK تشير إلى استخدام مخطط التحجيم K-quant، وM تدل على إعداد Medium في ذلك المخطط. في الممارسة الفعلية، قد تستخدم المُوترات المختلفة في النموذج دقّات تحجيم مختلفة بدلاً من استخدام جميع المعاملات تمثيلاً موحداً من 4 بت، كما هو موضح في الشكل أدناه.
عند اختيار نموذج GGUF، تأكد أولاً من أن أداة الاستنتاج تدعم النموذج، ثم انظر إلى إصدار التحجيم المحدد. عادة ما يقلّ الدقة المنخفضة للتحجيم من استخدام RAM وVRAM، مما يسهّل تشغيل النموذج على الأجهزة العادية، لكن قد يُضحّي ببعض أداء النموذج. عادة ما تحفظ الدقة الأعلى للتحجيم المزيد من قدرات النموذج الأصلي، لكن تتطلب أيضاً موارد عتاد أكثر.
إذا كان الإصدار قريباً بالفعل من حدود RAM أو VRAM للجهاز، فكّر في التبديل إلى إصدار أصغر لتوفير مساحة للسياق وعمليات التشغيل. إذا كانت الموارد كافية، يمكنك استخدام نفس الأسئلة لمقارنة ردود الإصدارات المختلفة، مع الانتباه đặcيّاً إلى مهامك المستهدفة مثل استخراج المعلومات أو إنشاء الكود أو الإخراج المنظم.
تأكد أولاً من تشغيل مستقر، ثم تحقق من جودة الردود. بهذه الطريقة، ستكون نسخة التحجيم التي تختارها أكثر ملاءمة لجهازك واستخدامك.