وجه المعانقة؟

تم إطلاق تطبيق Baixiaoying رسميًا! مساعدي الذكاء الاصطناعى الذين يعرفون كيفية البحث وطرح الأسئلة ، والبحث عن Baixiao في متاجر التطبيقات الرئيسية ، مرحبًا بك في تنزيلها وتجربتها؟
الصينية |
[ 2023.12.29 ] ؟؟ في:
يتم عرض إصدار الإصدار وروابط التنزيل في الجدول التالي:
| نموذج قاعدة | محاذاة النموذج | نموذج المحاذاة 4Bits الكمية | |
|---|---|---|---|
| 7 ب | ؟ | ؟ | ؟ |
| 13 ب | ؟ | ؟ | ؟ |
اختبرنا على نطاق واسع النموذج على مجموعات البيانات الصينية والإنجليزية ومتعددة اللغات في ستة مجالات: عام ، القانون ، الطبي ، الرياضيات ، الكود والترجمة متعددة اللغات.
في المجال العام أجرينا اختبارات 5 طلقات على مجموعة البيانات التالية.
| ج | mmlu | CMMLU | غوكاو | حاضر | BBH | |
|---|---|---|---|---|---|---|
| 5 طلقة | 5 طلقة | 5 طلقة | 5 طلقة | 5 طلقة | 3 طلقة | |
| GPT-4 | 68.40 | 83.93 | 70.33 | 66.15 | 63.27 | 75.12 |
| GPT-3.5 Turbo | 51.10 | 68.54 | 54.06 | 47.07 | 46.13 | 61.59 |
| لاما -7 ب | 27.10 | 35.10 | 26.75 | 27.81 | 28.17 | 32.38 |
| لاما 2-7 ب | 28.90 | 45.73 | 31.38 | 25.97 | 26.53 | 39.16 |
| MPT-7B | 27.15 | 27.93 | 26.00 | 26.54 | 24.83 | 35.20 |
| فالكون -7 ب | 24.23 | 26.03 | 25.66 | 24.24 | 24.10 | 28.77 |
| ChatGlm2-6b | 50.20 | 45.90 | 49.00 | 49.44 | 45.28 | 31.65 |
| Baichuan-7b | 42.80 | 42.30 | 44.02 | 36.34 | 34.44 | 32.48 |
| Baichuan2-7b-base | 54.00 | 54.16 | 57.07 | 47.47 | 42.73 | 41.56 |
| ج | mmlu | CMMLU | غوكاو | حاضر | BBH | |
|---|---|---|---|---|---|---|
| 5 طلقة | 5 طلقة | 5 طلقة | 5 طلقة | 5 طلقة | 3 طلقة | |
| GPT-4 | 68.40 | 83.93 | 70.33 | 66.15 | 63.27 | 75.12 |
| GPT-3.5 Turbo | 51.10 | 68.54 | 54.06 | 47.07 | 46.13 | 61.59 |
| لاما -13 ب | 28.50 | 46.30 | 31.15 | 28.23 | 28.22 | 37.89 |
| Llama2-13b | 35.80 | 55.09 | 37.99 | 30.83 | 32.29 | 46.98 |
| Vicuna-13B | 32.80 | 52.00 | 36.28 | 30.11 | 31.55 | 43.04 |
| الصينية-ألباكا زائد 13 ب | 38.80 | 43.90 | 33.43 | 34.78 | 35.46 | 28.94 |
| xverse-13b | 53.70 | 55.21 | 58.44 | 44.69 | 42.54 | 38.06 |
| Baichuan-13b-base | 52.40 | 51.60 | 55.30 | 49.69 | 43.20 | 43.01 |
| Baichuan2-13b-base | 58.10 | 59.17 | 61.97 | 54.33 | 48.17 | 48.78 |
في مجال القانون ، استخدمنا مجموعة بيانات JEC-QA. مجموعة بيانات JEC-QA مشتقة من الامتحان القضائي الوطني الصيني. لقد احتفظنا فقط بأسئلة الاختيار الفردي. اعتمدنا مخطط تقييم مماثل مثل C-Eval.
يستخدم المجال الطبي التخصصات ذات الصلة الطبية ، MedQA و MedmCQA في مجموعة بيانات المجال العامة (C-Eval ، Mmlu ، Cmmlu). اعتمدنا مخطط تقييم مماثل مثل C-Eval.
أجرينا اختبارات 5 طلقة على مجموعة البيانات أعلاه.
| JEC-QA | ceval-mmlu-cmmlu | medqa-usmle | medqa-mcmle | Medmcqa | |
|---|---|---|---|---|---|
| 5 طلقة | 5 طلقة | 5 طلقة | 5 طلقة | 5 طلقة | |
| GPT-4 | 59.32 | 77.16 | 80.28 | 74.58 | 72.51 |
| GPT-3.5 Turbo | 42.31 | 61.17 | 53.81 | 52.92 | 56.25 |
| لاما -7 ب | 27.45 | 33.34 | 24.12 | 21.72 | 27.45 |
| لاما 2-7 ب | 29.20 | 36.75 | 27.49 | 24.78 | 37.93 |
| MPT-7B | 27.45 | 26.67 | 16.97 | 19.79 | 31.96 |
| فالكون -7 ب | 23.66 | 25.33 | 21.29 | 18.07 | 33.88 |
| ChatGlm2-6b | 40.76 | 44.54 | 26.24 | 45.53 | 30.22 |
| Baichuan-7b | 34.64 | 42.37 | 27.42 | 39.46 | 31.39 |
| Baichuan2-7b-base | 44.46 | 56.39 | 32.68 | 54.93 | 41.73 |
| JEC-QA | ceval-mmlu-cmmlu | medqa-usmle | medqa-mcmle | Medmcqa | |
|---|---|---|---|---|---|
| 5 طلقة | 5 طلقة | 5 طلقة | 5 طلقة | 5 طلقة | |
| GPT-4 | 59.32 | 77.16 | 80.28 | 74.58 | 72.51 |
| GPT-3.5 Turbo | 42.31 | 61.17 | 53.81 | 52.92 | 56.25 |
| لاما -13 ب | 27.54 | 35.14 | 28.83 | 23.38 | 39.52 |
| Llama2-13b | 34.08 | 47.42 | 35.04 | 29.74 | 42.12 |
| Vicuna-13B | 28.38 | 40.99 | 34.80 | 27.67 | 40.66 |
| الصينية-ألباكا زائد 13 ب | 35.32 | 46.31 | 27.49 | 32.66 | 35.87 |
| xverse-13b | 46.42 | 58.08 | 32.99 | 58.76 | 41.34 |
| Baichuan-13b-base | 41.34 | 51.77 | 29.07 | 43.67 | 39.60 |
| Baichuan2-13b-base | 47.40 | 59.33 | 40.38 | 61.62 | 42.86 |
في مجال الرياضيات ، استخدمنا إطار تقييم OpenCompass لاختبار مجموعات بيانات GSM8K و Math 4-Shot.
يستخدم حقل الكود مجموعات بيانات Humaneval و MBPP. استخدمنا OpenCompass لاختبار مجموعة بيانات Humaneval 0 و MBPP 3 طلقة.
| GSM8K | الرياضيات | Humaneval | MBPP | |
|---|---|---|---|---|
| 4 طلقة | 4 طلقة | 0 طلقة | 3 طلقة | |
| GPT-4 | 89.99 | 40.20 | 69.51 | 63.60 |
| GPT-3.5 Turbo | 57.77 | 13.96 | 52.44 | 61.40 |
| لاما -7 ب | 9.78 | 3.02 | 11.59 | 14.00 |
| لاما 2-7 ب | 16.22 | 3.24 | 12.80 | 14.80 |
| MPT-7B | 8.64 | 2.90 | 14.02 | 23.40 |
| فالكون -7 ب | 5.46 | 1.68 | - | 10.20 |
| ChatGlm2-6b | 28.89 | 6.40 | 9.15 | 9.00 |
| Baichuan-7b | 9.17 | 2.54 | 9.20 | 6.60 |
| Baichuan2-7b-base | 24.49 | 5.58 | 18.29 | 24.20 |
| GSM8K | الرياضيات | Humaneval | MBPP | |
|---|---|---|---|---|
| 4 طلقة | 4 طلقة | 0 طلقة | 3 طلقة | |
| GPT-4 | 89.99 | 40.20 | 69.51 | 63.60 |
| GPT-3.5 Turbo | 57.77 | 13.96 | 52.44 | 61.40 |
| لاما -13 ب | 20.55 | 3.68 | 15.24 | 21.40 |
| Llama2-13b | 28.89 | 4.96 | 15.24 | 27.00 |
| Vicuna-13B | 28.13 | 4.36 | 16.46 | 15.00 |
| الصينية-ألباكا زائد 13 ب | 11.98 | 2.50 | 16.46 | 20.00 |
| xverse-13b | 18.20 | 2.18 | 15.85 | 16.80 |
| Baichuan-13b-base | 26.76 | 4.84 | 11.59 | 22.80 |
| Baichuan2-13b-base | 52.77 | 10.08 | 17.07 | 30.20 |
استخدمنا مجموعة بيانات Flores-101 لتقييم القدرة متعددة اللغات للنموذج. يغطي Flores-101 101 لغة حول العالم. تأتي بياناتها من مختلف المجالات مثل الأخبار وأدلة السفر والكتب. اخترنا لغة الأمم المتحدة الرسمية (العربية والصينية والإنجليزية والفرنسية والروسية والإسبانية) وكذلك الألمانية واليابانية كلغات الاختبار. استخدمنا OpenCompass لإجراء اختبارات 8 طلقات على سبع مهام في Flores-101 ، بما في ذلك الصينية-الإنجليزية ، الصينية-فرنسية ، صينية سبين ، الصينية العربية ، والروسية الصينية ، واليابان الصينية ، والصينية الألمانية.
| cn-en | CN-FR | CN-es | CN-AR | CN-RU | CN-JP | CN-DE | متوسط | |
|---|---|---|---|---|---|---|---|---|
| GPT-4 | 29.94 | 29.56 | 20.01 | 10.76 | 18.62 | 13.26 | 20.83 | 20.43 |
| GPT-3.5 Turbo | 27.67 | 26.15 | 19.58 | 10.73 | 17.45 | 1.82 | 19.70 | 17.59 |
| لاما -7 ب | 17.27 | 12.02 | 9.54 | 0.00 | 4.47 | 1.41 | 8.73 | 7.63 |
| لاما 2-7 ب | 25.76 | 15.14 | 11.92 | 0.79 | 4.99 | 2.20 | 10.15 | 10.14 |
| MPT-7B | 20.77 | 9.53 | 8.96 | 0.10 | 3.54 | 2.91 | 6.54 | 7.48 |
| فالكون -7 ب | 22.13 | 15.67 | 9.28 | 0.11 | 1.35 | 0.41 | 6.41 | 7.91 |
| ChatGlm2-6b | 22.28 | 9.42 | 7.77 | 0.64 | 1.78 | 0.26 | 4.61 | 6.68 |
| Baichuan-7b | 25.07 | 16.51 | 12.72 | 0.41 | 6.66 | 2.24 | 9.86 | 10.50 |
| Baichuan2-7b-base | 27.27 | 20.87 | 16.17 | 1.39 | 11.21 | 3.11 | 12.76 | 13.25 |
| cn-en | CN-FR | CN-es | CN-AR | CN-RU | CN-JP | CN-DE | متوسط | |
|---|---|---|---|---|---|---|---|---|
| GPT-4 | 29.94 | 29.56 | 20.01 | 10.76 | 18.62 | 13.26 | 20.83 | 20.43 |
| GPT-3.5 Turbo | 27.67 | 26.15 | 19.58 | 10.73 | 17.45 | 1.82 | 19.70 | 17.59 |
| لاما -13 ب | 21.75 | 16.16 | 13.29 | 0.58 | 7.61 | 0.41 | 10.66 | 10.07 |
| Llama2-13b | 25.44 | 19.25 | 17.49 | 1.38 | 10.34 | 0.13 | 11.13 | 12.17 |
| Vicuna-13B | 22.63 | 18.04 | 14.67 | 0.70 | 9.27 | 3.59 | 10.25 | 11.31 |
| الصينية-ألباكا زائد 13 ب | 22.53 | 13.82 | 11.29 | 0.28 | 1.52 | 0.31 | 8.13 | 8.27 |
| xverse-13b | 29.26 | 24.03 | 16.67 | 2.78 | 11.61 | 3.08 | 14.26 | 14.53 |
| Baichuan-13b-base | 30.24 | 20.90 | 15.92 | 0.98 | 9.65 | 2.64 | 12.00 | 13.19 |
| Baichuan2-13b-base | 30.61 | 22.11 | 17.27 | 2.39 | 14.17 | 11.58 | 14.53 | 16.09 |
تم نشر الأوزان النموذجية ورموز المصدر والتكوينات المطلوبة للاستدلال في وجه المعانقة. نوضح مجموعة متنوعة من طرق التفكير هنا. سيقوم البرنامج تلقائيًا بتنزيل الموارد المطلوبة من Hugging Face.
pip install -r requirements.txt >> > import torch
>> > from transformers import AutoModelForCausalLM , AutoTokenizer
>> > from transformers . generation . utils import GenerationConfig
>> > tokenizer = AutoTokenizer . from_pretrained ( "baichuan-inc/Baichuan2-13B-Chat" , use_fast = False , trust_remote_code = True )
>> > model = AutoModelForCausalLM . from_pretrained ( "baichuan-inc/Baichuan2-13B-Chat" , device_map = "auto" , torch_dtype = torch . bfloat16 , trust_remote_code = True )
>> > model . generation_config = GenerationConfig . from_pretrained ( "baichuan-inc/Baichuan2-13B-Chat" )
>> > messages = []
>> > messages . append ({ "role" : "user" , "content" : "解释一下“温故而知新”" })
>> > response = model . chat ( tokenizer , messages )
>> > print ( response )
"温故而知新"是一句中国古代的成语,出自《论语·为政》篇。这句话的意思是:通过回顾过去,我们可以发现新的知识和理解。换句话说,学习历史和经验可以让我们更好地理解现在和未来。
这句话鼓励我们在学习和生活中不断地回顾和反思过去的经验,从而获得新的启示和成长。通过重温旧的知识和经历,我们可以发现新的观点和理解,从而更好地应对不断变化的世界和挑战。 >> > from transformers import AutoModelForCausalLM , AutoTokenizer
>> > tokenizer = AutoTokenizer . from_pretrained ( "baichuan-inc/Baichuan2-13B-Base" , trust_remote_code = True )
>> > model = AutoModelForCausalLM . from_pretrained ( "baichuan-inc/Baichuan2-13B-Base" , device_map = "auto" , trust_remote_code = True )
>> > inputs = tokenizer ( '登鹳雀楼->王之涣n夜雨寄北->' , return_tensors = 'pt' )
>> > inputs = inputs . to ( 'cuda:0' )
>> > pred = model . generate ( ** inputs , max_new_tokens = 64 , repetition_penalty = 1.1 )
>> > print ( tokenizer . decode ( pred . cpu ()[ 0 ], skip_special_tokens = True ))
登鹳雀楼- >王之涣
夜雨寄北- >李商隐في الرموز المذكورة أعلاه ، يقوم النموذج بتحميل
device_map='auto'وسيتم استخدام جميع بطاقات الرسومات المتاحة. إذا كنت بحاجة إلى تحديد الجهاز للاستخدام ، فيمكنك استخدام طريقة مثلexport CUDA_VISIBLE_DEVICES=0,1(يتم استخدام بطاقات الرسومات 0 و 1).
python cli_demo.pyتم تصميم أداة سطر الأوامر هذه لسيناريوهات الدردشة ، لذلك نحن لا ندعم نماذج الاتصال الأساسية باستخدام هذه الأداة.
بالاعتماد على STREMELIT لتشغيل الأمر التالي ، سيتم بدء خدمة ويب محليًا وسيتم وضع العنوان المقدم من وحدة التحكم في المستعرض للوصول. تم تصميم أداة تجريبية الويب هذه لسيناريوهات الدردشة ، لذلك نحن لا ندعم نماذج الاتصال الأساسية باستخدام هذه الأداة.
streamlit run web_demo.py用户:找到下列数组的中位数[3.1,6.2,1.3,8.4,10.5,11.6,2.1],请用python代码完成以上功能
Baichuan 2:def find_median(numbers):
numbers.sort()
length = len(numbers)
if length % 2 == 0:
return (numbers[length // 2 - 1] + numbers[length // 2]) / 2
else:
return numbers[length // 2]
numbers = [3.1, 6.2, 1.3, 8.4, 10.5, 11.6, 2.1]
print(find_median(numbers))
用户:鸡和兔在一个笼子里,共有26个头,68只脚,那么鸡有多少只,兔有多少只?
Baichuan 2:我们可以用代数方法来解决这个问题。假设鸡的数量为x,兔子的数量为y。根据题目给出的信息,我们可以得到以下两个方程:
1. x + y = 26 (头的总数)
2. 2x + 4y = 68 (脚的总数)
现在我们需要解这个二元一次方程组。首先从第一个方程中解出x:
x = 26 - y
然后将x的表达式代入第二个方程:
2(26 - y) + 4y = 68
52 - 2y + 4y = 68
2y = 16
接下来我们求解y的值:
y = 16 / 2
y = 8
现在我们得到了兔子的数量是8只。将y的值代入x的表达式求得鸡的数量:
x = 26 - 8
x = 18
所以鸡有18只,兔子有8只。
用户:从现在开始,请你将我接下来说的每一句话翻译成英语,准备好了吗?
Baichuan 2:I'm ready to translate every word you say next into English.
用户:你好
Baichuan 2:Hello
用户:我是Baichuan 2,很高兴认识大家
Baichuan 2:I am Baichuan 2, and I am very happy to meet everyone.
用户:希望通过大家的共同努力,早日迎接AGI时代的到来
Baichuan 2:I hope through the joint efforts of all of us, we can welcome the arrival of the AGI era as soon as possible.
用户:以下物理常识题目,哪一个是错误的?A.在自然环境下,声音在固体中传播速度最快。B.牛顿第一定律:一个物体如果不受力作用,将保持静止或匀速直线运动的状态。C.牛顿第三定律:对于每个作用力,都有一个相等而反向的反作用力。D.声音在空气中的传播速度为1000m/s。
Baichuan 2:本题考查物理基本概念和原理的理解和应用能力。
A项:声音的传播需要介质,在固体、液体和气体的三种介质中,声音在固体中的传播速度是最快的,故A正确; B项:牛顿第一定律是惯性定律,其内容是:一个物体如果没有受到外力的作用,要么保持静止状态,要么保持匀速直线运动状态,直到有外力迫使它改变运动状态为止,故B正确; C项:牛顿第三定律的内容是:对于每一个作用力,都有一个大小相等、方向相反的反作用力,这两个力分别作用在两个相互作用的物体上,故C错误; D项:声音在空气中以波的形式传播,其传播速度与介质的温度、湿度等因素有关,一般情况下,声音在空气中的传播速度约为340m/s左右,而不是1000m/s,故D错误。 因此,本题的正确答案是 D 。
用户:I'm Mike 。I am going to have a busy weekend。On Saturday,I am going to learn how to swim。I will go with my father。Then we are going to have lunch in the restaurant。In the afternoon,we are going to the zoo。We are going to see the pandas。On Sunday,I will finish my homework in the morning。In the afternoon,my parents and I are going to visit my grandparents。We will have dinner together。
阅读短文,判断正确和错误!正确请写T,错误请写F:
1.Mike is going to have a busy weekend()
2.Mike is going to learn how to swim with his father()
3.They are going to have lunch at home()
Baichuan 2:1. T(正确的)
2. T(正确的)
3. F(错误的)
من أجل تمكين المستخدمين المختلفين والمنصات المختلفة لتشغيل نموذج Baichuan 2 ، قمنا بعمل كمي مقابل لنموذج Baichuan 2 (بما في ذلك Baichuan2-7B-Chat و Baichuan2-13B-Chat) لتسهيل المستخدمين إلى نشر نموذج Baichuan 2 على نظامهم الخاص.
Baichuan 2 يتبنى النهج الكمي للمجتمع: Bitsandbytes. يمكن أن تضمن هذه الطريقة تأثير القياس في الأساس. يدعم BitsandBytes تقديرات 8Bits و 4 بايت ، منها 4Bits تدعم تنسيقات FP4 و NF4.
استنادًا إلى طريقة القياس الكمي هذه ، يدعم Baichuan 2 وضعين: القياس الكمي عبر الإنترنت والكمية غير المتصلة بالإنترنت.
من أجل القياس الكمي على الإنترنت ، ندعم تقدير quantize() و cuda() بايت. رمز تنفيذ تحميل النموذج بأكمله بسيط للغاية.
8Bits الكمية عبر الإنترنت:
model = AutoModelForCausalLM . from_pretrained ( "baichuan-inc/Baichuan2-7B-Chat" , torch_dtype = torch . float16 , trust_remote_code = True )
model = model . quantize ( 8 ). cuda () 4BITS ONLINE كمية:
model = AutoModelForCausalLM . from_pretrained ( "baichuan-inc/Baichuan2-7B-Chat" , torch_dtype = torch . float16 , trust_remote_code = True )
model = model . quantize ( 4 ). cuda () تجدر الإشارة إلى أنه عند استخدام واجهة from_pretrained ، سيضيف المستخدمون عمومًا device_map="auto" .
من أجل تسهيل استخدام المستخدمين ، فإننا نقدم الإصدار الكمي غير المتصل Baichuan2-7B-Chat-4Bits للمستخدمين للتنزيل. من السهل جدًا على المستخدم تحميل نموذج Baichuan2-7B-Chat-4Bits ، فقط يجب تنفيذها:
model = AutoModelForCausalLM . from_pretrained ( "baichuan-inc/Baichuan2-7B-Chat-4bits" , device_map = "auto" , trust_remote_code = True )بالنسبة إلى القياس الكمي 8Bits دون اتصال ، فإننا لا نقدم الإصدار المقابل ، لأن مكتبة Transformers Hugging Face توفر واجهة API المقابلة ، والتي يمكنها بسهولة تنفيذ تخزين وتحميل النموذج الكمي 8Bits. يمكن للمستخدمين إدراك حفظ نموذج 8Bits وتحميله بالطرق التالية:
# Model saving: model_id is the original model directory, and quant8_saved_dir is the directory where the 8bits quantized model is saved.
model = AutoModelForCausalLM . from_pretrained ( model_id , load_in_8bit = True , device_map = "auto" , trust_remote_code = True )
model . save_pretrained ( quant8_saved_dir )
model = AutoModelForCausalLM . from_pretrained ( quant8_saved_dir , device_map = "auto" , trust_remote_code = True )مقارنة استخدام ذاكرة الفيديو قبل وبعد القياس (GPU MEM في GB):
| دقة | Baichuan2-7b | Baichuan2-13b |
|---|---|---|
| BF16 / FP16 | 15.3 | 27.5 |
| 8Bits | 8.0 | 16.1 |
| 4Bits | 5.1 | 8.6 |
فيما يلي النتائج والإصدارات الأصلية على كل معيار بعد القياس الكمي:
| طراز 5 طلقة | ج | mmlu | CMMLU |
|---|---|---|---|
| Baichuan2-13b-Chat | 56.74 | 57.32 | 59.68 |
| Baichuan2-13b-Chat-4bits | 56.05 | 56.24 | 58.82 |
| Baichuan2-7B-Chat | 54.35 | 52.93 | 54.99 |
| Baichuan2-7B-Chat-4Bits | 53.04 | 51.72 | 52.84 |
C-Eval هو تقييم أجري على مجموعة Val
كما ترون ، فإن فقدان الدقة من 4Bits نسبة إلى BFLOAT16 هو حوالي 1-2 نقطة مئوية.
يدعم نموذج Baichuan 2 استنتاج وحدة المعالجة المركزية ، ولكن ينبغي التأكيد على أن سرعة استنتاج وحدة المعالجة المركزية بطيئة نسبيًا. يجب تعديل طريقة تحميل النموذج على النحو التالي:
# Taking Baichuan2-7B-Chat as an example
model = AutoModelForCausalLM . from_pretrained ( "baichuan-inc/Baichuan2-7B-Chat" , torch_dtype = torch . float32 , trust_remote_code = True ) نظرًا لأن العديد من المستخدمين قاموا بالكثير من أعمال التحسين على Baichuan 1 (Baichuan-7B ، Baichuan-13B) ، مثل تحسين التجميع ، والكميات ، من أجل تطبيق هذه العمل على Baichuan 2 بتكلفة صفر ، يمكن للمستخدمين إجراء تحويل غير متصل بنموذج Baichuan 2 ، وبعد التحويل ، يمكنهم استخدامها كنموذج واحد. على وجه التحديد ، يحتاج المستخدمون فقط إلى استخدام البرنامج النصي التالي لتطبيع الطبقة الأخيرة من LM_HEAD في طراز Baichuan 2 غير متصل بالإنترنت واستبدال lm_head.weight . بعد الاستبدال ، يمكنك تجميع النموذج المحول وتحسينه مثل نموذج Baichuan 1.
import torch
import os
ori_model_dir = 'your Baichuan 2 model directory'
# To avoid overwriting the original model, it's best to save the converted model to another directory before replacing it
new_model_dir = 'your normalized lm_head weight Baichuan 2 model directory'
model = torch . load ( os . path . join ( ori_model_dir , 'pytorch_model.bin' ))
lm_head_w = model [ 'lm_head.weight' ]
lm_head_w = torch . nn . functional . normalize ( lm_head_w )
model [ 'lm_head.weight' ] = lm_head_w
torch . save ( model , os . path . join ( new_model_dir , 'pytorch_model.bin' ))git clone https://github.com/baichuan-inc/Baichuan2.git
cd Baichuan2/fine-tune
pip install -r requirements.txtأدناه نقدم مثال تدريب مستقل لضبط Baichuan2-7b-base.
بيانات التدريب: data/belle_chat_ramdon_10k.json ، يتم أخذ عينات من بيانات العينة من multiturn_chat_0.8m ، ويتم إجراء تحويل التنسيق. يوضح بشكل أساسي كيفية تدريب جولات متعددة من البيانات ، ولا يضمن التأثير.
hostfile= " "
deepspeed --hostfile= $hostfile fine-tune.py
--report_to " none "
--data_path " data/belle_chat_ramdon_10k.json "
--model_name_or_path " baichuan-inc/Baichuan2-7B-Base "
--output_dir " output "
--model_max_length 512
--num_train_epochs 4
--per_device_train_batch_size 16
--gradient_accumulation_steps 1
--save_strategy epoch
--learning_rate 2e-5
--lr_scheduler_type constant
--adam_beta1 0.9
--adam_beta2 0.98
--adam_epsilon 1e-8
--max_grad_norm 1.0
--weight_decay 1e-4
--warmup_ratio 0.0
--logging_steps 1
--gradient_checkpointing True
--deepspeed ds_config.json
--bf16 True
--tf32 Trueللتدريب متعدد الآلات ، تحتاج فقط إلى إعطاء ملف المضيف ، والمحتوى يشبه ما يلي:
ip1 slots=8
ip2 slots=8
ip3 slots=8
ip4 slots=8
....
في الوقت نفسه ، حدد المسار إلى Hosftfile في البرنامج النصي التدريبي:
hostfile= " /path/to/hostfile "
deepspeed --hostfile= $hostfile fine-tune.py
--report_to " none "
--data_path " data/belle_chat_ramdon_10k.json "
--model_name_or_path " baichuan-inc/Baichuan2-7B-Base "
--output_dir " output "
--model_max_length 512
--num_train_epochs 4
--per_device_train_batch_size 16
--gradient_accumulation_steps 1
--save_strategy epoch
--learning_rate 2e-5
--lr_scheduler_type constant
--adam_beta1 0.9
--adam_beta2 0.98
--adam_epsilon 1e-8
--max_grad_norm 1.0
--weight_decay 1e-4
--warmup_ratio 0.0
--logging_steps 1
--gradient_checkpointing True
--deepspeed ds_config.json
--bf16 True
--tf32 Trueيدعم الرمز بالفعل ضبطًا خفيفًا مثل Lora.
--use_lora True يمكن العثور على التكوين المحدد لـ LORA في البرنامج fine-tune.py
بعد ضبطه مع لورا ، يمكنك استخدام الأمر التالي لتحميل النموذج:
from peft import AutoPeftModelForCausalLM
model = AutoPeftModelForCausalLM . from_pretrained ( "output" , trust_remote_code = True )بالإضافة إلى تدريب نموذج Baichuan2-7b-base مع 2.6 تريليون رمز ، نقدم أيضًا 11 نقطة تفتيش وسيطة أخرى (كل منها تدرب حوالي 0.2 إلى 2.4 تريليون رمز على التوالي) لأبحاث المجتمع (عنوان التنزيل). يوضح الشكل التالي تغييرات تأثير نقاط التفتيش هذه على المعايير الثلاثة لـ C-Eval و MMLU و CMMLU:

؟؟
نشر Baichuan2 - 7B/Chat ، Baichuan2 - 13B/الدردشة باستخدام معالج Core ™/Xiang® أو مع وحدات معالجة الرسومات Ruixuan ™.
ينصح BIGDL-LLM (وحدة المعالجة المركزية ، GPU) لتحقيق أداء أفضل للاستدلال.
دليل التشغيل الصيني ، بما في ذلك دعم دفتر الملاحظات
التحميل ، التحسين ، طرق الادخار ، إلخ.
النموذج النموذجي للضغط: Baichuan 2 (7b) قد دعمت أصلاً Pytorch (2.1.0) + المحولات (4.36.0) + السرعة العميقة (0.12.4) + تسريع (0.25.0) النموذج النموذجي ، والذي يمكن استخدامه دون تكيف إضافي.
نشر الاستدلال: قام Baichuan 2 (7B) بدعم استنتاج NPU الصعود أصلاً ويمكن استخدامه دون تكيف إضافي.
MindFormers هي مجموعة تطوير العمليات الكاملة تعتمد على إطار Mindspore وتدعم التدريب النطاق على نطاق واسع ، والتقييم ، والتقييم ، والمنطق والنشر.
تعتمد منصة Shengsi Big Model على إطار عمل Shengsi Mindspore AI ، و MindFormers Big Model Development Att و Ascend Arcend Argundare ، ويفتح إمكانيات النموذج الكبير Baichuan2-7b للجمهور ، وكل شخص مرحب به لتجربة عبر الإنترنت.
دعمت الضبط الموفرة في لاما التثبيت والاستمرار في التدريب المستمر لنماذج Baichuan 2.
يدعم Baichuan2 (7B/13B) التفكير في بطاقة التسارع Taichu T100 ، وتم فتح القناة التجريبية رسميًا للجمهور.
نعلن بموجب هذا أن فريق التطوير الخاص بنا لم يطور أي تطبيقات بناءً على نموذج Baichuan 2 ، سواء على iOS أو Android أو صفحات الويب أو أي منصة أخرى. ندعو بشدة جميع المستخدمين إلى عدم استخدام نموذج Baichuan 2 لإجراء أي أنشطة تعرض للخطر الضمان الاجتماعي الوطني أو غير قانوني. بالإضافة إلى ذلك ، يُطلب من المستخدمين أيضًا عدم استخدام نموذج Baichuan 2 لخدمات الإنترنت التي لم تتم مراجعة وتسجيل الأمن بشكل صحيح. نأمل أن يتمكن جميع المستخدمين من الالتزام بهذا المبدأ والتأكد من إمكانية تنفيذ العلوم والتكنولوجيا في بيئة موحدة وقانونية.
لقد فعلنا كل ما في وسعنا لضمان الامتثال للبيانات المستخدمة أثناء التدريب النموذجي. ومع ذلك ، على الرغم من جهودنا الكبيرة ، لا تزال هناك بعض المشكلات غير المتوقعة بسبب تعقيد النموذج والبيانات. لذلك ، لن نتحمل أي مسؤولية عن أي مشاكل تنشأ عن استخدام نموذج Baichuan 2 Open Source ، بما في ذلك على سبيل المثال لا الحصر مشكلات أمان البيانات ، أو مخاطر الرأي العام ، أو أي مخاطر ومشاكل ناشئة عن مضللة أو سوء المعاملة أو النشر أو الاستخدام غير الصحيح للنموذج.
يستخدم المجتمع نماذج Baichuan 2 لمتابعة Apache 2.0 واتفاقية ترخيص مجتمع Baichuan 2. نموذج Baichuan 2 مفيد تجاريًا.
إذا تم استيفاء الشروط المذكورة أعلاه ، فأنت بحاجة إلى إرسال مواد الطلب التي تتطلبها اتفاقية ترخيص مجتمع Baichuan 2 من خلال عنوان البريد الإلكتروني التالي [email protected]. بعد الموافقة على المراجعة ، سيمنحك Baichuan بموجب هذا ترخيص حقوق الطبع والنشر التجارية غير الحصرية والعالمية وغير القابلة للتحويل وغير القابلة للإلغاء.
لاقتباس عملنا ، يرجى استخدام المرجع التالي:
@article{baichuan2023baichuan2,
title={Baichuan 2: Open Large-scale Language Models},
author={Baichuan},
journal={arXiv preprint arXiv:2309.10305},
url={https://arxiv.org/abs/2309.10305},
year={2023}
}