كود Llama الرسمي مفتوح المصدر: مجاني للاستخدام التجاري، الإصدار الغامض قريب من GPT-4

المصدر: قلب الآلة

المحررون: دو وي، تشن بينغ

اليوم، أدخلت عائلة نماذج Llama مفتوحة المصدر من Meta عضوًا جديدًا - Code Llama، وهو نموذج أساسي متخصص في إنشاء الأكواد.

كإصدار خاص بكود Llama 2، تم تحسين Code Llama وتدريبه على مجموعة بيانات كود محددة.

وقالت ميتا إن اتفاقية Code Llama مفتوحة المصدر، مثل Llama 2، مجانية لأغراض البحث والأغراض التجارية.

تم نشر الورقة ذات الصلة "Code Llama: Open Foundation Models for Code"، وهي مكونة من 47 صفحة و25 مؤلفًا.

عنوان الورقة:

عنوان جيثب:

توجد ثلاثة إصدارات من سلسلة نماذج Code Llama بكميات معلمات 7B و13B و34B. ويدعم لغات برمجة متعددة، بما في ذلك Python وC++ وJava وPHP وType (Java) وC# وBash.

يدعم Code Llama بشكل ثابت إنشاء السياق لما يصل إلى 100000 رمز مميز. يوضح الشكل 2 أدناه عملية الضبط الدقيق لـ Code Llama.

من حيث تأثيره، فإن معدل النجاح (pass@1) للإصدارات المختلفة من Code Llama على مجموعات البيانات البشرية وMBPP يمكن أن يتجاوز GPT-3.5.

بالإضافة إلى ذلك، فإن pass@1 لإصدار 34B "غير الطبيعي" الخاص بـ Code Llama في مجموعة البيانات البشرية قريب من GPT-4 (62.2% مقابل 67.0%). لم تصدر Meta هذا الإصدار، لكنها حققت تحسينات كبيرة في الأداء من خلال التدريب على كمية صغيرة من البيانات المشفرة عالية الجودة.

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

على الرغم من أنه ورد في المقال أنه "إصدار Code Llama-Python 34B تم ضبطه بدقة على 15000 تعليمات غير طبيعية"، إلا أن كارباثي لا يزال يشعر بالفضول بشأن هذا "الاسم الغامض والوصف الغامض وسحق نماذج السرية الأخرى".

كيفية عمل Code Llama

يتمتع Code Llama بقدرات ترميز قوية للغاية. ويمكنه إنشاء تعليمات برمجية بناءً على التعليمات البرمجية ومطالبات اللغة الطبيعية (على سبيل المثال، مطالبات إدخال المستخدم "ساعدني في كتابة دالة تخرج تسلسل فيبوناتشي.") ويمكنه أيضًا مساعدة المستخدمين في إكمال التعليمات البرمجية وتصحيح الأخطاء كود .

يتم تدريب إصدارات المعلمات الثلاثة لنموذج Code Llama باستخدام 500B من الرموز المميزة للكود والبيانات المتعلقة بالرمز. تم أيضًا تدريب النماذج الأساسية والتعليمات 7B و13B على FIM (الملء في المنتصف)، مما يسمح بإدراج التعليمات البرمجية في التعليمات البرمجية الموجودة، مما يعني أنها يمكن أن تدعم مهام مثل إكمال التعليمات البرمجية خارج الصندوق.

الجدول التالي هو مجموعة بيانات التدريب الخاصة بـ Code Llama.

مع جميع النماذج الثلاثة، يمكن تلبية متطلبات الخدمة وزمن الوصول المختلفة. على سبيل المثال، يمكن تشغيل الطراز 7B على وحدة معالجة رسومات واحدة؛ ويعرض الطراز 34B أفضل النتائج ويوفر مساعدة أفضل في التشفير، ولكن من حيث السرعة، فإن الطرازين الأصغر 7B و13B أسرع وأكثر ملاءمة للمهام ذات زمن الوصول المنخفض مثل استكمال التعليمات البرمجية الحية.

