نعم ، يمكنك تشغيل "روبوت محادثة AI" LLM على Raspberry Pi! ما عليك سوى اتباع هذه العملية خطوة بخطوة ثم اسألها عن أي شيء.

نماذج اللغة الكبيرة ، المعروفة عمومًا (وغير دقيقة) بالذكاء الاصطناعي ، تهدد بقلب عالم النشر والفن والشؤون القانونية لأشهر. أحد الجوانب السلبية هو أن استخدام LLMs مثل ChatGPT يعني إنشاء حساب وجعل كمبيوتر شخص آخر يقوم بهذا العمل. ولكن يمكنك تشغيل ماجستير مدرب على Raspberry Pi لكتابة الشعر والإجابة على الأسئلة والمزيد.

ما هو نموذج اللغة الكبير؟

تستخدم نماذج اللغات الكبيرة خوارزميات التعلم الآلي لإيجاد العلاقات والأنماط بين الكلمات والعبارات. مدربين على كميات هائلة من البيانات ، فهم قادرون على التنبؤ بالكلمات التي من المحتمل إحصائيًا أن تأتي بعد ذلك عندما يتم توجيههم.

إذا سألت آلاف الأشخاص عن شعورهم اليوم ، فستكون الإجابات على غرار "أنا بخير" ، "يمكن أن يكون أسوأ" ، "حسنًا ، لكن ركبتي تعملان". ثم تتحول المحادثة في اتجاه مختلف. ربما يسأل الشخص عن صحتك ، أو يتابع بقوله "آسف ، علي أن أركض. أنا متأخر عن العمل".

بالنظر إلى هذه البيانات والموجه الأولي ، يجب أن يكون نموذج اللغة الكبير قادرًا على الخروج برد مقنع وأصلي خاص به ، بناءً على احتمال ظهور كلمة معينة بعد ذلك في تسلسل ، جنبًا إلى جنب مع درجة محددة مسبقًا من العشوائية ، وعقوبات التكرار ، وغيرها حدود.

instagram viewer

لم يتم تدريب نماذج اللغة الكبيرة المستخدمة اليوم على مجموعة من آلاف الأشخاص. بدلاً من ذلك ، يتم إعطاؤهم كمية لا يمكن تصورها من البيانات ، مأخوذة من المجموعات المتاحة للجمهور ، ومنصات الوسائط الاجتماعية ، وصفحات الويب ، والمحفوظات ، ومجموعات البيانات المخصصة العرضية.

يتم تدريب LLM من قبل باحثين بشريين سيعززون أنماطًا معينة ويعيدونها إلى الخوارزمية. عندما تسأل نموذجًا لغويًا كبيرًا "ما هو أفضل نوع من الكلاب؟" ، سيكون قادرًا على تدوير إجابة تخبرك أن جحر Jack Russell هو أفضل نوع من الكلاب ، ويعطيك أسبابًا لذلك.

ولكن بغض النظر عن مدى الذكاء أو الغباء المقنع والإنساني للإجابة ، لا النموذج ولا الآلة يعمل على عقل ، وهم غير قادرين على فهم السؤال أو الكلمات التي يتكون منها إجابة. إنها مجرد رياضيات والكثير من البيانات.

لماذا تشغيل نموذج لغة كبير على Raspberry Pi؟

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

في حين أنه من المغري طرح سؤال لغوي طبيعي في صندوق أسود للشركة ، فأنت في بعض الأحيان تريد البحث عن الإلهام أو طرح سؤال دون إدخال المزيد من البيانات في ذهن رأسمالية المراقبة.

بصفته لوحة تجريبية للمصلحين ، فإن كمبيوتر Raspberry Pi أحادي اللوحة مناسب فلسفيًا ، إن لم يكن ماديًا ، لهذا المسعى.

في فبراير 2023 ، أعلنت Meta (الشركة المعروفة سابقًا باسم Facebook) عن LLaMA ، وهي لغة LLM جديدة تتميز بنماذج لغوية تتراوح بين 7 مليار و 65 مليار معلمة. تم تدريب LLaMA باستخدام مجموعات البيانات المتاحة للجمهور ،

رمز LLaMA مفتوح المصدر ، مما يعني أنه يمكن لأي شخص استخدامه وتكييفه ، وتم نشر "الأوزان" أو المعلمات على أنها السيول والروابط المغناطيسية في موضوع على المشروع صفحة جيثب.

