Ultra Techالنسخة الإنجليزية

Ollama

Ollama 0.40.6 لم يعد يترك عمليات التشغيل عالقة على Windows، وصار يفتح ملفات النماذج بصيغة Q2_0

فُحص آلياً على صفحة Ollama في .

Ollama 0.40.6 إصدار صغير، فيه إصلاحان يهمّان فئتين مختلفتين من الناس. إن كنت تشغّل Ollama على Windows بكتابة ollama serveفي الطرفية، فلن يترك بعد اليوم عمليات التشغيل خلفه حين يتوقّف. وإن كانت عندك ملفات نماذج بصيغة Q2_0 الشديدة الاختصار، فقد صار Ollama قادراً على قراءتها. وتحمل صفحة الإصدار تاريخ 16 تشرين الأول الساعة 22:00 ، وهو الوقت الذي فُتحت فيه الصفحة والإصدار ما زال تجريبياً؛ أمّا ملفات التثبيت التي تعرضها فرُفعت في 17 تشرين الأول الساعة 00:57 بالتوقيت العالمي ، وما زال سطر سجلّ التغييرات فيها ينتهي عند النسخة المرشّحة v0.40.6-rc0. وستجد أدناه ما يفعله كلّ إصلاح، وكيف تعرف إن كان يعنيك، وما الذي تفعله.

ما الذي تغيّر

على Windows: لا عمليات عالقة بعد اليوم. حين يجيب Ollama عن طلب، لا يعمل النموذج داخل برنامج ollama الرئيسي نفسه، بل في عملية مساعدة منفصلة اسمها «عملية التشغيل» (runner)، وهي llama-server أو عملية من MLX. يبدأ Ollama هذه العمليات، ومن المفروض أن ينهيها حين يتوقّف. ومن هذا الإصدار صار Ollama يضع عمليات التشغيل في Job Object على Windows مضبوط على JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE، أي في مجموعة من العمليات يغلقها Windows بنفسه حين ينتهي البرنامج صاحب المجموعة. والنتيجة العملية أنّ Windows صار ينهي عملياتllama-serverوMLX التابعة لـ Ollama حين يُغلَق Ollama، حتى لو أُوقف قسراً ولم تُتَح له فرصة للترتيب. وجعل المطوّرون الإصلاح يعيد المحاولة عند كلّ تحميل لنموذج، حتى لا يعلق إن حصل عطل عابر على جهة Windows.

ملفات Q2_0 صارت تُفتح.صيغة GGUF هي صيغة الملفات التي يحفظ بها Ollama وllama.cpp النماذج، وفي داخلها تُخزَّن أوزان كلّ طبقة بنوع من «التكميم»، أي طريقة لضغط الأرقام في عدد أقلّ من البتّات. وQ2_0 من أصغر هذه الأنواع: يخزّن 64 وزناً في 18 بايتاً ، أي ما يزيد قليلاً على بتّين لكلّ وزن. ونسخة llama.cpp الموجودة أصلاً داخل Ollama 0.40.5، وهي b11669، كانت تستطيع تشغيل هذه الملفات، لكنّ قارئ GGUF الخاصّ بـ Ollama لم يكن يتعرّف على هذا النوع. وهذا الإصدار يضيفه. ويذكر التغيير عائلة نماذج بعينها يحتاجه من أجلها: نماذج Bonsai 2 من Prism ML بأحجام 2B و4B و9B و27B، وملفاتها بصيغة Q2_0 هي التي يستطيع llama.cpp الأصلي تشغيلها. وعلى Apple silicon أُنشئت الأحجام الأربعة كلّها وشُغّلت مع التفكير والرؤية والأدوات، بينما يفشل 0.40.5 مع الملفات نفسها.

وبقيّة القائمة صغيرة:

ما كان قبل ذلك

يبدأ سطر سجلّ التغييرات من v0.40.5. وقبل هذا الإصدار كانت المشكلتان على هذا الشكل.