لا يوفر Code Llama إنشاءًا مستقرًا لما يصل إلى 100000 رمز مميز للسياق فحسب، بل يوفر أيضًا ما يصل إلى 16000 تسلسل رمزي للتدريب لجميع النماذج. **

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

ومن الجدير بالذكر أن Meta قامت بتحسين Code Llama بشكل أكبر من خلال متغيرين إضافيين: **Code Llama - Python وCode Llama - Instruct. **

Code Llama-Python هو نسخة مختلفة من Code Llama، والذي تم ضبطه بشكل أكبر على رمز 100B من كود Python. الجدول التالي هو مجموعة بيانات التدريب الخاصة بـ Code Llama-Python.

Code Llama - Instruct هو إصدار متمايز ومتوافق مع التعليمات من Code Llama لفهم مطالبات الإدخال بشكل أفضل. توصي Meta باستخدام متغير Code Llama - Instruct عند استخدام Code Llama لإنشاء التعليمات البرمجية، نظرًا لأنه تم ضبط Code Llama - Instruct بدقة لإنشاء إجابات مفيدة وآمنة باللغة الطبيعية.

ذكرت Meta أنها لا توصي باستخدام Code Llama أو Code Llama - Python لمهام اللغة الطبيعية العامة لأنه لم يتم تصميم أي من النموذجين لاتباع تعليمات اللغة الطبيعية. تم تصميم Code Llama للمهام الخاصة بالرمز، وهو غير مناسب كنموذج أساسي للمهام الأخرى.

عند استخدام نماذج Code Llama، يجب على المستخدمين الالتزام بسياسة الترخيص والاستخدام.

كيف يعمل Code Llama

يستخدم Meta معياري ترميز Human و MBPP (برمجة Python الأساسية في الغالب) للاختبار. من بينها، يعتمد نموذج الاختبار البشري على قدرة سلسلة المستند (docstrings) على إكمال الكود، ويعتمد نموذج اختبار MBPP على القدرة على وصف الكود.

تظهر النتائج أن Code Llama يتفوق في الأداء على LLMs مفتوحة المصدر والمخصصة لمهام التعليمات البرمجية ويتفوق على Llama2 الخاص به. على سبيل المثال، حصل Code Llama 34B على 53.7% على Human و56.2% على MBPP، وهو الأفضل مقارنة بالحلول المتطورة الأخرى مفتوحة المصدر ويمكن مقارنته بـ ChatGPT.

ومع ذلك، فإن Code Llama له أيضًا مخاطر، حيث قال Meta إن بناء نموذج مسؤول للذكاء الاصطناعي أمر بالغ الأهمية، وقد اتخذوا العديد من تدابير السلامة قبل إطلاق Code Llama. كجزء من جهود اختبار الفريق الأحمر، أجرت Meta تقييمًا كميًا لمخاطر قيام Code Llama بتوليد تعليمات برمجية ضارة. قاموا بإنشاء تلميحات في محاولة لجعل النموذج يقوم بإنشاء تعليمات برمجية ضارة، وقارنوا استجابات Code Llama لهذه التلميحات باستخدام ChatGPT (GPT3.5 Turbo). اتضح أن إجابة Code Llama أكثر أمانًا.

من وجهة النظر هذه، فإن Llama 2، التي ليست قدرتها على الترميز قوية بشكل خاص، قد تم ملؤها بواسطة Code Llama. وتأمل ميتا أن يلهم ظهور Code Llama الباحثين الآخرين لإنشاء أدوات جديدة ومبتكرة للبحث والمنتجات التجارية المبنية على Llama 2.

الرابط المرجعي:

شاهد النسخة الأصلية
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
  • أعجبني
  • تعليق
  • مشاركة
تعليق
0/400
لا توجد تعليقات
  • تثبيت