بطاقة نموذج CodeGemma

صفحة الطراز: CodeGemma

المراجع والمستندات الفنية:

بنود الاستخدام: البنود

المؤلفون: Google

معلومات الطراز

ملخّص النموذج

الوصف

CodeGemma هي مجموعة من نماذج الرموز المفتوحة البسيطة التي تم إنشاؤها استنادًا إلى Gemma. نماذج CodeGemma هي نماذج تحويل النص إلى نص وتحويل النص إلى ترميز فقط متوفرة كصيغة مدرّبة مسبقًا من 7 مليار صيغة متخصّصة في إكمال الرموز البرمجية ومهام إنشاء التعليمات البرمجية، وهي عبارة عن 7 مليار متغير تم ضبط تعليماته وفقًا لتعليمات محادثة التعليمات البرمجية والتعليمات التالية ومتغيرة مدربة مسبقًا تضم 2 مليار معلمة لإكمال التعليمات البرمجية بسرعة.

المُدخلات والمُخرجات

  • الإدخال: لخيارات النموذج المدرَّب مسبقًا: بادئة الرمز واللاحقة الاختيارية لسيناريوهات إكمال الرموز البرمجية وإنشاؤها أو النصوص/الطلبات بلغة طبيعية بالنسبة إلى صيغة النموذج المضبوط وفقًا للتعليمات: نص باللغة الطبيعية أو طلب

  • النتيجة: لخيارات النماذج المدرّبة مسبقًا: رمز التعبئة في المنتصف والاكتمال والترميز واللغة الطبيعية. لخيار الطراز المضبوط وفقًا للتعليمات: والترميز واللغة الطبيعية.

معلومات الكتاب