في مارس 2023 ، أطلق المطور جورجي جيرجانوف اللاما، والتي يمكن أن تعمل على مجموعة كبيرة من الأجهزة ، بما في ذلك Raspberry Pi. يعمل الرمز محليًا ، ولا يتم إرسال أي بيانات إلى Meta.

قم بتثبيت llama.cpp على Raspberry Pi

لا توجد إرشادات منشورة للأجهزة الخاصة بـ llama.cpp ، لكنها شديدة المعالجة وذاكرة الوصول العشوائي والتخزين. تأكد من تشغيله على Raspberry Pi 4B أو 400 به ذاكرة كبيرة ، ذاكرة افتراضية، ومساحة SSD متاحة قدر الإمكان. بطاقة SD لن تقطعها ، و حالة مع تبريد لائق انها ضرورة.

سنستخدم نموذج المعلمة البالغ 7 مليارات ، لذا تفضل بزيارة هذا LLamA GitHub الموضوع، وقم بتنزيل 7B torrent باستخدام عميل مثل qBittorrent أو Aria.

استنساخ مستودع llama.cpp ثم استخدم ملف قرص مضغوط أمر للانتقال إلى الدليل الجديد:

شخص سخيف استنساخ https://github.com/ggerganov/llama.cpp
قرص مضغوطاللاما.cpp

إذا لم يكن لديك مترجم مثبت ، فقم بتثبيت واحد الآن باستخدام:

sudo apt-يحصل قم بتثبيت g ++

الآن قم بتجميع المشروع باستخدام هذا الأمر:

يصنع

هناك احتمال أن يفشل llama.cpp في التجميع ، وسترى مجموعة من رسائل الخطأ المتعلقة بـ "vdotq_s32". إذا حدث هذا ، فأنت بحاجة إلى التراجع عن الالتزام. أولاً ، قم بتعيين مستخدم git المحلي:

git config user.name "ديفيد"

يمكنك الآن التراجع عن التزام سابق:

بوابة العودة 84d9015

سيتم فتح رسالة git الالتزام في محرر نصوص nano. يضعط السيطرة + O للحفظ ، إذن السيطرة + X للخروج من نانو. يجب الآن ترجمة llama.cpp بدون أخطاء عند إدخال:

يصنع

ستحتاج إلى إنشاء دليل للنماذج الموزونة التي تنوي استخدامها:

نماذج مكدير

الآن قم بنقل النماذج الموزونة من ملف LLaMa الدليل:

mv ~/Downloads/LLaMA/ * ~ / llama.cpp / نماذج /

تأكد من تثبيت Python 3 على Pi الخاص بك ، وقم بتثبيت تبعيات llama.cpp:

بيثون 3 م نقطة ثَبَّتَ قطعة الجملة الشعلة

قد يتسبب إصدار NumPy في حدوث مشكلات. قم بترقيته:

نقطة ثَبَّتَ حبيبي --يرقي

الآن قم بتحويل نموذج 7B إلى تنسيق ggml FP16:

نماذج python3 convert-pth-to-ggml.py / 7B / 1

الخطوة السابقة هي ذاكرة مكثفة للغاية ، وبحسب تقديرنا ، تستخدم ذاكرة وصول عشوائي (RAM) بسعة 16 جيجابايت على الأقل. إنها أيضًا بطيئة للغاية وعرضة للفشل.

ستحصل على نتائج أفضل باتباع هذه التعليمات بالتوازي على كمبيوتر سطح المكتب ، ثم نسخ الملف /models/7B/ggml-model-q4_0.bin إلى نفس الموقع على Raspberry Pi الخاص بك.

قم بتكميم النموذج إلى 4 بتات:

./quantize.sh 7B

هذا كل شيء. LLaMA LLM مثبت الآن على Raspberry Pi الخاص بك ، وهو جاهز للاستخدام!

استخدام llama.cpp على Raspberry Pi

لبدء استخدام llama.cpp ، تأكد من أنك في دليل المشروع وأدخل الأمر التالي:

./main -m ./models/7B / ggml-model-q4_0.bin -t 4128 -p "ما هو Linux Kernel؟"

