الذكاء الاصطناعي
OLMo: تعزيز علم النماذج اللغوية
يُظهر تطوير النماذج اللغوية وتقدمها في السنوات القليلة الماضية وجودها تقريبًا في كل مكان، ليس فقط في أبحاث معالجة اللغة الطبيعية (NLP) ولكن أيضًا في العروض التجارية والتطبيقات الواقعية. ومع ذلك، فإن الاندفاع في الطلب التجاري على النماذج اللغوية قد حدد إلى حد ما نمو المجتمع. هذا لأن غالبية النماذج القوية والحديثة محمية خلف واجهات مملوكة، مما يجعل من المستحيل على مجتمع التطوير الوصول إلى تفاصيل حيوية من بنية التدريب والبيانات وعمليات التطوير. من غير الممكن إنكار أن هذه التفاصيل المتعلقة بالتدريب والهيكل حاسمة لأبحاث الدراسات، بما في ذلك الوصول إلى المخاطر والتحيزات المحتملة، وبالتالي خلق حاجة للمجتمع البحثي للوصول إلى نموذج لغوي مفتوح وقوي حقًا.
لتحقيق هذه الحاجة، قام المطورون بإنشاء OLMo، وهو إطار نموذج لغوي مفتوح المصدر وحديث. يسمح هذا الإطار للباحثين باستخدام OLMo لبناء ودراسة النماذج اللغوية. على عكس معظم النماذج اللغوية الحديثة، التي تم إصدارها مع رمز الواجهة وأوزان النموذج فقط، إطار OLMo مفتوح المصدر بشكل حقيقي، مع رمز التقييم العام وطرق التدريب وبيانات التدريب متاحة للجمهور. الهدف الرئيسي لOLMo هو تمكين وتعزيز مجتمع البحث المفتوح والتنمية المستمرة للنماذج اللغوية.
في هذه المقالة، سنناقش إطار OLMo بالتفصيل، معตรวจ هيكله وطريقة عمله وأدائه مقارنةً بالإطارات الحديثة. لذا، دعونا نبدأ.
OLMo: تعزيز علم النماذج اللغوية
يمكن القول إن النموذج اللغوي كان الأبرز في السنوات القليلة الماضية، ليس فقط داخل مجتمع الذكاء الاصطناعي والتعلم الآلي ولكن أيضًا عبر صناعة التكنولوجيا، بسبب قدراته الرائعة في أداء مهام العالم الحقيقي بأداء يشبه الإنسان. يُعد ChatGPT مثالًا رئيسيًا على الإمكانيات التي تتمتع بها النماذج اللغوية، مع استكشاف الشركات الكبيرة في صناعة التكنولوجيا دمج النماذج اللغوية مع منتجاتها.
معالجة اللغة الطبيعية (NLP) هي واحدة من الصناعات التي استخدمت النماذج اللغوية على نطاق واسع في السنوات القليلة الماضية. ومع ذلك، منذ أن بدأت الصناعة في استخدام التعليقات البشرية للتنظيم والتدريب المسبق على نطاق كبير، شهدت النماذج اللغوية تحسينًا سريعًا في قابليتها للتطبيق التجاري، مما أدى إلى أن تكون معظم النماذج اللغوية والنماذج NLP الحديثة لها واجهات مملوكة مقيدة، ولا يملك مجتمع التطوير وصولًا إلى تفاصيل حيوية.
لضمان تقدم النماذج اللغوية، يقدم OLMo، وهو نموذج لغوي مفتوح المصدر وحديث، إطارًا للمطورين لبناء ودراسة وتطوير النماذج اللغوية. كما يوفر للباحثين وصولًا إلى رمز التدريب والتقييم وطريقة التدريب وبيانات التدريب وسجلات التدريب و نقاط التفتيش الوسيطية للنموذج. النماذج الحديثة الحالية لها درجات مختلفة من الانفتاح، بينما أفرج نموذج OLMo عن الإطار بالكامل، من التدريب إلى البيانات وأدوات التقييم، وبالتالي تقليل الفجوة في الأداء عند مقارنته بنماذج حديثة مثل نموذج LLaMA2.
للمodeling والتدريب، يتضمن إطار OLMo رمز التدريب وأوزان النموذج الكاملة والتحليلات وسجلات التدريب ومتغيرات التدريب على شكل رمز الواجهة، بالإضافة إلى سجلات Weights & Biases. لتحليل وإنشاء مجموعة البيانات، يتضمن إطار OLMo مجموعة البيانات الكاملة المستخدمة لتدريب نموذج AI2’s Dolma و WIMBD، بالإضافة إلى رمز الذي ينتج مجموعة البيانات. لأغراض التقييم، يتضمن إطار OLMo نموذج AI2’s Catwalk لتقييم المنبع، ونموذج Paloma لتقييم الارتباك.
OLMo : النموذج والهيكل
يتبنى نموذج OLMo هيكلًا محولًا فحسب بناءً على نظام معالجة المعلومات العصبية، ويوفر نموذجين بمتغيرات 1 مليار و7 مليارات، مع نموذج 65 مليار متغير قيد التطوير.

