ใบหน้ากอด?

แอพ Baixiaoying ได้เปิดตัวอย่างเป็นทางการแล้ว! ผู้ช่วย AI ที่รู้วิธีการค้นหาและถามคำถามค้นหา Baixiao ในร้านแอปพลิเคชันรายใหญ่ยินดีต้อนรับสู่การดาวน์โหลดและสัมผัสกับมัน?
ภาษา จีน
[ 2023.12.29 ] ??? ใน:
ลิงก์รุ่นและลิงก์ดาวน์โหลดจะแสดงในตารางต่อไปนี้:
| รุ่นฐาน | จัดแนวโมเดล | การจัดตำแหน่งโมเดล 4bits quantization | |
|---|---|---|---|
| 7b | ? | ? | ? |
| 13B | ? | ? | ? |
เราทดสอบแบบจำลองอย่างกว้างขวางเกี่ยวกับชุดข้อมูลที่มีสิทธิ์แบบจีนและภาษาอังกฤษและหลายภาษาในหกสาขา: ทั่วไป, กฎหมาย, การแพทย์, คณิตศาสตร์, รหัสและการแปลหลายภาษา
ในโดเมนทั่วไปเราทำการทดสอบ 5 ช็อตในชุดข้อมูลต่อไปนี้
| C-eval | mmlu | cmmlu | Gaokao | เกี่ยวกับความโกลาหล | 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 |
| LLAMA-7B | 27.10 | 35.10 | 26.75 | 27.81 | 28.17 | 32.38 |
| LLAMA2-7B | 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 |
| Falcon-7b | 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 |
| C-eval | mmlu | cmmlu | Gaokao | เกี่ยวกับความโกลาหล | 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 |
| llama-13b | 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 |
| Chinese-Alpaca-Plus-13b | 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 |
| บาอิชูนัน -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 |
| LLAMA-7B | 27.45 | 33.34 | 24.12 | 21.72 | 27.45 |
| LLAMA2-7B | 29.20 | 36.75 | 27.49 | 24.78 | 37.93 |
| MPT-7B | 27.45 | 26.67 | 16.97 | 19.79 | 31.96 |
| Falcon-7b | 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 |
| llama-13b | 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 |
| Chinese-Alpaca-Plus-13b | 35.32 | 46.31 | 27.49 | 32.66 | 35.87 |
| Xverse-13b | 46.42 | 58.08 | 32.99 | 58.76 | 41.34 |
| บาอิชูนัน -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 และคณิตศาสตร์ 4-Shot
ฟิลด์รหัสใช้ชุดข้อมูล HumanEval และ MBPP เราใช้ OpenCompass เพื่อทดสอบ HumaneVal 0-Shot และ MBPP DataSet 3-Shot
| GSM8K | คณิตศาสตร์ | เกี่ยวกับมนุษย์ | MBPP | |
|---|---|---|---|---|
| 4 ช็อต | 4 ช็อต | 0-shot | 3 ช็อต | |
| GPT-4 | 89.99 | 40.20 | 69.51 | 63.60 |
| GPT-3.5 Turbo | 57.77 | 13.96 | 52.44 | 61.40 |
| LLAMA-7B | 9.78 | 3.02 | 11.59 | 14.00 น |
| LLAMA2-7B | 16.22 | 3.24 | 12.80 | 14.80 |
| MPT-7B | 8.64 | 2.90 | 14.02 | 23.40 |
| Falcon-7b | 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 | คณิตศาสตร์ | เกี่ยวกับมนุษย์ | MBPP | |
|---|---|---|---|---|
| 4 ช็อต | 4 ช็อต | 0-shot | 3 ช็อต | |
| GPT-4 | 89.99 | 40.20 | 69.51 | 63.60 |
| GPT-3.5 Turbo | 57.77 | 13.96 | 52.44 | 61.40 |
| llama-13b | 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 น |
| Chinese-Alpaca-Plus-13b | 11.98 | 2.50 | 16.46 | 20.00 น |
| Xverse-13b | 18.20 | 2.18 | 15.85 | 16.80 |
| บาอิชูนัน -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 |
| LLAMA-7B | 17.27 | 12.02 | 9.54 | 0.00 | 4.47 | 1.41 | 8.73 | 7.63 |
| LLAMA2-7B | 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 |
| Falcon-7b | 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 |
| llama-13b | 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 |
| Chinese-Alpaca-Plus-13b | 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 |
| บาอิชูนัน -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 เราแสดงให้เห็นถึงวิธีการให้เหตุผลที่หลากหลายที่นี่ โปรแกรมจะดาวน์โหลดทรัพยากรที่จำเป็นโดยอัตโนมัติจากการกอด 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เครื่องมือบรรทัดคำสั่งนี้ออกแบบมาสำหรับสถานการณ์การแชทดังนั้นเราไม่รองรับโมเดลฐานการโทรโดยใช้เครื่องมือนี้
พึ่งพา Streamlit เพื่อเรียกใช้คำสั่งต่อไปนี้บริการเว็บจะเริ่มต้นในพื้นที่และที่อยู่ที่กำหนดโดยคอนโซลจะถูกวางลงในเบราว์เซอร์เพื่อเข้าถึง เครื่องมือสาธิตเว็บนี้ได้รับการออกแบบมาสำหรับสถานการณ์การแชทดังนั้นเราจึงไม่รองรับโมเดลฐานการโทรโดยใช้เครื่องมือนี้
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 ใช้วิธีการเชิงปริมาณของชุมชน: Bitsandbytes วิธีนี้สามารถมั่นใจได้ว่าผลกระทบเชิงปริมาณนั้นไม่ได้สูญหายไป Bitsandbytes รองรับ 8BITS และ 4BITS Quantization ซึ่ง 4BITS รองรับรูปแบบ FP4 และ NF4
Baichuan 2 รองรับสองโหมด: การหาปริมาณออนไลน์และการหาปริมาณแบบออฟไลน์
สำหรับการหาปริมาณออนไลน์เราสนับสนุน quantize() และ cuda() QUANTIZATION รหัสที่จะใช้การโหลดโมเดลทั้งหมดนั้นง่ายมาก
8BITS ONLINATIFICITION:
model = AutoModelForCausalLM . from_pretrained ( "baichuan-inc/Baichuan2-7B-Chat" , torch_dtype = torch . float16 , trust_remote_code = True )
model = model . quantize ( 8 ). cuda () 4BITS Online Quantization:
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 ออฟไลน์ quantization เราไม่ได้จัดเตรียมเวอร์ชันที่สอดคล้องกันเนื่องจากไลบรารี Hugging Face Transformers ให้อินเทอร์เฟซ 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-shot | C-eval | 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 รองรับการอนุมาน CPU แต่ควรเน้นว่าความเร็วการอนุมาน CPU ค่อนข้างช้า วิธีการโหลดแบบจำลองจะต้องมีการแก้ไขดังนี้:
# 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สำหรับการฝึกอบรมหลายเครื่องคุณจะต้องให้ File File และเนื้อหานั้นคล้ายกับต่อไปนี้:
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
หลังจากปรับแต่งด้วย LORA คุณสามารถใช้คำสั่งต่อไปนี้เพื่อโหลดโมเดล:
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:

