llama.cpp
llama.cpp 0.4.1 يضيف ثلاث بنى للنماذج ويستبدل خيارات الذاكرة بـ --load-mode
فُحص آلياً على صفحة llama.cpp في · لم يؤكّده شخص.
الإصدار llama.cpp 0.4.1 يضيف دعم Maple 20B-A1B وTencent Hy 4 وSpark2.5، ويحسّن معالجة مخطّطات JSON وتحليل المحادثة والتسجيل وإدارة العمليات الفرعية للخادم، ويحدّث ggml إلى v0.24.0. هذا ملخّص المشروع نفسه لإصداره، وصفحته تؤرّخه في 14 أيلول الساعة 18:27. إن كنت تشغّل النماذج على جهازك بـ llama.cpp، فثلاثة أسطر من هذا الإصدار تغيّر ما تكتبه في سطر الأوامر — وأحدها يزيل خيارات ربّما ما زالت في أحد سكربتاتك.
ما الذي تغيّر
يضيف الإصدار ثلاث بنى للنماذج. تأتي Maple 20B-A1B بنيةً ثلاثيةً من نوع MoE، على المعالج المركزي. وتأتي Tencent Hy 4 — واسمها في الشيفرةhy_v4— بدعم أوّلي. وصار Spark2.5 مدعوماً.
ثلاثة خيارات مهجورة اختفت: --mmap و--mlock و--direct-io أُزيلت لصالح --load-mode. وصار جهازmmproj وجهاز النموذج المسوِّد يتبعان افتراضياً ما اخترته في --deviceالعامّ. والتحميل الكسول للمصفوفات معطَّل الآن افتراضياً على معالجات الرسوميّات المدمجة. والتسجيل المنظَّم بصيغة JSONL جديد، تفعّله بالخيار--log-jsonl أو بالمتغيّر LOG_JSON. ولمن يحوّل النماذج بنفسه، خيار--fuse-qkvيدمج مصفوفات Q وK وV أثناء التحويل من HF إلى GGUF. ومن تغييرات الواجهة البرمجية أنّ الدالّةllama_sampler_chain_n() صارت تعيد int32_t بدل int.
في الخادم، أُعيدت هيكلة إدارة العمليات الفرعية إلى خيط مراقبة واحد. وأُصلح تعليق LRU الذي كان يقع عند طلبات متعدّدة للنموذج نفسه. وصار تنزيل النماذج مسموحاً حتى عند بلوغ--models-max. والخيار--reasoning-preserveصار مفعَّلاً افتراضياً.
وفي الأساس، انتقلت ggml من v0.23.0 إلى v0.24.0. وتصف الصفحة ذلك الإصدار بأنّه يركّز على توسيع تغطية المنصّات الخلفية ومتانتها: واجهة جديدة للتحكّم في الدقّة، وعمل كبير على Vulkan وSYCL وHexagon وOpenCL، وإصلاحات كثيرة للصحّة والأداء على CPU وCUDA وMetal وبقيّة المنصّات.
ما كان قبل ذلك
تعرض الصفحة كلّ ما سبق على أنّه التغييرات منذ v0.4.0. والمحرّك الذي تحته كان ggml v0.23.0 حتى هذا الإصدار.
ما معناه لك
افتح أيّ سكربت يشغّل لك llama.cpp وابحث فيه عن --mmap أو --mlock أو --direct-io. هذه الخيارات الثلاثة أُزيلت، و--load-modeهو ما تسمّيه الصفحة مكانها — فالسكربت الذي ما زال يمرّرها يمرّر خيارات لم يعد البرنامج يعرفها. غيّرها قبل أن تحدّث، لا بعده.
إن كنت تشغّل على معالج رسوميّات مدمج، فتوقّع أن يختلف سلوك التحميل: التحميل الكسول للمصفوفات صار معطَّلاً افتراضياً هناك. وإن كنت تشغّل نموذج رؤية بملفّmmproj، أو نموذجاً مسوِّداً لفكّ الترميز التخميني، فكلاهما يتبع الآن ما أعطيته لـ --deviceللنموذج الرئيسي. تأكّد أنّ هذا هو الجهاز الذي قصدته.
وإن كنت تقدّم النماذج عبر الخادم المدمج، فقد تحرّك افتراضيان: --reasoning-preserveمفعَّل ما لم تعطّله، والتنزيل لم يعد يُرفض لأنّ--models-maxبلغ حدّه. وإن كنت تحتفظ بالسجلّات، فالخيار--log-jsonlيعطيك كائن JSON واحداً في كلّ سطر بدل النصّ الحرّ.
أمّا السرعة التي تراها على جهازك أنت فسؤال آخر، وهو ما يجيب عنه دليلنا: أيّ جهاز يشغّل نموذجاً محلّيّاً يشرح حساب الذاكرة الذي يقف وراءها.
المصدر
صفحة الإصدار على GitHub: llama.cpp v0.4.1، ضمن منظّمة ggml-org.