يوفر هيكل إطار OLMo عدة تحسينات على الإطارات الأخرى، بما في ذلك مكون المحول الفانيلا في هيكله، بما في ذلك النماذج اللغوية الكبيرة الحديثة مثل OpenLM وFalcon وLLaMA وPaLM. يشير الجدول التالي إلى مقارنة نموذج OLMo مع 7 مليارات متغير مقابل النماذج اللغوية الكبيرة الحديثة التي تعمل على أعداد متساوية من المتغيرات.

يختار إطار OLMo المعاملات Hyperparameters من خلال تحسين النموذج لزيادة تدفق التدريب على الأجهزة مع تقليل مخاطر الانحراف البطيء وارتفاع الخسائر. مع ذلك، التغييرات الرئيسية التي قام بها إطار OLMo والتي تميزه عن هيكل المحول الفانيلا هي كما يلي:
لا تحيزات
على عكس Falcon وPaLM وLLaMA وغيرها من النماذج اللغوية، لا يتضمن إطار OLMo أي تحيز في هيكله لتعزيز استقرار التدريب.
معايير طبقة غير 매ترية
يطبق إطار OLMo صياغة غير 매ترية لمعيار الطبقة في هيكله. يوفر معيار الطبقة غير 매ترية تحويلًا غير 매تري داخل المعيار، أي أنه لا يوفر أي مكسب أو تحيز قابل للتعديل. معايير الطبقة غير 매ترية لا توفر فقط أمانًا أكبر من معايير الطبقة 매ترية، ولكنها أيضًا أسرع.
دالة تفعيل SwiGLU
مثل معظم النماذج اللغوية مثل PaLM وLLaMA، يتضمن إطار OLMo دالة تفعيل SwiGLU في هيكله بدلاً من دالة تفعيل ReLU، ويزيد حجم التنشيط المخفي إلى أقرب مضاعف لـ 128 لتحسين الإنتاجية.
RoPE أو التضمين الموضعي الدوراني
يتبع نموذج OLMo نموذج LLaMA وPaLM ويتبادل التضمين الموضعي المطلق بالتضمين الموضعي الدوراني (RoPE).
التدريب المسبق مع Dolma
على الرغم من أن مجتمع التطوير يملك الآن وصولًا محسّنًا إلى معاملات النموذج، تبقى أبواب وصول بيانات التدريب المسبق مغلقة لأن بيانات التدريب المسبق لا يتم إصدارها جنبًا إلى جنب مع النماذج المغلقة أو النماذج المفتوحة. بالإضافة إلى ذلك، غالبًا ما تفتقد الوثائق الفنية التي تغطي هذه البيانات إلى التفاصيل الحيوية المطلوبة لفهم وتمثيل النموذج بشكل كامل. يُشكل هذا الحاجز عائقًا أمام التقدم في بعض مجالات أبحاث نموذج اللغة، بما في ذلك فهم كيفية تأثير بيانات التدريب على قدرات وقيود النموذج. بنى إطار OLMo وقام بإصدار مجموعة بيانات التدريب المسبق، Dolma، لتسهيل البحث المفتوح على نموذج اللغة.

تتكون مجموعة بيانات Dolma من مجموعة متعددة ومتنوعة من أكثر من 3 تريليونات رمز عبر 5 مليارات وثائق تم جمعها من 7 مصادر مختلفة شائعة الاستخدام من قبل النماذج اللغوية الكبيرة للمتدربين ومتاحة للجمهور. يُظهر الجدول التالي ملخصًا لتكوين مجموعة بيانات Dolma.
تم بناء مجموعة بيانات Dolma باستخدام خط أنابيب يتكون من 5 مكونات: تصفية اللغة وتصفية الجودة وتصفية المحتوى وخلط متعدد المصادر وإزالة التكرارات وتOKENIZATION. كما أفرج OLMo عن تقرير Dolma الذي يوفر رؤى أعمق في مبادئ التصميم وتفاصيل البناء مع ملخص محتوى أكثر تفصيلًا. كما أفرج النموذج عن أدواته العالية الأداء لتنقية البيانات لتسهيل processo سهل وسريع لتنقية مجموعات بيانات التدريب.
تدريب OLMo
من المهم ملاحظة أن نماذج إطار OLMo يتم تدريبها باستخدام استراتيجية محسّن ZeRO، التي يتم توفيرها بواسطة إطار FSDP من خلال PyTorch، وبالتالي يقلل بشكل كبير من استهلاك ذاكرة GPU عن طريق تقسيم أوزان النموذج عبر GPUs. مع ذلك، يمكن إجراء التدريب عند مقياس 7B باستخدام حجم دفعة صغيرة من 4096 رمز لكل GPU على أجهزتنا. يستخدم إطار التدريب لنماذج OLMo-1B و-7B حجم دفعة ثابت على مستوى العالم يبلغ حوالي 4M رمز (2048 مثيل لكل منها بطول تسلسل 2048 رمز). بالنسبة للنموذج OLMo-65B (قيد التدريب حاليًا)، يستخدم المطورون حجم دفعة تدريجي يبدأ عند حوالي 2M رمز (1024 مثيل)، ويتضاعف كل 100B رمز حتى حوالي 16M رمز (8192 مثيل).
لتحسين الإنتاجية، نستخدم التدريب المختلط الدقة (Micikevicius et al., 2017) من خلال إعدادات FSDP المدمجة ووحدة amp في PyTorch. يضمن الأخير أن يتم تشغيل بعض العمليات مثل softmax دائمًا بدقة كاملة لتحسين الاستقرار، بينما يتم تشغيل جميع العمليات الأخرى بدقة نصفية بتنسيق bfloat16. في إعداداتنا المحددة، يتم الاحتفاظ بأوزان النموذج ومحتوى المحسّن المحلي على كل GPU بدقة كاملة. يتم وضع أوزان كل كتلة محول في تنسيق bfloat16 عند تنفيذ المعاملات الكاملة على كل GPU خلال المراحل الأمامية والخلفية. يتم تقليل التدرجات عبر GPUs بدقة كاملة.
المحسّن
يستخدم إطار OLMo محسّن AdamW مع المعاملات التالية.

