عن المشروع

## نظرة عامة على المشروع Chinese-LLaMA-Alpaca هو مشروع مفتوح المصدر لنماذج اللغة الكبيرة موجه لمعالجة اللغة الطبيعية الصينية، ويهدف إلى تعزيز البحث المفتوح للنماذج الكبيرة في المجتمع الصيني. يقوم المشروع بتوسيع المفردات الصينية على أساس LLaMA الأصلي، ويستخدم بيانات صينية للتدريب المسبق الثانوي لتحسين فهم الدلالات الأساسية للصينية؛ وعلى هذا الأساس، يقوم نموذج Alpaca الصيني بضبط دقيق باستخدام بيانات تعليمات صينية لتعزيز فهم وتنفيذ التعليمات. التقرير الفني المصاحب للمشروع هو "Efficient and Effective Text Encoding for Chinese LLaMA and Alpaca" (arXiv:2304.08177). ## القدرات الرئيسية - توسيع المفردات الصينية لـ LLaMA الأصلي لتحسين كفاءة الترميز وفك الترميز الصيني. - توفير LLaMA الصيني المدرب مسبقًا على نصوص صينية، وAlpaca الصيني المضبوط بالتعليمات. - توفير نصوص التدريب المسبق والضبط الدقيق للتعليمات، مما يسهل على المستخدمين مواصلة التدريب حسب الحاجة. - دعم الكمية والنشر المحلي على CPU/GPU لأجهزة الكمبيوتر الشخصية (أجهزة الكمبيوتر المحمولة). - التوافق مع أدوات النظام البيئي مثل transformers وllama.cpp وtext-generation-webui وLlamaChat وLangChain وprivateGPT. ## إصدارات النماذج تشمل أحجام النماذج المفتوحة 7B و13B و33B، وينقسم كل حجم إلى الإصدار الأساسي وإصدار Plus وإصدار Pro. يستخدم إصدار Plus بيانات تدريب أكثر، بينما يحسن إصدار Pro مشكلة الردود القصيرة جدًا. تنقسم النماذج إلى فئتين: - LLaMA الصيني: نموذج أساسي، يستخدم تدريب CLM التقليدي، مناسب لاستمرار النص، وليس مناسبًا لفهم التعليمات أو الدردشة متعددة الجولات. - Alpaca الصيني: نموذج فهم التعليمات، يستخدم الضبط الدقيق بالتعليمات، مناسب للإجابة على الأسئلة والكتابة والاقتراحات وفهم السياق متعدد الجولات. نظرًا لقيود ترخيص LLaMA الأصلي، يصدر المشروع أوزان LoRA فقط، ويجب دمجها مع LLaMA الأصلي للحصول على النموذج الكامل، ولا يمكن استخدامها بشكل مستقل. ## خطوات الاستخدام 1. تنزيل أوزان LoRA المقابلة من Hugging Face أو ModelScope أو Baidu Netdisk. 2. دمج أوزان LoRA مع LLaMA الأصلي، يمكن الرجوع إلى التحويل عبر الإنترنت (Colab notebook) أو برنامج التحويل اليدوي. 3. اختيار طريقة الاستدلال والنشر، بما في ذلك llama.cpp وTransformers وtext-generation-webui وLlamaChat وLangChain وprivateGPT وColab Gradio Demo وواجهة برمجة تطبيقات تحاكي OpenAI. 4. اختيار النموذج المناسب ومعلمات التشغيل حسب نوع المهمة، على سبيل المثال يتطلب Alpaca تنسيق إدخال يتوافق مع القالب. حجم النموذج بعد الدمج يختلف حسب الحجم، على سبيل المثال 7B FP16 حوالي 13GB، وبعد الكمية 4-bit حوالي 3.9GB؛ 33B FP16 حوالي 60GB، وبعد الكمية 4-bit حوالي 17.2GB. ## تفاصيل التدريب تتضمن عملية التدريب ثلاثة أجزاء: توسيع المفردات، والتدريب المسبق، والضبط الدقيق للتعليمات. كود توسيع المفردات موجود في merge_tokenizers.py؛ كود التدريب المسبق والضبط الدقيق يستند إلى run_clm.py من transformers ومعالجة بيانات Stanford Alpaca. تم نشر نصوص التدريب ذات الصلة في Wiki. ## التقييم قام المشروع بتقييم موضوعي لعدة نماذج على مجموعة بيانات C-Eval، حيث تحتوي مجموعة الاختبار على حوالي 12.3 ألف سؤال اختيار من متعدد، تغطي 52 تخصصًا. يسرد README متوسط درجات كل نموذج على مجموعات valid/test في وضع zero-shot و5-shot، على سبيل المثال Chinese-Alpaca-Plus-33B يحصل على 43.5 في test 5-shot. يوفر المشروع أيضًا أمثلة لتقييم جودة التوليد ومنصة معارك عبر الإنترنت. ## القيود والإخلاء يوضح المشروع بوضوح أن النماذج قد تنتج محتوى ضارًا غير متوقع أو محتوى لا يتوافق مع تفضيلات البشر؛ بسبب قيود الحوسبة والبيانات، التدريب غير كافٍ، ولا تزال قدرة الفهم الصيني بحاجة إلى تحسين؛ المشروع نفسه لا يوفر عرضًا توضيحيًا تفاعليًا عبر الإنترنت، ويجب على المستخدمين النشر محليًا بأنفسهم. الموارد ذات الصلة مخصصة للبحث الأكاديمي فقط، ويحظر الاستخدام التجاري، ولا يضمن دقة مخرجات النموذج. ## المشاريع ذات الصلة تشمل المشاريع اللاحقة الرسمية Chinese-LLaMA-Alpaca-2 (نماذج LLaMA-2 وAlpaca-2 الصينية) وVisual-Chinese-LLaMA-Alpaca (نماذج LLaMA وAlpaca الصينية متعددة الوسائط).