الوصف
Code Llama هي عائلة من نماذج اللغة الكبيرة التي طورتها Meta، مبنية على Llama 2 ومتخصصة في المهام المتعلقة بالكود. يقدم هذا المستودع كود الاستدلال اللازم لتشغيل هذه النماذج القوية. تقدم نماذج Code Llama أداءً متطورًا بين النماذج المفتوحة، وتتميز بقدرات مثل ملء الكود، ودعم سياقات الإدخال الموسعة التي تصل إلى 100,000 رمز (token)، واتباع التعليمات بدون تدريب مسبق (zero-shot) للبرمجة.
تشمل العائلة نماذج أساسية (Code Llama)، وإصدارات متخصصة في Python (Code Llama - Python)، ونماذج تتبع التعليمات (Code Llama - Instruct). وهي متوفرة بأحجام مختلفة من المعلمات: 7B، 13B، 34B، و 70B. تم تدريب جميع النماذج على تسلسلات من 16 ألف رمز (token) وتظهر أداءً محسّنًا مع مدخلات تصل إلى 100 ألف رمز (token). متغيرات 7B و 13B من Code Llama و Code Llama - Instruct قادرة على ملء الكود بناءً على المحتوى المحيط.
تم تطوير Code Llama عن طريق الضبط الدقيق (fine-tuning) لـ Llama 2 مع عينة أعلى من الكود، ويتضمن Code Llama تدابير سلامة كبيرة. يوفر المستودع أوزان النماذج والكود المبدئي لهذه النماذج المدربة مسبقًا والمضبوطة بدقة. يعمل كمثال بسيط لتحميل نماذج Code Llama وتنفيذ الاستدلال. يمكن للمستخدمين تنزيل أوزان النماذج والمحللات (tokenizers) من موقع Meta بعد قبول الترخيص، ثم استخدام البرنامج النصي `download.sh` المقدم.
يتضمن الإعداد استنساخ المستودع وتثبيت التبعيات داخل بيئة conda مع PyTorch/CUDA. يتطلب الاستدلال تحديد قيم التوازي النموذجي (model-parallel - MP)، والتي تختلف حسب حجم النموذج (على سبيل المثال، 1 لـ 7B، و 8 لـ 70B). يتضمن المستودع برامج نصية توضيحية لإكمال الكود (`example_completion.py`)، وملء الكود (`example_infilling.py`)، واتباع التعليمات (`example_instructions.py`)، مما يوضح كيفية توجيه وتشغيل أنواع النماذج المختلفة بفعالية.
تم ضبط نماذج Code Llama - Instruct بدقة خصيصًا لاتباع التعليمات، وتتطلب تنسيقًا معينًا للحصول على أفضل النتائج. يسلط المستودع الضوء أيضًا على المخاطر المحتملة المرتبطة بتقنيات الذكاء الاصطناعي ويوجه المستخدمين إلى دليل الاستخدام المسؤول (Responsible Use Guide) والأوراق البحثية لمزيد من المعلومات. يمكن الإبلاغ عن المشكلات المتعلقة بأخطاء البرامج أو سلوك النماذج من خلال روابط GitHub المقدمة.
الميزات الأساسية لـ Code Llama
كود الاستدلال لنماذج Code Llama
يدعم النماذج الأساسية، والمتخصصة في Python، وتتبع التعليمات
متوفر بأحجام معلمات 7B، 13B، 34B، و 70B
أداء متطور بين نماذج الكود المفتوحة
قدرات ملء الكود لنماذج 7B و 13B
يدعم سياقات الإدخال الكبيرة حتى 100,000 رمز (token)
اتباع التعليمات بدون تدريب مسبق (zero-shot) لمهام البرمجة
تم التدريب على تسلسلات من 16 ألف رمز (token)
يشمل أوزان النماذج والكود المبدئي
يوفر برامج نصية توضيحية للإكمال، والملء، واتباع التعليمات
يتضمن تدابير سلامة
مرخص للباحثين والكيانات التجارية
البدء مع Code Llama
استنساخ: استنسخ المستودع من GitHub.
تثبيت: قم بإعداد بيئة conda مع PyTorch/CUDA وقم بتثبيت التبعيات باستخدام `pip install -e .`.
تنزيل: احصل على أوزان النماذج والمحللات (tokenizers) من موقع Meta واستخدم `download.sh`.
تكوين: حدد قيمة التوازي النموذجي (MP) المناسبة بناءً على حجم النموذج.
تنفيذ: قم بتشغيل الاستدلال باستخدام البرامج النصية التوضيحية المقدمة (مثل `example_completion.py`، `example_infilling.py`، `example_instructions.py`).
تحسين: اضبط `max_seq_len` و `max_batch_size` بناءً على الأجهزة وحالة الاستخدام.
حالات استخدام Code Llama
- توليد الكود
- إكمال الكود
- ملء الكود
- اتباع التعليمات
- تطوير Python
- البحث
- مهام السياق الكبير








