يتزايد استخدام LLM المحلي ، ومع إعداد العديد من أجهزة الكمبيوتر أو الأنظمة لتشغيلها ، فإن فكرة تشغيل LLM على خادم في مكان ما في السحابة أصبحت سريعًا.
قام Binh Pham بتجربة Raspberry Pi Zero ، حيث قام بفعالية بتحويل الجهاز إلى محرك USB صغير يمكنه تشغيل LLM محليًا دون الحاجة إلى الإضافات. تم تسهيل المشروع إلى حد كبير بفضل llama.cpp و llamafile ، وهو مزيج من مجموعة التعليمات وسلسلة من الحزم المصممة لتقديم تجربة chatbot خفيفة الوزن في وضع عدم الاتصال.
ولكن ، نظرًا لوجود Pi Zero في الثامنة من عمره ، لم يكن الأمر بسيطًا مثل تعبئة llama.cpp على Pi Zero وتجربته. أولاً ، قام Pham بتركيب الجهاز على واجهة USB وطبعت 3D قذيفة للجهاز نفسه.
مع كل ذلك تم تناوله ، جمع المشروع أكثر تعقيدًا بسبب قيود تخزين ذاكرة الوصول العشوائي 512 ميجابايت من PI Zero W. بعد بناء llama.cpp على الجهاز ، فشل في التجميع ، ولم يجرؤ أي شخص آخر على بناء llama.cpp على pi Zero أو pi One.
جاء جذر القضايا إلى وحدة المعالجة المركزية لـ PI Zero ، والتي تعمل على ARMV6. للتغلب على هذا ، كان عليه أن ينزل وتحويل مجموعة تعليمات ARMV8 الخاصة بـ llama.cpp وإزالة أي رموز أو تحسينات بناءً على الأجهزة الحديثة.
شاهد
بعد تحرير رمز المصدر llama.cpp لجعل الأشياء تعمل على Pi Zero ، كان بحاجة إلى الحصول على جانب البرنامج من العصي. بعد ذلك ، تحول انتباهه نحو الحصول على تجربة البرنامج بسلاسة قدر الإمكان.
LLM نفسها مبنية حول إرسال ملفات نصية إلى LLM ، والتي تعمل كمطالبة رئيسية. لذلك ، قام PHAM ببناء تنفيذه الذي يولد قصة بناءً على موجه النص وتجمعها مرة أخرى كملف مكتوم بالكامل مع مخرجات تم إنشاؤها.
مع وجود حدود رمزية على 64 ، حصل على عدة معايير مع عدة طرز ، تتراوح من 15 مترًا إلى 136 مترًا. حقق طراز Tiny15m سرعات 223 مللي ثانية لكل token ، في حين حقق طراز Lamini-T5-Flan-77m الأكبر سرعة 2.5s لكل طن ، وحقق طراز Smollm2-136M 2.2S-Token.
تعني سرعات الرمز المميز حقًا أنها ستكون بطيئة جدًا في استخدامها في العديد من التطبيقات العملية. على الرغم من أنه مشروع مثير للاهتمام ، فإن استخدام الأجهزة القديمة الخفيفة الوزن لتشغيل LLM المحلية قد لا توفر استخدامًا عمليًا. بدلاً من ذلك ، قد ترغب في استخدام نموذج أكثر تعقيدًا ، مثل تشغيل Deepseek على Raspberry Pi 5.