الصينية المبسطة | الإنجليزية؟
PaddleNLP عبارة عن مجموعة تطوير لنماذج اللغة الكبيرة (LLM) تعتمد على إطار عمل Paddle للتعلم العميق، والذي يدعم التدريب الفعال على النماذج الكبيرة، والضغط بدون فقدان، والاستدلال عالي الأداء على مجموعة متنوعة من الأجهزة. يعد PaddleNLP سهل الاستخدام ويتمتع بأداء فائق ، وهو ملتزم بمساعدة المطورين على تنفيذ تطبيقات فعالة على المستوى الصناعي للنماذج الكبيرة.
2024.08.08 "تم إصدار PaddleNLP 3.0، وهي أداة قوية لتطوير نماذج اللغات الكبيرة على المستوى الصناعي" ، مع عملية التدريب والضغط والدفع بأكملها، والتغطية الكاملة للنماذج السائدة. تتم موازنة النماذج الكبيرة تلقائيًا، وتتوفر عملية التدريب الكاملة ودفع مئات المليارات من النماذج خارج الصندوق. يوفر حلول ضبط ومحاذاة عالية الأداء من الدرجة الصناعية، واستدلال ضغط رائد، وتكيف متعدد الأجهزة. تغطية سيناريوهات التطبيق مثل المساعدين الأذكياء على المستوى الصناعي، وإنشاء المحتوى، والأسئلة والأجوبة المعرفية، واستخراج المعلومات الأساسية. موعد البث المباشر: 22 أغسطس (الخميس) الساعة 19:00. رابط التسجيل: https://www.wjx.top/vm/Y2f7FFY.aspx?udsid=143844
2024.06.27 PaddleNLP v3.0 Beta : احتضن النماذج الكبيرة واستمتع بتجربة مطورة بالكامل. توحيد مجموعة النماذج الكبيرة لتحقيق وصول كامل للعملية إلى شرائح الحوسبة المحلية؛ والدعم الكامل لعمليات التطبيقات على المستوى الصناعي ذات النماذج الكبيرة مثل التكوين المتوازي رباعي الأبعاد، واستراتيجيات الضبط الدقيق الفعالة، وخوارزميات المحاذاة الفعالة، والتفكير الذاتي عالي الأداء - تم تطوير خوارزمية RsLoRA+ المتقاربة للغاية، وآلية التخزين التلقائية للتوسيع والانكماش Unified Checkpoint وFastFFN وFusedQKV المدعومة عالميًا، مما يساعد على تدريب النماذج الكبيرة والترويج للنماذج السائدة على مواصلة دعم التحديثات وتوفير حلول فعالة.
2024.04.24 PaddleNLP v2.8 : تعمل خوارزمية RsLoRA + المطورة ذاتيًا مع التقارب الشديد على تحسين سرعة تقارب تدريب PEFT وتأثير التدريب بشكل كبير؛ وتقدم تسريع الجيل عالي الأداء إلى خوارزمية RLHF PPO، وكسر اختناق سرعة التوليد في تدريب PPO، و أداء تدريب PPO متقدم بشكل ملحوظ. يدعم عالميًا العديد من أساليب تحسين أداء التدريب على النماذج الكبيرة مثل FastFFN وFusedQKV، مما يجعل التدريب على النماذج الكبيرة أسرع وأكثر استقرارًا.
وهو يدعم التدريب والاستدلال على النماذج الكبيرة وفهم اللغة الطبيعية لـ NVIDIA GPU وKunlun XPU وShengteng NPU وSuiyuan GCU وHaiguang DCU والأجهزة الأخرى. تدعم واجهة المجموعة التبديل السريع للأجهزة، مما يقلل بشكل كبير من تكاليف البحث والتطوير في تبديل الأجهزة. نماذج فهم اللغة الطبيعية المدعومة حاليًا: قائمة نماذج فهم اللغة الطبيعية متعددة الأجهزة
يدعم التدريب عالي الأداء رباعي الأبعاد للاستراتيجيات المتوازية للبيانات النقية، والاستراتيجيات المتوازية للبيانات لتقطيع معلمات المجموعة، والاستراتيجيات المتوازية لنموذج الموتر، والاستراتيجيات المتوازية لنموذج خطوط الأنابيب يدعم التنسيق التدريب على التوسع والانكماش الديناميكي في توزيع معلمات النموذج، مما يقلل من تكاليف الترحيل الناتجة عن تبديل الأجهزة.
تجمع خوارزمية الضبط الدقيق بين تدفق البيانات الخالية من التعبئة ومشغل FlashMask عالي الأداء لتقليل ملء وحساب بيانات التدريب غير الصالحة وتحسين إنتاجية التدريب الدقيق بشكل كبير.
تحتوي وحدة الاستدلال عالية الأداء لمجموعة النماذج الكبيرة على إدراج ديناميكي مدمج واستراتيجيات دمج مشغل الارتباط الكامل، مما يؤدي إلى تسريع الاستدلال المتوازي بشكل كبير. يتم تغليف تفاصيل التنفيذ الأساسية لتحقيق قدرات تفكير متوازية عالية الأداء خارج الصندوق.
دعمت معلمات النموذج سلسلة LLaMA، وسلسلة Baichuan، وسلسلة Bloom، وسلسلة ChatGLM، وسلسلة Gemma، وسلسلة Mistral، وسلسلة OPT، وسلسلة Qwen. القائمة التفصيلية لقائمة دعم معلمات النموذج [LLM] هي كما يلي:
سلسلة النموذج | اسم النموذج |
---|---|
اللاما | الفيسبوك/llama-7b، الفيسبوك/llama-13b، الفيسبوك/llama-30b، الفيسبوك/llama-65b |
لاما2 | meta-llama/Llama-2-7b، meta-llama/Llama-2-7b-chat، meta-llama/Llama-2-13b، meta-llama/Llama-2-13b-chat، meta-llama/Llama- 2-70ب، اللاما الفوقية/اللاما-2-70ب-الدردشة |
لاما3 | meta-llama/Meta-Llama-3-8B، meta-llama/Meta-Llama-3-8B-Instruct، meta-llama/Meta-Llama-3-70B، meta-llama/Meta-Llama-3-70B- إرشاد |
لاما3.1 | meta-llama/Meta-Llama-3.1-8B، meta-llama/Meta-Llama-3.1-8B-Instruct، meta-llama/Meta-Llama-3.1-70B، meta-llama/Meta-Llama-3.1-70B- إرشاد، ميتا اللاما/ميتا اللاما-3.1-405B، meta-llama/Meta-Llama-3.1-405B-Instruct، meta-llama/Llama-Guard-3-8B |
لاما3.2 | meta-llama/Llama-3.2-1B، meta-llama/Llama-3.2-1B-Instruct، meta-llama/Llama-3.2-3B، meta-llama/Llama-3.2-3B-Instruct، meta-llama/Llama- الحرس 3-1 ب |
بايتشوان | بايتشوان-إنك/بايتشوان-7B، بايتشوان-إنك/بايتشوان-13B-قاعدة، بايتشوان-إنك/بايتشوان-13B-دردشة |
بايتشوان2 | baichuan-inc/Baichuan2-7B-Base، baichuan-inc/Baichuan2-7B-Chat، baichuan-inc/Baichuan2-13B-Base، baichuan-inc/Baichuan2-13B-Chat |
يزدهر | بيج ساينس/بلوم-560م، بيج ساينس/بلوم-560م-bf16،بيج ساينس/بلوم-1b1،بيج ساينس/بلوم-3ب،بيج ساينس/بلوم-7b1،بيج ساينس/بلومز-560م،بيج ساينس/بلومز-1b1،بيج ساينس/بلومز-3ب، بيجساينس/بلومز-7b1-mt، بيج ساينس/بلومز-7b1-p3، Bigscience/bloomz-7b1، bellegroup/belle-7b-2m |
ChatGLM | THUDM/chatglm-6b، THUDM/chatglm-6b-v1.1 |
ChatGLM2 | THUDM/chatglm2-6b |
دردشةGLM3 | THUDM/chatglm3-6b |
جيما | جوجل/جيما-7ب، جوجل/جيما-7ب-إت، جوجل/جيما-2ب، جوجل/جيما-2ب-إت |
ميسترال | ميسترالاي/ميسترال-7B-Instruct-v0.3، ميسترالاي/ميسترال-7B-v0.1 |
ميكسترال | mistralai/Mixtral-8x7B-Instruct-v0.1 |
الأراضي الفلسطينية المحتلة | الفيسبوك/opt-125m، الفيسبوك/opt-350m، الفيسبوك/opt-1.3b، الفيسبوك/opt-2.7b، الفيسبوك/opt-6.7b، الفيسبوك/opt-13b، الفيسبوك/opt-30b، الفيسبوك/opt-66b ، فيسبوك/opt-iml-1.3b، opt-iml-max-1.3b |
كوين | كوين/qwen-7b، كوين/qwen-7b-دردشة، كوين/qwen-14b، كوين/qwen-14b-دردشة، كوين/qwen-72b، كوين/qwen-72b-دردشة، |
كوين1.5 | كوين/Qwen1.5-0.5B، Qwen/Qwen1.5-0.5B-دردشة، Qwen/Qwen1.5-1.8B، Qwen/Qwen1.5-1.8B-دردشة، Qwen/Qwen1.5-4B، Qwen/ Qwen1.5-4B-دردشة، Qwen/Qwen1.5-7B، Qwen/Qwen1.5-7B-دردشة، كوين/Qwen1.5-14B، كوين/Qwen1.5-14B-دردشة، كوين/Qwen1.5-32B، كوين/Qwen1.5-32B-دردشة، كوين/Qwen1.5-72B، كوين/Qwen1.5- 72B-دردشة، كوين/Qwen1.5-110B، كوين/Qwen1.5-110B-دردشة، كوين/Qwen1.5-MoE-A2.7B، Qwen/Qwen1.5-MoE-A2.7B-Chat |
كوين2 | Qwen/Qwen2-0.5B، Qwen/Qwen2-0.5B-Instruct، Qwen/Qwen2-1.5B، Qwen/Qwen2-1.5B-Instruct، Qwen/Qwen2-7B، Qwen/Qwen2-7B-Instruct، Qwen/Qwen2- 72ب، كوين/Qwen2-72B-إنستركت، كوين/Qwen2-57B-A14B، كوين/Qwen2-57B-A14B-Instruct |
Qwen2-الرياضيات | Qwen/Qwen2-Math-1.5B، Qwen/Qwen2-Math-1.5B-Instruct، Qwen/Qwen2-Math-7B، Qwen/Qwen2-Math-7B-Instruct، Qwen/Qwen2-Math-72B، Qwen/Qwen2- Math-72B-Instruct، Qwen/Qwen2-Math-RM-72B |
كوين2.5 | Qwen/Qwen2.5-0.5B، Qwen/Qwen2.5-0.5B-Instruct، Qwen/Qwen2.5-1.5B، Qwen/Qwen2.5-1.5B-Instruct، Qwen/Qwen2.5-3B، Qwen/ Qwen2.5-3B-Instruct، Qwen/Qwen2.5-7B، Qwen/Qwen2.5-7B-Instruct، Qwen/Qwen2.5-14B، Qwen/Qwen2.5-14B-Instruct، Qwen/Qwen2.5-32B، Qwen/Qwen2.5-32B-Instruct، Qwen/Qwen2.5-72B، Qwen/Qwen2.5- 72B-إرشاد |
Qwen2.5-الرياضيات | Qwen/Qwen2.5-Math-1.5B، Qwen/Qwen2.5-Math-1.5B-Instruct، Qwen/Qwen2.5-Math-7B، Qwen/Qwen2.5-Math-7B-Instruct، Qwen/Qwen2. 5-Math-72B، Qwen/Qwen2.5-Math-72B-Instruct، كوين/Qwen2.5-Math-RM-72B |
Qwen2.5-المبرمج | Qwen/Qwen2.5-Coder-1.5B، Qwen/Qwen2.5-Coder-1.5B-Instruct، Qwen/Qwen2.5-Coder-7B، Qwen/Qwen2.5-Coder-7B-Instruct |
يوان2 | IEITYuan/Yuan2-2B، IEITYuan/Yuan2-51B، IEITYuan/Yuan2-102B |
لقد دعم التوازي 4D وتحسين المشغل سلسلة LLaMA، وسلسلة Baichuan، وسلسلة Bloom، وسلسلة ChatGLM، وسلسلة Gemma، وسلسلة Mistral، وسلسلة OPT وسلسلة Qwen. إن التوازي رباعي الأبعاد لنموذج [LLM] وقائمة دعم المشغل هي كما يلي:
اسم النموذج/دعم القدرة الموازية | توازي البيانات | توازي نموذج الموتر | توازي تجزئة المعلمة | توازي خطوط الأنابيب | |||
---|---|---|---|---|---|---|---|
القدرات الأساسية | تسلسل التوازي | المرحلة 1 | المرحلة2 | المرحلة3 | |||
اللاما | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
كوين | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
كوين1.5 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
كوين2 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
ميكسترال (مو) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ؟ |
ميسترال | ✅ | ✅ | ؟ | ✅ | ✅ | ✅ | ؟ |
بايتشوان | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
بايتشوان2 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
ChatGLM | ✅ | ✅ | ؟ | ✅ | ✅ | ✅ | ؟ |
ChatGLM2 | ✅ | ؟ | ؟ | ✅ | ✅ | ✅ | ؟ |
دردشةGLM3 | ✅ | ؟ | ؟ | ✅ | ✅ | ✅ | ؟ |
يزدهر | ✅ | ✅ | ؟ | ✅ | ✅ | ✅ | ؟ |
جي بي تي-2/جي بي تي-3 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
الأراضي الفلسطينية المحتلة | ✅ | ✅ | ؟ | ✅ | ✅ | ✅ | ؟ |
جيما | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
يوان2 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ؟ |
لقد دعم التدريب المسبق للنماذج الكبيرة والضبط الدقيق (بما في ذلك تقنية SFT وPEFT) والمحاذاة والقياس الكمي سلسلة LLaMA وسلسلة Baichuan وسلسلة Bloom وسلسلة ChatGLM وسلسلة Mistral وسلسلة OPT وسلسلة Qwen وسلسلة [LLM] النموذجية المسبقة. قائمة دعم التدريب والضبط والمحاذاة والتكمية هي كما يلي:
نموذج | التدريب المسبق | SFT | لورا | قناع فلاش | ضبط البادئة | DPO/SimPO/ORPO | RLHF | التكميم |
---|---|---|---|---|---|---|---|---|
اللاما | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
كوين | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ؟ | ؟ |
ميكسترال | ✅ | ✅ | ✅ | ؟ | ؟ | ✅ | ؟ | ؟ |
ميسترال | ✅ | ✅ | ✅ | ؟ | ✅ | ✅ | ؟ | ؟ |
بايتشوان/بايتشوان2 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ؟ | ✅ |
الدردشةGLM-6B | ✅ | ✅ | ✅ | ؟ | ✅ | ؟ | ؟ | ✅ |
الدردشةGLM2/الدردشةGLM3 | ✅ | ✅ | ✅ | ؟ | ✅ | ✅ | ؟ | ✅ |
يزدهر | ✅ | ✅ | ✅ | ؟ | ✅ | ؟ | ؟ | ✅ |
جي بي تي-3 | ✅ | ✅ | ؟ | ؟ | ؟ | ؟ | ؟ | ؟ |
الأراضي الفلسطينية المحتلة | ✅ | ✅ | ✅ | ؟ | ؟ | ؟ | ؟ | ؟ |
جيما | ✅ | ✅ | ✅ | ؟ | ؟ | ✅ | ؟ | ؟ |
يوان | ✅ | ✅ | ✅ | ؟ | ؟ | ✅ | ؟ | ؟ |
يدعم استدلال النماذج الكبيرة بالفعل سلسلة LLaMA وسلسلة Qwen وسلسلة Mistral وسلسلة ChatGLM وسلسلة Bloom وسلسلة Baichuan، ويدعم منطق الوزن فقط INT8 وINT4، ويدعم WAC (الوزن والتنشيط وذاكرة التخزين المؤقت KV) للاستدلال الكمي لـ INT8 وFP8، [ LLM] قائمة دعم الاستدلال النموذجي هي كما يلي:
اسم النموذج/دعم نوع التكميم | FP16/BF16 | WINT8 | WINT4 | إنت8-A8W8 | FP8-A8W8 | INT8-A8W8C8 |
---|---|---|---|---|---|---|
اللاما | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
كوين | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
كوين مو | ✅ | ✅ | ✅ | ؟ | ؟ | ؟ |
ميكسترال | ✅ | ✅ | ✅ | ؟ | ؟ | ؟ |
ChatGLM | ✅ | ✅ | ✅ | ؟ | ؟ | ؟ |
يزدهر | ✅ | ✅ | ✅ | ؟ | ؟ | ؟ |
باي تشوان | ✅ | ✅ | ✅ | ✅ | ✅ | ؟ |
بيثون >= 3.8
المجداف >= 3.0.0b0
إذا لم تقم بتثبيت PaddlePaddle، فيرجى الرجوع إلى موقع PaddlePaddle الرسمي لتثبيته.
تثبيت النقطة - ترقية Paddlenlp==3.0.0b2
أو يمكنك تثبيت أحدث كود فرع التطوير من خلال الأمر التالي:
تثبيت النقطة - قبل - ترقية Paddlenlp -f https://www.paddlepaddle.org.cn/whl/paddlenlp.html
لمزيد من البرامج التعليمية التفصيلية حول تثبيت PaddlePaddle وPaddleNLP، يرجى مراجعة التثبيت.
يوفر PaddleNLP واجهة برمجة تطبيقات تلقائية مريحة وسهلة الاستخدام يمكنها تحميل النماذج والرموز المميزة بسرعة. فيما يلي مثال لإنشاء نص باستخدام نموذج Qwen/Qwen2-0.5B
:
>>> من Paddlenlp.transformers استيراد AutoTokenizer، AutoModelForCausalLM >>> الرمز المميز = AutoTokenizer.from_pretrained("Qwen/Qwen2-0.5B")>>> model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen2-0.5B"، dtype = " float16")>>> input_features = tokenizer("مرحبًا! من فضلك قم بتقديم نفسك.", return_tensors="pd")>>> المخرجات = model.generate(**input_features, max_length=128)>>> print(tokenizer.batch_decode(outputs[0], Skip_special_tokens=True)) ['أنا نموذج لغة يعتمد على الذكاء الاصطناعي، يمكنني الإجابة على العديد من الأسئلة، بما في ذلك على سبيل المثال لا الحصر: الطقس، والأخبار، والتاريخ، والثقافة، والعلوم، والتعليم، والترفيه، وما إلى ذلك. هل هناك أي شيء تحتاج إلى معرفته؟ ']
git clone https://github.com/PaddlePaddle/PaddleNLP.git && cd PaddleNLP # إذا قمت باستنساخ PaddleNLP أو تنزيله، فيمكنك تخطي mkdir -p llm/data && cd llm/data wget https://bj.bcebos.com/paddlenlp/models/transformers/llama/data/llama_openwebtext_100k.bin wget https://bj.bcebos.com/padaddlenlp/models/transformers/llama/data/llama_openwebtext_100k.idxcd .. # تغيير المجلد إلى PaddleNLP/llmpython -u -m paddle.distributed.launch --gpus "0,1, 2,3,4,5,6,7" run_pretrain.py ./config/llama/pretrain_argument.json
git clone https://github.com/PaddlePaddle/PaddleNLP.git && cd PaddleNLP # إذا قمت باستنساخ PaddleNLP أو تنزيله، فيمكنك تخطي mkdir -p llm/data && cd llm/data wget https://bj.bcebos.com/padaddlenlp/datasets/examples/AdvertiseGen.tar.gz && tar -zxvf AdvertiseGen.tar.gzcd .. # تغيير المجلد إلى PaddleNLP/llmpython -u -m paddle.distributed.launch - -gpus "0,1,2,3,4,5,6,7" run_finetune.py ./config/llama/sft_argument.json
لمزيد من الخطوات الكاملة لعملية النموذج الكبير، يرجى الرجوع إلى مقدمة مجموعة نماذج Flying Paddle الكبيرة.
لمزيد من محتوى PaddleNLP، يرجى الرجوع إلى:
مكتبة نماذج مختارة، بما في ذلك الاستخدام الشامل للعملية للنماذج عالية الجودة المدربة مسبقًا.
أمثلة سيناريو متعددة للتعرف على كيفية استخدام PaddleNLP لحل المشكلات الفنية المتنوعة في البرمجة اللغوية العصبية، بما في ذلك التكنولوجيا الأساسية وتطبيقات النظام والتطبيقات الموسعة.
برنامج تعليمي تفاعلي لتعلم PaddleNLP بسرعة على منصة الحوسبة المجانية AI Studio.
قم بمسح رمز الاستجابة السريعة على WeChat واملأ الاستبيان للانضمام إلى مجموعة التواصل وإجراء مناقشات متعمقة مع العديد من مطوري المجتمع والفرق الرسمية.
إذا كان PaddleNLP مفيدًا لبحثك، فلا تتردد في الاستشهاد به
@misc{=paddlenlp,title={PaddleNLP: مكتبة البرمجة اللغوية العصبية سهلة الاستخدام وعالية الأداء},author={PaddleNLP Contributors},howpublished = {url{https://github.com/PaddlePaddle/PaddleNLP}}, العام={2021}}
لقد تعلمنا من التصميم الممتاز لـ Hugging Face's Transformers حول استخدام النماذج المدربة مسبقًا، ونود أن نعرب عن امتناننا لمؤلفي Hugging Face ومجتمعهم مفتوح المصدر.
يتبع PaddleNLP ترخيص Apache-2.0 مفتوح المصدر.