تاريخ النشر: 13 كانون الثاني (يناير) 2024
هذه هي المقالة الأولى في سلسلة من ثلاث مقالات عن النماذج اللغوية الكبيرة ومحادثات الدردشة. سبق أن تم نشر الجزء 2 حول إنشاء chatbot باستخدام WebLLM والجزء 3 حول استخدام Prompt API.
أصبحت النماذج اللغوية الكبيرة (LLM) عنصرًا أساسيًا مهمًا في تطوير البرامج: فهي مناسبة تمامًا لإنشاء محتوى باللغة الطبيعية ومعالجته، ما يتيح حالات استخدام مثل استخراج البيانات أو تلخيصها أو تسهيل المحادثات مع بيانات المستخدمين.
في هذه السلسلة، سأناقش مزايا تقنيات الذكاء الاصطناعي اللغوي (LLM) على الجهاز وعيوبها، وسأرشدك إلى كيفية إضافة إمكانات محادثة إلى تطبيق حالي باستخدام طريقتَين متاحتَين على الجهاز والاتصال بالإنترنت، وهما WebLLM لوقت تشغيل الذكاء الاصطناعي اللغوي المستنِد إلى الويب وواجهة برمجة التطبيقات التجريبية Prompt API في Chrome.
حالات الاستخدام المحتملة

سننشئ برنامجًا محادثيًا على تطبيق قائمة مهام كلاسيكي. يتوفّر رمز المصدر لكل خطوة على GitHub. يمكن للمستخدمين إضافة مهام جديدة، وتصنيفها على أنّها مكتملة، وحذفها.
يمكنك إضافة ميزة للمستخدمين للاطّلاع على مزيد من المعلومات عن بيانات قائمة المهام أو تنفيذ وظائف إضافية. يمكن أن تتيح ميزة برنامج المحادثة المبرمَجة للمستخدمين إجراء ما يلي:
- يمكنك الاستفسار عن عدد المهام المفتوحة.
- تحديد المهام المكرّرة أو المهام المتشابهة جدًا
- تصنيف المهام إلى مجموعات
- تلقّي اقتراحات بشأن مهام جديدة استنادًا إلى المهام المكتملة
- ترجمة المهام إلى لغات مختلفة
- تصدير قائمة المهام بتنسيق XML
هذه ليست سوى أمثلة قليلة على المهام التي يمكن أن تعالجها النماذج اللغوية الكبيرة.
ما هي النماذج اللغوية الكبيرة؟
النماذج اللغوية الكبيرة هي شبكات عصبية اصطناعية تعالج النصوص باللغة الطبيعية وتُنشئها. تستند معظم النماذج اللغوية الكبيرة الحالية إلى بنية Transformer، التي تم تطويرها في Google. وتشمل الأمثلة نماذج Gemini وGemma من Google، وسلسلة نماذج GPT من OpenAI، والنماذج المتاحة للجميع، مثل LLaMa من Meta AI وMistral من Mistral AI.
بفضل تدريبها على كميات هائلة من البيانات، تمتلك النماذج اللغوية الكبيرة مجموعة مثيرة للإعجاب من الإمكانات. فهم العديد من اللغات، أو معرفة معلومات عامة، أو القدرة على الترجمة بين اللغات، أو إنشاء رموز برمجية ويمكن أن يختلف مدى توفّر هذه الإمكانات بشكل كبير استنادًا إلى حجم النموذج، كما هو موضّح في مقالة فهم أحجام نماذج التعلم الآلي المتعدّد اللغات.
تؤدي النماذج اللغوية الكبيرة إلى تغيير نموذجي في بنية البرامج، لأنّ اللغة الطبيعية أصبحت الآن ميزة أساسية في هندسة البرامج. بدلاً من استدعاء واجهات برمجة التطبيقات باستخدام واجهات محدّدة جيدًا، يكفي التعبير عن القصد باللغة الطبيعية في ما يُسمّى طلبًا.
قيود النماذج اللغوية الكبيرة
تتضمن نماذج اللغة المحوسبة أيضًا قيودًا معيّنة:
- السلوك غير الحتمي: يمكن للنماذج اللغوية الكبيرة تقديم ردود مختلفة وأحيانًا متناقضة على الطلب نفسه، لأنّ نتائجها تعتمد على نماذج احتمالية بدلاً من قواعد ثابتة.
- الهلوسات: قد تنشئ هذه النماذج أحيانًا معلومات غير صحيحة أو غير منطقية، وذلك بالاستناد إلى أنماط تم تعلّمها بدلاً من الدقة الحقائق.
- عمليات إدخال الطلبات: يمكن أن تكون النماذج اللغوية الكبيرة عرضة لهجمات إدخال الطلبات، حيث ينشئ المستخدمون طلبات إدخال تتلاعب بالنموذج لتشتيت انتباهه عن وظيفته المقصودة أو لعرض نتائج غير مرغوب فيها.
لذلك، على المستخدمين التحقّق من النتائج التي تُنشئها النماذج اللغوية الكبيرة قبل اتّخاذ أي إجراءات لاحقة.
عند التعامل مع نماذج اللغة الكبيرة على الجهاز، يجب مراعاة حجمها. ويصل حجم ملفاتها إلى عدة غيغابايت، ويجب تنزيلها على جهاز المستخدم قبل الاستخدام لأول مرة. تميل النماذج الأصغر حجمًا إلى تقديم ردود بجودة أقل، خاصةً عند مقارنتها بالنماذج المستندة إلى السحابة الإلكترونية.
اختيار الحلول المحلية
قد يكون تفكيرك الأولي لدمج نموذج تعلم متعدّد اللغات في تطبيق الويب هو استخدام مقدّم خدمة السحابة الإلكترونية. يقدّم العديد من مقدّمي الخدمات نماذج لغوية كبيرة عالية الجودة، وبعضها حصري لمقدّمي خدمات معيّنين. توفّر النماذج اللغوية الكبيرة المستندة إلى السحابة الإلكترونية سرعة استنتاج سريعة بتكلفة معقولة، ويتم احتسابها عادةً لكل رمز مميّز تتم معالجته.
في المقابل، توفّر الحلول المحلية مزايا رائعة. من خلال التشغيل مباشرةً على جهاز المستخدم، توفّر النماذج اللغوية الكبيرة المستضافة محليًا مدة استجابة أكثر موثوقية، وتظل متاحة حتى عندما يكون المستخدم غير متصل بالإنترنت، ولا تتطلب من المطوّرين دفع رسوم اشتراك أو تكاليف أخرى مستمرة. ومن الجدير بالذكر أنّه يمكن لهذه الأدوات تحسين أمان المستخدمين بشكل كبير. من خلال إبقاء جميع الأنشطة على الجهاز، يمكنك تجنُّب نقل معلومات تحديد الهوية الشخصية (PII) إلى مقدمي خدمات أو مناطق خارجية.
العروض التوضيحية
يمكنك الاطّلاع على العروض التوضيحية المكتملة التي تتضمّن إمكانات روبوت الدردشة، قبل التعرّف على كيفية إنشائه بنفسك.
- طلب المهام الأصلي
- تطبيق "قوائم المهام" باستخدام WebLLM
- تطبيق "مهام مُهمّة" باستخدام Prompt API
- المصدر على GitHub
بعد ذلك، ستستخدم WebLLM لإضافة محادثة آلية إلى تطبيق قائمة المهام.