تُعَد InstructLab طريقة لتدريب نماذج الذكاء الاصطناعي والتي تهدف إلى تحسين النماذج اللغوية الكبيرة المستخدمة في تطوير تطبيقات الذكاء الاصطناعي التوليدي بشكل كبير.
تم تطوير InstructLab بواسطة IBM Research وRedHat، وهي مشروع مفتوح المصدر، ما يعني أنها تعتمد على مجتمع عالمي من المطورين (يُعرَف باسم مجتمع InstructLab) لبنائها وصيانتها.
تم إنشاء مشروع InstructLab لمعالجة المشكلات التي تعوق تطوير النماذج اللغوية الكبيرة (LLMs)، وأبرزها تكلفة التدريب والتعقيدات المرتبطة به وجمع البيانات وصعوبة المساهمة بالمهارات والمعرفة.
وفقًا لمجلة Forbes، نجحت InstructLab في تحسين أداء النماذج اللغوية الكبيرة وحل العديد من تحديات التوسع في التدريب التقليدي للنماذج اللغوية الكبيرة، ما أدى إلى القضاء على حاجة المؤسسات إلى بناء وصيانة العديد منها. يُعَد هذا ممكنًا إلى حد كبير بفضل طريقة تدريب النماذج اللغوية الكبيرة المعروفة باسم "المحاذاة واسعة النطاق لروبوتات المحادثة"، أو LAB، والتي طورتها شركة IBM.
تعتمد أقوى روبوتات المحادثة اليوم، مثل Siri وAlexa وChatGPT، جميعها على النماذج اللغوية الكبيرة المدرَّبة مسبقًا، ما يسمح لها بتعلم المهام بسرعة أثناء عملية محاذاة الذكاء الاصطناعي. لكن الوصول بالذكاء الاصطناعي إلى هذا المستوى قد يكون مكلفًا ويستغرق وقتًا طويلًا، وغالبًا ما تفتقر النماذج التي تظهر إلى العمق اللازم للتغلب على المواقف المعقدة والدقيقة التي تُشبه المواقف البشرية. وفقًا لمعهد IBM Institute of Business Value، توقَّع المديرون التنفيذيون أن ترتفع التكلفة المتوسطة للحوسبة بنسبة 90% تقريبًا بسبب متطلبات بناء النماذج اللغوية الكبيرة لتطبيقات الذكاء الاصطناعي التوليدي.
المحاذاة واسعة النطاق لروبوتات المحادثة (LAB) هي طريقة لتوليد البيانات اصطناعيًا لأداء مهام محددة تحتاج المؤسسة أن تؤديها روبوتات المحادثة. وعلى عكس أساليب التدريب التقليدية، فإنها تمكِّن روبوتات المحادثة من استيعاب المعلومات الجديدة بسرعة وتعلُّم مهارات جديدة دون الكتابة فوق الأشياء التي تعلمتها بالفعل.
يختلف نهج InstructLab في تطوير وصيانة النموذج اللغوي الكبير عن النماذج الأخرى في أنه يضع العملية بثبات في أيدي مجتمع عالمي من المطورين، وهي العملية المعروفة باسم الذكاء الاصطناعي مفتوح المصدر. تمامًا كما تُتيح البرمجيات مفتوحة المصدر للمطورين المساهمة في تطوير التعليمات البرمجية والميزات، فإن الذكاء الاصطناعي مفتوح المصدر يسمح لهم بإضافة مهارات وقدرات جديدة والتكرار بسرعة على النماذج الموجودة.
يعتمد نهج InstructLab في بناء النماذج اللغوية الكبيرة على طريقة LAB، وهو نهج يختلف عن النهج الآخر في ثلاث طرق أساسية:
في تدريب النماذج اللغوية الكبيرة، التصنيف الهرمي هو هيكل هرمي يصنِّف المهارات ومجالات المعرفة الأساسية لتطبيق النموذج المقصود. على سبيل المثال، يختلف التصنيف الهرمي للنموذج اللغوي الكبير المطبَّق على سيارة ذاتية القيادة بشكل كبير عن التصنيف الهرمي للنموذج المستخدم في البحث الطبي، تمامًا كما يحتاج سائق السباق إلى تعلُّم مهارات مختلفة عن الطبيب.
تم تنظيم بيانات InstructLab بطريقة تسهِّل فهم المهارات وقاعدة المعرفة الموجودة في النموذج. كما أن بساطة هيكل InstructLab تجعل من السهل على المطورين تحديد الفجوات وملء المعرفة والمهارات عند الضرورة. يُتيح تنظيم البيانات القائم على التصنيف أيضًا استهداف النماذج خصيصًا لحالات الاستخدام الجديدة، مثل البحث أو تطبيق إنترنت الأشياء (IoT) المحدد، مع تزويدها بالمهارات المناسبة.
ولتحقيق هذه الغاية، يعتمد نهج InstructLab بشكل كبير على YAML (اختصار "YAML Ain’t No Markup Language" أو "Yet Another Markup Language") وهو تنسيق موحَّد لتمثيل البيانات بطريقة تجعل من السهل على البشر والآلات تفسيرها. يمهِّد نهج YAML الطريق للخطوة الرئيسية التالية في عملية InstructLab: توليد البيانات الاصطناعية على نطاق واسع.
بمجرد معالجة البيانات لنموذج محدد للتدريب عليه، يصبح النموذج نفسه جاهزًا لإنشاء بياناته الخاصة استنادًا إلى بيانات التدريب، وهي العملية المعروفة باسم توليد البيانات الاصطناعية. ما يميّز نهج InstructLab في هذه الخطوة في تدريب النماذج اللغوية الكبيرة هو النطاق الذي يتم به ذلك ودقة البيانات التي يمكن أن يولِّدها. بالاعتماد مرة أخرى على طريقة المحاذاة واسعة النطاق لروبوتات المحادثة (LAB)، يضيف نهج InstructLab خطوة آلية، ما يعمل على تحسين الإجابات التي تولِّدها النماذج اللغوية الكبيرة بشكل أكبر لضمان دقتها.
تعتمد البيانات الجديدة التي تم توليدها خلال هذه الخطوة، والتي تُعَد ضرورية لتدريب جميع النماذج اللغوية الكبيرة، وليس فقط تلك الخاصة بطريقة InstructLab، على ما يُعرَف باسم نموذج "المعلم"، وهو نموذج أكبر يُنشئ تصنيفات وبيانات لنموذج "الطالب" الأصغر والأكثر كفاءة للتعلم منه.
باستخدام طريقة LAB، لا تعتمد النماذج اللغوية الكبيرة الخاصة بـ InstructLab فعليًا على البيانات المخزَّنة في نموذج المعلم، بل على مطالبات محددة تزيد بشكل كبير من مجموعة البيانات مع ضمان بقاء الأمثلة التي يولِّدها نموذج "الطالب" متوافقة مع الغرض المقصود من النموذج.
بحسب IBM Research، فإن هذا النهج "يُنشئ بشكل منهجي بيانات اصطناعية للمهام التي تريد أن ينجزها روبوت المحادثة الخاص بك، ولاستيعاب المعرفة والقدرات الجديدة في نموذج الأساس، دون الكتابة فوق ما تعلمه النموذج بالفعل".
في الخطوة الأخيرة من عملية InstructLab/LAB، تتم إعادة تدريب النموذج اللغوي الكبير على البيانات الاصطناعية التي كان يتعلم منها، ما يؤدي إلى تحسين مهاراته وتحسين دقة إجاباته. تنقسم هذه الخطوة الأخيرة إلى مرحلتين:
عادةً ما تستخدم النماذج اللغوية الكبيرة المدرَّبة بالطرق التقليدية عملية تُعرَف باسم التوليد المعزز بالاسترجاع (RAG) لتعزيز معرفتها من خلال تدريب أكثر تركيزًا ومتخصصًا في المجال. يُعَد RAG أداة مفيدة للمؤسسات التي تحتاج إلى إضافة بيانات خاصة إلى نموذج أساسي قائم لغرض محدد، دون التنازل عن التحكم في بياناتها الخاصة.
يمكن استخدام طريقة InstructLab/LAB لنفس الغرض مثل عملية RAG التقليدية، ولكن بدلًا من إضافة المعرفة المحددة الموجودة، فإنها تركِّز بشكل أكبر على مساهمات المستخدم النهائي من مجتمعها لبناء المعرفة والمهارات ذات الصلة. يمكن للمؤسسات التي تسعى إلى ضبط النماذج اللغوية الكبيرة بدقة لتحقيق غرض محدد أن تستخدم كلًّا من RAG وInstructLab/LAB لتحقيق النتائج المثالية.
مع تزايد متطلبات تطبيقات الذكاء الاصطناعي، تصبح النماذج اللغوية الكبيرة الداعمة لها أكبر وأكثر تعقيدًا، ما يفرض بدوره متطلبات أكثر صرامة على البنية التحتية الأساسية للذكاء الاصطناعي. تعتمد InstructLab/LAB، مثل جميع أساليب تدريب النماذج المتقدمة الأخرى، على بنية تحتية كثيفة الاستخدام لوحدات GPU، قادرة على تلبية معايير الأداء اللازمة لإعادة تدريب نماذج الذكاء الاصطناعي باستمرار وفقًا للمساهمات من مجتمعها العالمي مفتوح المصدر على github.com/instructlab.
لحسن الحظ، تلتزم IBM بتوفير جميع متطلبات التخزين وإدارة البيانات وسير العمل والممارسات اللازمة لنجاح مشاريع النماذج اللغوية الكبيرة.
اليوم، تشكِّل النماذج اللغوية الكبيرة الأساس لأكثر حالات استخدام الذكاء الاصطناعي جذبًا للاهتمام، بدءًا من روبوتات المحادثة والذكاء الاصطناعي التوليدي ومساعدي البرمجة، ووصولًا إلى حوسبة الحافة وتطبيقات إنترنت الأشياء (IoT) وغيرها. يمكن أن تكون هذه النماذج ملكية خاصة، مثل OpenAI وClaude، أو نماذج تعتمد على مبادئ المصدر المفتوح فيما يتعلق ببيانات التدريب المسبق التي تستخدمها، مثل Mistral وLlama-2 ونماذج Granite من IBM.
تتميز InstructLab بقدرتها على مطابقة أداء النماذج الخاصة وحتى تجاوزها باستخدام النماذج المتاحة للجمهور. تعتمد IBM® watsonx، وهي منصة الذكاء الاصطناعي والبيانات المصممة لمساعدة الشركات على توسيع نطاق تأثير الذكاء الاصطناعي وتسريعه، عليها بشكل كبير. على سبيل المثال، تفوَّق Merlinite-7B، وهو نموذج تم تدريبه حديثًا بواسطة LAB، على العديد من النماذج الخاصة في مجالات رئيسية، وفقًا لدراسة بحثية من IBM® Research.
لتلبية متطلبات تطبيقات الذكاء الاصطناعي التوليدي المتقدمة، يعتمد المطورون غالبًا على نموذج لغوي كبير حالي حيث يعملون على تكييفه لتلبية احتياجات عمل محددة. على سبيل المثال، تخيَّل شركة تأمين تسعى إلى بناء تطبيق ذكاء اصطناعي لمساعدة الموظفين على استخلاص رؤى من بيانات العملاء الخاصة. اليوم، من المحتمل أن يقوموا بشراء نموذج لغوي كبير مخصص لروبوتات المحادثة وتعديله وفقًا لاحتياجاتهم. لكن هذا النهج له العديد من القيود المهمة:
تستطيع طريقة InstructLab تدريب النماذج اللغوية الكبيرة باستخدام عدد أقل من المدخلات البشرية وموارد حوسبة أقل بكثير. يعتمد أساس طريقة التدريب في معظم النماذج اللغوية الكبيرة الحديثة، وخاصةً تلك التي تدعم روبوتات المحادثة القوية، على التدريب المسبق المكثف على مجموعات بيانات كبيرة من النصوص غير المنظمة. بينما يُتيح هذا الأسلوب التدريبي للنماذج اللغوية الكبيرة اكتساب مهارات جديدة بسرعة نسبية في مرحلة المحاذاة، إلا إنه مكلِّف ويتطلب مساهمة بشرية كبيرة.
يستخدم نهج LAB، الذي طوَّرته IBM Research، توليد بيانات اصطناعية قائمة على التصنيف لتقليل التكاليف والحاجة إلى المدخلات البشرية. وبالاقتران مع نهج InstructLab مفتوح المصدر والقائم على مجتمع المطورين، يساهم هذا الأسلوب بشكل فعَّال في إتاحة إمكانية تطوير النماذج اللغوية الكبيرة اللازمة لتطبيقات الذكاء الاصطناعي التوليدي للجميع.
تم تصميم واجهة سطر الأوامر (CLI) الخاصة بطريقة InstructLab، وهي مجموعات التعليمات التي يستخدمها المطورون لإدارتها، لتعمل حتى على أجهزة شائعة الاستخدام مثل أجهزة الكمبيوتر المحمول الشخصية، ويتم تشجيع المطورين على المساهمة بالمعرفة أو المهارات الجديدة عبر مجتمع الذكاء الاصطناعي Hugging Face.
تتبنّى InstructLab نهجًا مفتوح المصدر قائمًا على المجتمع لضبط النماذج اللغوية الكبيرة لتناسب مجموعة واسعة من حالات الاستخدام. وفيما يلي بعض من أكثرها شيوعًا.
يمكن تدريب النماذج اللغوية الكبيرة المطوَّرة باستخدام نهج InstructLab لاكتساب مهارات ومعرفة جديدة للعديد من التطبيقات في قطاع الرعاية الصحية، بدءًا من تحليل كميات هائلة من البيانات السريرية لمساعدة العلماء على تحقيق اكتشافات في البحث الطبي، ووصولًا إلى تقييم مخاطر المرضى بناءً على تاريخهم الطبي وغير ذلك.
في القطاع المصرفي، يمكن لنهج InstructLab بناء النماذج اللغوية الكبيرة مع التركيز على تحليل التداول وتوقعات النماذج، لمساعدة المؤسسات على اكتشاف التوجهات والتنبؤ بالمخاطر المرتبطة باستراتيجيات التداول. يمكن أيضًا استخدامه لتدريب النماذج اللغوية الكبيرة لتطبيقات الذكاء الاصطناعي التوليدي في التمويل الشخصي، مثل الادخار للتقاعد، وإعداد الميزانيات، وغيرها.
يمكن للنماذج اللغوية الكبيرة المدرَّبة باستخدام نهج InstructLab تشغيل روبوتات محادثة ذكية مدرَّبة في مجالات محددة من خدمة العملاء، مثل إرجاع منتج أو طلب منتج معين. علاوةً على ذلك، يمكن لطريقة LAB المساعدة على تحسين النماذج اللغوية الكبيرة لتعمل كمساعدين افتراضيين يمتلكون مجموعة معقدة من المهارات، مثل جدولة المواعيد وحجز السفر وتقديم الضرائب وغير ذلك.
تساعد طريقة InstructLab على تحسين النماذج اللغوية الكبيرة المستخدمة خلف تطبيقات الذكاء الاصطناعي التوليدي في التسويق لمجموعة متنوعة من الأغراض. ويمكنها تعلم تحليل بيانات العملاء لاستخلاص رؤى حول سلوكهم وتفضيلاتهم للمنتجات وكذلك تصميم المنتجات المستقبلية. ويمكنها أيضًا اكتساب المهارات اللازمة لتقديم نصائح مخصصة حول المنتجات، مثل مقاس الحذاء أو الملابس وتفضيلات الألوان وغير ذلك.
يمكن أن يحقق تطبيق طريقة InstructLab في تدريب النماذج اللغوية الكبيرة لدعم تحسين دورة حياة عمليات التطوير فوائد عدة للمطورين. يمكن للنماذج اللغوية الكبيرة المدرَّبة باستخدام طريقة InstructLab توليد الأكواد وإنشاء النصوص البرمجية، وأتمتة تهيئة البنية التحتية (تطبيقات البنية التحتية ككود - IaC)، وتسريع وتحسين حل المشكلات الروتينية، واستكشاف الأخطاء وإصلاحها، وكذلك تحليل الأكواد ومراجعتها.