على Windows، لم يتأثّر تطبيق سطح المكتب أصلاً: فهو يوقف خادم Ollama بهدوء ويعطيه فرصة لتنظيف عملياته الفرعية. كانت المشكلة عند من يشغّلونollama serveمن سطر الأوامر، فهؤلاء، كما يقول التغيير، لا يملكون على Windows أدوات سطر أوامر جيّدة لإنهاء تلك العمليات بنظافة. فإذا أُوقف خادم كهذا فجأة، كانت عمليات التشغيل التابعة له قد تبقى وحدها، ولهذا يسمّيها عنوان التغيير «يتيمة».

ومع Q2_0 كان الفشل صريحاً: كان ollama createوتحميل النماذج يتوقّفان برسالة خطأ تقول إنّ حجم موتّر غير مدعوم قد تجاوز الحدّ (size overflows). والموتّر هو جدول الأرقام الذي تُحفظ فيه أوزان طبقة من النموذج. لم يكن العيب في الملفّ؛ كلّ ما في الأمر أنّ القارئ لم يكن يعرف نوع الموتّر 42 ولا نوع الملفّ 41.

ما معناه لك

إن كنت تشغّل ollama serve على Windows من الطرفية أو من سكربت أو من مهمّة مجدولة، فحدّث. عملية التشغيل العالقة تبقى تعمل ومعها النموذج الذي كانت قد حمّلته، والنموذج قد يأخذ عدّة غيغابايتات من ذاكرة بطاقة الرسوميات، فيجد النموذج التالي الذي تحمّله مساحة أقلّ ممّا تتوقّع، أو يعمل أبطأ لأنّ جزءاً منه لم يعد يتّسع. وقبل أن تحدّث، افتح مدير المهامّ (Task Manager)، وانتقل إلى تبويب التفاصيل (Details)، وابحث عن عمليات باسم llama-serverفي وقت لا يكون فيه Ollama شغّالاً. فإن وجدت شيئاً منها، فأنهِه من هناك، ثم ثبّت 0.40.6. ومن الآن فصاعداً سينهيها Windows عنك حين يُغلَق Ollama، أيّاً كانت طريقة إغلاقه. أمّا إن كنت لا تستعمل إلّا تطبيق Ollama لسطح المكتب، فهذا الإصلاح لا يغيّر عندك شيئاً.

إن رفض ollama create ملفاً بصيغة Q2_0 برسالة «size overflows»، فحدّث وجرّب مرّة أخرى.يُفترض أن يُحمَّل الملفّ نفسه الآن. وميزة Q2_0 هي الحجم: بما يزيد قليلاً على بتّين لكلّ وزن ، يأخذ النموذج من الذاكرة أقلّ بكثير ممّا يأخذه النموذج نفسه بنوع شائع من أربع بتّات أو ثماني بتّات، وقد يكون هذا هو الفرق بين نموذج يتّسع في جهازك ونموذج لا يتّسع. والثمن أنّ ضغط النموذج إلى هذا الحدّ يُفقده عادةً شيئاً من جودته، فجرّبه على مهامّك أنت قبل أن تعتمد عليه. ودليلناأيّ جهاز يشغّل نموذجاً محلّيّاًيشرح لك كيف يقرّر حجم الملفّ إن كان النموذج يتّسع في جهازك. والتجارب التي يذكرها التغيير أُجريت على Apple silicon ، ولا ينقل التغيير نتائج على أجهزة Windows أو Linux.

وإن لم يكن أيّ من هذين يعنيك، فلا داعي للاستعجال. فالبندان الآخران تحديث للتوثيق وتغيير صغير في --ask.

المصدر

صفحة الإصدار على GitHub: Ollama v0.40.6، وقائمة ملفاته القابلة للتنزيل مع أوقات رفعها؛ والتغييران اللذان يقف عليهما الإصلاحان: طلب الدمج #18500 (عمليات التشغيل على Windows) وطلب الدمج #18967 (صيغة Q2_0)؛ وتغيير التوثيق: طلب الدمج #19036.