เราจะอัปเดตชุมชนและระบบนิเวศต่อไปสำหรับ Baichuan 2 ที่นี่ ???
ปรับใช้ Baichuan2 - 7b/แชท, Baichuan2 - 13b/แชทโดยใช้โปรเซสเซอร์ Core ™/Xiang®ที่ปรับขนาดได้หรือกับ Ruixuan ™ GPU
แนะนำให้ใช้ BigDL-LLM (CPU, GPU) เพื่อให้ได้ประสิทธิภาพการอนุมานที่ดีขึ้น
คู่มือปฏิบัติการจีนรวมถึงการสนับสนุนสมุดบันทึก
การโหลดการเพิ่มประสิทธิภาพวิธีการบันทึก ฯลฯ
การปรับแต่งแบบจำลอง: Baichuan 2 (7b) ได้รับการสนับสนุนอย่างเป็นทางการ pytorch (2.1.0) + หม้อแปลง (4.36.0) + Deepspeed (0.12.4) + เร่งความเร็ว (0.25.0) การปรับแต่งแบบจำลองซึ่งสามารถใช้งานได้โดยไม่ต้องปรับตัวเพิ่มเติม
การปรับใช้การอนุมาน: Baichuan 2 (7b) ได้รับการสนับสนุนการอนุมาน NPU Ascend และสามารถใช้งานได้โดยไม่ต้องปรับตัวเพิ่มเติม
Mindformers เป็นชุดพัฒนาเต็มรูปแบบตามกรอบ MindSpore และสนับสนุนการฝึกอบรมแบบจำลองขนาดใหญ่การปรับแต่งการประเมินผลการใช้เหตุผลและการปรับใช้
แพลตฟอร์มโมเดลขนาดใหญ่ของ Shengsi ขึ้นอยู่กับเฟรมเวิร์ก AI ของ Shengsi Mindspore, Mindformers Mindformers Big Model Development Kit และ Ascend Hardware Computing Power และเปิดความสามารถของโมเดลขนาดใหญ่ Baichuan2-7B สู่สาธารณะและทุกคนยินดีที่จะได้สัมผัสกับออนไลน์
Llama-Efficient-Tuning สนับสนุนการปรับแต่งและการฝึกอบรมอย่างต่อเนื่องของโมเดล Baichuan 2
Baichuan2 (7b/13b) สนับสนุนการให้เหตุผลการ์ดเร่งความเร็วของ Taichu T100 และช่องทางการทดลองได้เปิดอย่างเป็นทางการต่อสาธารณชน
เราขอประกาศว่าทีมพัฒนาของเราไม่ได้พัฒนาแอพใด ๆ ตามโมเดล Baichuan 2 ไม่ว่าจะเป็นบน iOS, Android, หน้าเว็บหรือแพลตฟอร์มอื่น ๆ เราเรียกร้องให้ผู้ใช้ทุกคนไม่ใช้โมเดล Baichuan 2 เพื่อดำเนินกิจกรรมใด ๆ ที่เป็นอันตรายต่อประกันสังคมแห่งชาติหรือผิดกฎหมาย นอกจากนี้ผู้ใช้ยังถูกขอให้ไม่ใช้โมเดล Baichuan 2 สำหรับบริการอินเทอร์เน็ตที่ไม่ได้รับการตรวจสอบและลงทะเบียนความปลอดภัยอย่างเหมาะสม เราหวังว่าผู้ใช้ทุกคนสามารถปฏิบัติตามหลักการนี้และตรวจสอบให้แน่ใจว่าการพัฒนาวิทยาศาสตร์และเทคโนโลยีสามารถดำเนินการในสภาพแวดล้อมที่ได้มาตรฐานและถูกกฎหมาย
เราได้ทำทุกอย่างเท่าที่ทำได้เพื่อให้แน่ใจว่าสอดคล้องกับข้อมูลที่ใช้ในระหว่างการฝึกอบรมแบบจำลอง อย่างไรก็ตามแม้จะมีความพยายามอย่างมากของเรา แต่ก็ยังมีปัญหาที่ไม่คาดฝันเนื่องจากความซับซ้อนของแบบจำลองและข้อมูล ดังนั้นเราจะไม่รับผิดชอบต่อปัญหาใด ๆ ที่เกิดขึ้นจากการใช้โมเดลโอเพ่นซอร์สของ Baichuan 2 รวมถึง แต่ไม่ จำกัด เฉพาะปัญหาความปลอดภัยของข้อมูลความเสี่ยงความคิดเห็นของประชาชนหรือความเสี่ยงและปัญหาใด ๆ ที่เกิดขึ้นจากการใช้แบบจำลองที่ไม่เหมาะสม
ชุมชนใช้โมเดล Baichuan 2 เพื่อติดตาม Apache 2.0 และข้อตกลงใบอนุญาตชุมชน Baichuan 2 รุ่น โมเดล Baichuan 2 มีประโยชน์ในเชิงพาณิชย์
หากเป็นไปตามเงื่อนไขข้างต้นคุณจะต้องส่งเอกสารใบสมัครที่ต้องการโดยข้อตกลงใบอนุญาตชุมชน Baichuan 2 Model ผ่านที่อยู่อีเมลต่อไปนี้ [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}
}