تاريخ النشر: 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 لإضافة محادثة آلية إلى تطبيق قائمة المهام.