@article{codegemma_2024,
    title={CodeGemma: Open Code Models Based on Gemma},
    url={https://goo.gle/codegemma},
    author={ {CodeGemma Team} and Hartman, Ale Jakse and Hu, Andrea and Choquette-Choo, Christopher A. and Zhao, Heri and Fine, Jane and Hui,
    Jeffrey and Shen, Jingyue and Kelley, Joe and Howland, Joshua and Bansal, Kshitij and Vilnis, Luke and Wirth, Mateo and Nguyen, Nam, and Michel, Paul and Choy, Peter and Joshi, Pratik and Kumar, Ravin and Hashmi, Sarmad and Agrawal, Shubham and Zuo, Siqi and Warkentin, Tris and Gong, Zhitao et al.},
    year={2024}
}

بيانات النموذج

مجموعة بيانات التدريب

وباستخدام Gemma كنموذج أساسي، يتم استخدام المتغيرات المُدرَّبة مسبقًا من CodeGemma 2B و7B تم تدريبه أكثر على 500 إلى 1,000 مليار رمز مميز إضافي باللغة الإنجليزية بيانات لغوية من مجموعات بيانات رياضية مفتوحة المصدر وتم إنشاؤها بطريقة اصطناعية الرمز.

معالجة بيانات التدريب

تم تطبيق تقنيات المعالجة المسبقة للبيانات التالية لتدريب CodeGemma:

  • FIM - تركز نماذج CodeGemma المدرَّبة مسبقًا على مهام التعبئة في المنتصف. يتم تدريب النماذج على العمل مع كل من وضعَي PSM وSPM. إعدادات FIM هي من 80% إلى 90% من معدّل FIM مع من 50 إلى 50 من PSM/SPM.
  • أساليب التعبئة والتغليف المستند إلى الرسم البياني التبعية وتعبئة الوحدة اللغوية القائمة على اختبار الوحدة: ولتحسين توافق النموذج مع التطبيقات الواقعية، أجرينا دورة تدريبية الأمثلة على مستوى المشروع/المستودع لتحديد المصدر الأكثر صلة الملفات داخل كل مستودع. وعلى وجه التحديد، استخدمنا منهجين استدلاليين التقنيات: التعبئة باستخدام الرسم البياني التبعي وتعبئة التغليف اللغوية القائمة على اختبار الوحدة.
  • طوّرنا أسلوبًا جديدًا لتقسيم المستندات إلى بادئة، والوسط واللاحقة لجعل اللاحقة تبدأ بطريقة طبيعية أكثر من حيث البنية بدلاً من التوزيع العشوائي البحت.
  • الأمان: على غرار Gemma، نشرنا فلاتر صارمة للسلامة، بما في ذلك فلترة البيانات الشخصية وفلترة مواد الاعتداء الجنسي على الأطفال وغيرها من الفلترة استنادًا إلى المحتوى الجودة والسلامة بما يتماشى مع سياساتنا.

معلومات التنفيذ

الأجهزة وأُطر العمل المستخدمة أثناء التدريب

مثل "جيما" تم تدريب CodeGemma على أحدث جيل من وحدة معالجة المستشعرات (TPU) الأجهزة (TPUv5e)، باستخدام JAX وML المسارات:

معلومات التقييم

نتائج قياس الأداء

نهج التقييم

نتائج مقياس أداء الترميز

مقياس الأداء 2B 2B (1.1) 7 مليار 7 مليار 7B-IT (1.1)
HumanEval 31.1 37.8 44.5 56.1 60.4
MBPP 43.6 49.2 56.2 54.2 55.6
خط HumanEval أحادي 78.4 79.3 76.1 68.3 77.4
نموذج HumanEval متعدد الأسطر 51.4 51.0 58.4 20.1 23.7
BC HE C++ 24.2 19.9 32.9 42.2 46.6
BC HE C# 10.6 26.1 22.4 26.7 54.7
BC HE Go 20.5 18 21.7 28.6 34.2
BC HE Java 29.2 29.8 41.0 48.4 50.3
JavaScript BC HE 21.7 28.0 39.8 46.0 48.4
لغة BC HE Kotlin 28.0 32.3 39.8 51.6 47.8
لغة BC HE Python 21.7 36.6 42.2 48.4 54.0
BC HE Rust 26.7 24.2 34.1 36.0 37.3
BC MBPP C++ 47.1 38.9 53.8 56.7 63.5
رقم BC MBPP C# 28.7 45.3 32.5 41.2 62.0
BC MBPP Go 45.6 38.9 43.3 46.2 53.2
لغة BC MBPP Java 41.8 49.7 50.3 57.3 62.9
لغة JavaScript لـ BC MBPP 45.3 45.0 58.2 61.4 61.4
لغة البرمجة BC MBPP Kotlin 46.8 49.7 54.7 59.9 62.6
BC MBPP Python 38.6 52.9 59.1 62.0 60.2
BC MBPP Rust 45.3 47.4 52.9 53.5 52.3

مقاييس أداء اللغة الطبيعية (على 7 مليار نموذج)

مخطط شريطي يقارن بين Gemma وCodeGemma PT وCodeGemma IT عبر مقاييس إمكانات لغوية مختلفة. النماذج الثلاثة متشابهة تقريبًا، مع احتفاظ CodeGemma بفهم قوي للغة الطبيعية.

الأخلاقيات والأمان

الأخلاقيات وتقييمات السلامة

نهج التقييمات

وتشمل طرق التقييم لدينا التقييمات المهيكلة والفريق الأحمر الداخلي اختبار سياسات المحتوى ذات الصلة تم إجراء الفريق الأحمر بواسطة عدد من فرق مختلفة، ولكل منها أهداف ومقاييس تقييم بشري مختلفة. وقد تم تقييم هذه النماذج مقابل عدد من الفئات المختلفة ذات الصلة الأخلاقيات والسلامة، بما في ذلك:

  • تقييم يُجري فريقًا مختصًا بالطلبات التي تتناول أمان المحتوى وتمثيله ضررًا. يمكنك الاطّلاع على بطاقة نموذج Gemma لمزيد من التفاصيل حول منهج التقييم.

  • اختبار محدد لإمكانيات الجرائم الإلكترونية، مع التركيز على اختبار الإجراءات الذاتية إمكانات الاختراق وضمان الحد من الأضرار المحتملة.

نتائج التقييم

نتائج تقييمات الأخلاقيات وتقييمات السلامة ضمن المعايير المقبولة للاجتماعات السياسات الداخلية عن فئات مثل سلامة الأطفال وأمان المحتوى والأضرار التمثيلية والحفظ والأضرار الواسعة النطاق. يمكنك الاطّلاع على بطاقة نموذج Gemma لمزيد من التفاصيل.

استخدام النموذج وقيوده

القيود المعروفة

تخضع النماذج اللغوية الكبيرة (LLM) لقيود حسب بيانات التدريب الخاصة بها القيود الكامنة في التكنولوجيا. يمكنك الاطّلاع على بطاقة نموذج Gemma للاطّلاع على مزيد من التفاصيل حول قيود النماذج اللغوية الكبيرة.

الاعتبارات والمخاطر الأخلاقية

إنّ تطوير النماذج اللغوية الكبيرة (LLM) يثير عدة مخاوف أخلاقية. وقد نأخذ في الاعتبار بعناية جوانب متعددة أثناء تطوير هذه النماذج.

يرجى الرجوع إلى نفس المناقشة في بطاقة نموذج Gemma للحصول على تفاصيل النموذج.

الغرض من الاستخدام

طلب الانضمام

تمتلك نماذج Code Gemma مجموعة واسعة من التطبيقات، والتي تختلف بين قسمَي تكنولوجيا المعلومات النماذج التجريبية. قائمة الاستخدامات المحتملة التالية ليست شاملة. تشير رسالة الأشكال البيانية أن الهدف من هذه القائمة هو تقديم معلومات سياقية عن حالات الاستخدام التي اعتبرها منشئو النماذج كجزء من تدريب النموذج والتطوير.

  • إكمال الرمز: يمكن استخدام نماذج PT لإكمال الرمز باستخدام إضافة IDE
  • إنشاء الرموز: يمكن استخدام نموذج تكنولوجيا المعلومات لإنشاء التعليمات البرمجية باستخدام بيئة تطوير متكاملة (IDE) أو بدونها. الإضافة
  • محادثة الترميز: نموذج تكنولوجيا المعلومات يمكنه تعزيز واجهات المحادثة التي تناقش رقم الاعتماد
  • تعليم الرموز: إتاحة نموذج تكنولوجيا المعلومات لتجارب تعلُّم الرموز التفاعلية ووسائل المساعدة في تصحيح بناء الجملة أو يوفر تدريبًا على الترميز

المزايا

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

باستخدام مقاييس تقييم معيار الترميز الموضحة في هذا المستند، أثبتت تقديمها أداءً متفوقًا للنماذج الأخرى ذات الأحجام المشابهة مفتوحة لبدائل النماذج.