ال م الخيار هو توجيه llama.cpp إلى النموذج الذي تريد استخدامه ؛ -t يشير إلى عدد المواضيع التي تريد أن يستخدمها ؛ هو عدد الرموز التي يجب توقعها ؛ -p هو موجهك. يمكنك تخصيص أي من هذه المتغيرات وكلها.

استقر لفترة طويلة ، لأنه في حين أن Raspberry Pi ممتاز في ما يفعله ، إلا أنه لم يتم تصميمه لهذا النوع من نشاط وحدة المعالجة المركزية. في المثال الخاص بنا ، قسم اللاما النص إلى ثمانية رموز فردية ، قبل إعطاء الرد التالي:

يُشار دائمًا إلى Linux Kernel ، باختصار ، على أنه نظام تشغيل. ومع ذلك ، فإنه لا يعتبر حقًا واحدًا نظرًا لأن معظم وظائفه تعتبر كذلك لجميع الأغراض العملية مكشوفة من خلال واجهات برمجة التطبيقات والأدوات المساعدة التي يمكن استخدامها من قبل أي نظام تشغيل آخر يريد (أو يحتاج) الوصول إليها API (ق). بقدر ما يتعلق الأمر بـ Linux Kernel ، لا يوجد الكثير لتفعله مع النواة الفعلية. ستبدأ للتو ، وستتلقى معلمات التكوين من أداة تحميل التشغيل / البادئة التي تختارها ، ثم اجعلها تعمل على بعض الأجهزة وستبدأ في أي عمل يستلزمه في هذه المرحلة

بينما كانت هذه إجابة متماسكة إلى حد ما ، أسفرت المحاولة الثانية عن شيء يشبه سلطة الكلمات المفرومة تقريبًا:

ربما سمع معظمكم عنها ولكنهم لا يعرفون حقًا ما الذي يتحدثون عنه. سنناقش هذا بالتفصيل لأن فهمها بشكل كامل يساعدنا على استخدام أجهزة الكمبيوتر الخاصة بنا بشكل أكبر بكفاءة وأيضًا اتخاذ قرارات أفضل عند شراء أجهزة أو برامج جديدة لأجهزة الكمبيوتر في المنزل والمكاتب إلخ.. Linux Kernel هو العمود الفقري لمعظم أنظمة التشغيل التي تعمل على نظام كمبيوتر مثل android وهو نظام تشغيل مفتوح المصدر يعتمد جزئيًا على هذه النواة. ولكن ماذا يقصدون بالضبط بقولهم لينوكس كيرنال؟

كتب لينوس تورفالدس أفكاره (المعرفة)

من الجدير بالذكر في هذه المرحلة أن إنتاج كل من هذه الاستجابات استغرق ما يقرب من ساعتين ، وعملت جميع نوى وحدة المعالجة المركزية الأربعة بنسبة 100٪ طوال الوقت. ومع ذلك ، فإن العمل في المشروع يسير بسرعة ، ويمكنك أن تتوقع تحسينات ARM القادمة لتقليل الوقت.

يمكنك أيضًا محاكاة محادثات كاملة مع LLM بدلاً من إطعامها مطالبات واحدة تلو الأخرى. مضيفا -أنا الخيار سيبدأ اللاما في الوضع التفاعلي ، بينما - البدء التفاعلي سيطلب منك المدخلات في البداية. للحصول على قائمة كاملة بالخيارات المتاحة ، قم بتشغيل:

الرئيسي -ح

اعلم أن LlaMA ليس لديها قواعد تقييدية. سيكون ، في بعض الأحيان ، متحيزًا جنسيًا ، وعنصريًا ، ومعادًا للمثليين ، وخاطئًا جدًا.

نموذج اللغة الكبير ليس بديلاً عن المعرفة الحقيقية

يعد تشغيل Meta LLaMA على Raspberry Pi أمرًا رائعًا ، وقد تميل إلى اللجوء إلى المعلم الافتراضي الخاص بك للحصول على أسئلة فنية أو نصائح حول الحياة أو الصداقة أو كمصدر حقيقي للمعرفة. لا تنخدع. النماذج اللغوية الكبيرة لا تعرف شيئًا ولا تشعر بأي شيء ولا تفهم شيئًا. إذا كنت بحاجة إلى مساعدة في شيء ما ، فمن الأفضل التحدث إلى إنسان أو قراءة شيء كتبه إنسان.

إذا كان لديك وقت قصير ، فيمكنك قراءته بسرعة في محطة Linux الخاصة بك!