对于 جميع أحجام النموذج، يتم تسخين معدل التعلم بشكل خطي خلال الخطوات الأولى 5000 (∼21B رمز) إلى قيمة أقصى، ثم ينخفض بشكل خطي مع العكس المربع للعدد الخطوة إلى معدل التعلم الأدنى المحدد. بعد فترة التسخين، يقطع النموذج التدرجات بحيث لا يتجاوز مجموع ل-norm لتدرجات المعاملات 1.0. الجدول التالي يوفر مقارنة لإعدادات المحسّن لدينا عند مقياس 7B مع تلك المستخدمة في النماذج اللغوية الحديثة الأخرى التي تستخدم AdamW.

بيانات التدريب
يتضمن التدريب تحويل رمز التدريب إلى كلمات وBPE tokenizer لمODEL Sentence Piece بعد إضافة رمز EOS الخاص في نهاية كل وثيقة، ثم يتم تجميع قطع متتالية من 2048 رمز لتشكيل مثيلات التدريب. يتم خلط مثيلات التدريب بنفس الطريقة لكل تشغيل تدريب. يمكن إعادة بناء ترتيب البيانات وتكوين كل دفعة التدريب من الملفات التي يتم إصدارها. جميع نماذج OLMo التي تم إصدارها تم تدريبها على الأقل 2T رمز (دورة واحدة على بيانات التدريب)، وبعضها تم تدريبه بشكل أكبر من ذلك بالبدء في الدورة الثانية على البيانات بترتيب خلط مختلف.
النتائج
نقطة التفتيش المستخدمة لتقييم OLMo-7B تم تدريبها حتى 2.46T رمز على مجموعة بيانات Dolma مع جدول انحدار معدل التعلم الخطي المذكور سابقًا. يمكن تعديل هذه النقطة حتى 1000 خطوة مع معدل تعلم منخفض خطيًا إلى 0 لزيادة أداء النموذج على الارتباك وتقييمات المهام النهائية الموصوفة سابقًا.对于 التقييم النهائي، قمنا بمقارنة OLMo مع النماذج العامة الأخرى – LLaMA-7B وLLaMA2-7B وPythia-6.9B وFalcon-7B وRPJ-INCITE-7B.
التقييم المنبع
يتم تلخيص مجموعة التقييم الرئيسية في الجدول التالي.

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

يُظهر الجدول التالي تقدم درجة الدقة لجميع المهام التسعة النهائية. يمكن استنتاج أن هناك اتجاهًا عامًا متزايدًا في رقم الدقة لجميع المهام، باستثناء OBQA، حيث يتم تدريب OLMo-7B بشكل أكبر على المزيد من الرموز. يُظهر ارتفاع حاد في دقة العديد من المهام بين الخطوة الأخيرة والثانية الأخيرة من الخطوات الفائدة من تقليل معدل التعلم بشكل خطي إلى 0 خلال الخطوات 1000 التدريبية النهائية.
الأفكار النهائية
في هذه المقالة، تحدثنا عن OLMo، وهو نموذج لغوي مفتوح المصدر وحديث يقدم إطارًا للمطورين لبناء ودراسة وتطوير النماذج اللغوية، مع تقديم وصول للباحثين إلى رمز التدريب والتقييم وطريقة التدريب وبيانات التدريب وسجلات التدريب ونقاط التفتيش الوسيطية للنموذج. النماذج الحديثة الحالية لها درجات مختلفة من الانفتاح، بينما أفرج نموذج OLMo عن الإطار بالكامل، من التدريب إلى البيانات وأدوات التقييم، وبالتالي تقليل الفجوة في الأداء عند مقارنته بنماذج حديثة مثل نموذج LLaMA2.












