Cross-Stack Validation of Language-Model Training: A Clinical Fine-Tuning Case Study
تُثبت هذه الورقة أن مجموعات التدريب المنفذة بشكل مستقل، وتحديداً PyTorch وإطار عمل قائم على لغة Zig يسمى numbat، يمكن أن تعمل كأدوات مقارنة تفاضلية فعالة للتحقق من ضبط النماذج اللغوية السريرية واسعة النطاق، حيث نجحت في كشف 17 خطأً لم يتم رصدهم سابقاً — بما في ذلك عدم تطابق حرج في عرض البيانات ومشكلات في إدارة الذاكرة خاصة باللغة — والتي أغفلها التطوير أحادي المجموعة.
البحث الأصلي مرخَّص بموجب CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). هذا شرح مولَّده بالذكاء الاصطناعي للبحث أدناه. لم يكتبه المؤلفون. وللتحقق من الدقة التقنية، يرجى الرجوع إلى البحث الأصلي. اقرأ إخلاء المسؤولية الكامل
في عالم الذكاء الاصطناعي الحديث، تتعلم الآلات من خلال ضبط مليارات "المقابض" الداخلية الصغيرة عبر عملية تسمى التدريب. هذه العملية عبارة عن سلسلة طويلة ومعقدة من الخطوات الرياضية حيث تقرأ الآلة البيانات، وتضع تخميناً، وتتحقق من مدى خطئها، ثم تعدل نفسها لتؤدي بشكل أفضل في المرة القادمة. لسنوات، قلق العلماء من أن هذه السلسلة قد تنكسر في صمت؛ إذ يمكن لبرنامج كمبيوتر أن يرتكب خطأً في حساباته، ومع ذلك ستظهر الآلة وكأنها لا تزال تتعلم، وسينخفض معدل الخطأ لديها، وستبدو النتيجة النهائية كنموذج يعمل بنجاح. ولأن الجميع تقريباً يستخدمون نفس المجموعة من الأدوات لبناء هذه البرامج، فمن النادر وجود طريقة ثانية مستقلة للتحقق مما إذا كانت الرياضيات تُجرى بالفعل بشكل صحيح. الأمر يشبه محاولة التحقق من عملية حسابية طويلة بينما لا تملك آلة حاسبة أخرى غير تلك التي تستخدمها للقيام بالعمل.
هذا اليقين أمر بالغ الأهمية لأن النموذج الذي تعلم الشيء الخاطئ يمكن أن يبدو بليغاً وواثقاً. فإذا كان البرنامج الذي يعمل تحت النموذج يحسب شيئاً مختلفاً عما قصده الباحثون، فإن النتيجة لن تكون توقفاً مفاجئاً أو خطأً واضحاً، بل نسخة أسوأ قليلاً من الذكاء لا يعرف أحد أنها معطلة. ولحل هذه المشكلة، بدأ الباحثون في طرح سؤال بسيط: ماذا يحدث لو بنينا عملية التدريب بأكملها مرتين، باستخدام أدوات ولغات مختلفة تماماً، ثم قارنا بينهما؟ إذا اتبعت النسختان نفس التعليمات تماماً، فيجب أن تنتجا مسار التعلم نفسه. وإذا اختلفتا، فهذا يعني أن إحداهما تخفي خطأً ما.
قرر فريق من الباحثين في مختبر "كلاود كايتس" (CloudKites AI Lab) وجامعة موناش اختبار هذه الفكرة في مهمة واقعية وعالية المخاطر: تعليم الكمبيوتر فهم الأسئلة الطبية. أخذوا نموذج لغة صغيراً ودربوه على ما يقرب من 170,000 زوج من الأسئلة والأجوبة السريرية. ولضمان اختبار عادل، كتبوا نظامي تدريب منفصلين تماماً؛ استخدم النظام الأول أدوات البرمجيات القياسية التي يستخدمها معظم العلماء اليوم، بينما بُني النظام الآخر من الصفر من قبل فريق مختلف، باستخدام لغة برمجة مختلفة ومجموعة مختلفة من المحركات الرياضية، دون أي كود مشترك بينهما. لقد غدوا كلا النظامين بنفس التعليمات، ونفس البيانات، ونفس نقطة البداية، ثم تركوهما يعملان لدورة كاملة من التعلم.
اتفق النظامان بشكل ملحوظ؛ فخلال مسار التدريب، الذي تضمن أكثر من 10,000 خطوة، كان الفرق في أدائهما ضئيلاً، حيث بلغ في المتوسط أقل من عُشرين من الواحد بالمائة. أثبت هذا الاتفاق الوثيق أن النظام الجديد والمستقل يمكن أن يعمل كفحص موثوق للنظام القياسي. لكن القيمة الحقيقية للتجربة لم تكن في الاتفاق، بل في الاختلافات. فمن خلال مقارنة النظامين، وجد الباحثون سبعة عشر خطأً خفياً لم يلاحظها أي من الفريقين أثناء العمل بمفرده. لم تكن هذه الأخطاء من النوع الذي يؤدي إلى توقف البرنامج عن العمل، بل كانت أخطاءً دقيقة من شأنها أن تقلل جودة النموذج النهائي بهدوء.
كان الاكتشاف الأكثر إثارة للدهشة هو أن الخطأ الأكبر لم يكن في الرياضيات على الإطلاق. فقد وجد الباحثون أن أحد الأنظمة كان ينسق النص الطبي بشكل مختلف قليلاً عن الآخر، مستخدماً تخطيطاً عاماً بدلاً من الأسلوب المحدد الذي صُمم النموذج لتعلمه. هذا الاختلاف الصغير في كيفية إعداد النص تسبب في انخفاض أداء النموذج بشكل أكبر بكثير من جميع أخطاء الحسابات العددية مجتمعة. في الواقع، أدى إصلاح مشكلة تنسيق النص هذه إلى تحسين مسار تعلم النموذج بنحو خمسمائة ضعف أكثر مما فعل إصلاح أخطاء الرياضيات الفعلية. كشف هذا أن الأخطاء الأكثر خطورة غالباً ما تختبئ في طريقة إعداد البيانات، قبل وقت طويل من بدء الحسابات المعقدة.
كما أظهرت الدراسة أن لغة البرمجة نفسها مهمة؛ إذ لم يكن بالإمكان العثور على أربعة من الأخطاء الخفية إلا عندما تم تشغيل النظام بواسطة لغة تدير ذاكرة الكمبيوتر بشكل مختلف عن الأخريات. على سبيل المثال، قامت إحدى اللغات بنقل المهام بين خيوط معالجة (threads) مختلفة بطريقة أربكت الحالة الداخلية للنظام، بينما فشل مدير الذاكرة في لغة أخرى في رؤية أن الكمبيوتر كان ينفد من المساحة على بطاقة الرسوميات الخاصة به. كانت هذه الأخطاء غير مرئية للأدوات القياسية لأنها اعتمدت على افتراضات حول كيفية تعامل الكمبيوتر مع الذاكرة كانت صحيحة للنظام الأول ولكنها خاطئة للثاني.
قاس الباحثون المدة التي استغرقتها عملية التحقق المزدوج هذا ووجدوا أنها ميسورة التكلفة. إن تشغيل النظام الثاني المستقل لم يستغرق وقتاً أطول بشكل كبير ولم يتطلب معدات أكثر تكلفة من تشغيل النظام الأول. وهذا يشير إلى أن ممارسة بناء نسخة ثانية ومستقلة من مسار التدريب ليست مجرد شبكة أمان نظرية، بل هي خطوة عملية يمكن للفرق اتخاذها اليوم. لا يدعي هذا العمل أنه حل جميع مشاكل الذكاء الاصطناعي، ولا يضمن أن النموذج الطبي الذي دربوهم آمن للمرضى الحقيقيين، بل يقدم منهجاً واضحاً للإمساك بالإخفاقات الصامتة. إنه يوضح أنه لكي نثق حقاً في نظام تعلم آلي، يجب أن ننظر إلى ما وراء النتيجة النهائية ونتحقق من الرحلة بأكملها، فنفحص ليس فقط الرياضيات، بل أيضاً البيانات، والكود، واللغة ذاتها المستخدمة لكتابتها.
غارق في أبحاث مجالك؟
تصلك نشرة يومية بأحدث الأبحاث المطابقة لكلماتك البحثية المفتاحية — مع ملخصات تقنية، بلغتك.