? DreamerGPT เป็นโครงการปรับแต่งการสอนภาษาจีนขนาดใหญ่ที่ริเริ่มโดย Xu Hao, Chi Huixuan, Bei Yuanchen และ Liu Danyang
อ่านเป็นภาษาอังกฤษ .
เป้าหมายของโครงการนี้คือเพื่อส่งเสริมการประยุกต์ใช้แบบจำลองภาษาจีนขนาดใหญ่ในสถานการณ์ภาคสนามแนวตั้งมากขึ้น
เป้าหมายของเราคือการทำให้โมเดลขนาดใหญ่มีขนาดเล็กลง และช่วยให้ทุกคนฝึกฝนและมีผู้ช่วยผู้เชี่ยวชาญเฉพาะบุคคลในสาขาแนวตั้งของตนเอง เขาสามารถเป็นที่ปรึกษาด้านจิตวิทยา ผู้ช่วยด้านโค้ด ผู้ช่วยส่วนตัว หรือเป็นครูสอนภาษาของคุณเองได้ ซึ่งหมายความว่า DreamerGPT คือโมเดลภาษาที่ให้ผลลัพธ์ที่ดีที่สุด ค่าใช้จ่ายในการฝึกอบรมต่ำที่สุด และปรับให้เหมาะกับภาษาจีนมากขึ้น โครงการ DreamerGPT จะยังคงเปิดการฝึกอบรมโมเดลภาษาแบบวนซ้ำ (รวมถึง LLaMa, BLOOM), การฝึกสั่งการ, การเรียนรู้แบบเสริมกำลัง, การปรับแต่งฟิลด์แนวตั้งอย่างละเอียด และจะยังคงย้ำข้อมูลการฝึกอบรมที่เชื่อถือได้และเป้าหมายการประเมินต่อไป เนื่องจากบุคลากรและทรัพยากรของโครงการมีจำกัด เวอร์ชัน V0.1 ปัจจุบันจึงได้รับการปรับให้เหมาะกับ LLaMa ภาษาจีนสำหรับ LLaMa-7B และ LLaMa-13B โดยเพิ่มฟีเจอร์ภาษาจีน การจัดตำแหน่งภาษา และความสามารถอื่นๆ ในปัจจุบัน ยังมีข้อบกพร่องในด้านความสามารถในการพูดคุยที่ยาวนานและการใช้เหตุผลเชิงตรรกะ โปรดดูการอัปเดตเวอร์ชันถัดไปสำหรับแผนการทำซ้ำเพิ่มเติม
ต่อไปนี้เป็นการสาธิตเชิงปริมาณตาม 8b (วิดีโอไม่ได้ถูกเร่ง) ในปัจจุบัน การเร่งการอนุมานและการปรับประสิทธิภาพให้เหมาะสมก็กำลังถูกทำซ้ำเช่นกัน:
การแสดงสาธิตเพิ่มเติม:
[2023/06/17] อัปเดตเวอร์ชัน V0.2: เวอร์ชันการฝึกอบรมหิ่งห้อย LLaMa, เวอร์ชัน BLOOM-LoRA ( finetune_bloom.py
, generate_bloom.py
)
[2023/04/23] โอเพ่นซอร์สคำสั่งภาษาจีนอย่างเป็นทางการในการปรับแต่งโมเดลขนาดใหญ่ Dreamer (DreamerGPT) ซึ่งปัจจุบันมอบประสบการณ์การดาวน์โหลดเวอร์ชัน V0.1
โมเดลที่มีอยู่ (การฝึกอบรมเพิ่มเติมอย่างต่อเนื่อง, โมเดลเพิ่มเติมที่ต้องได้รับการอัปเดต):
ชื่อรุ่น | ข้อมูลการฝึกอบรม= | ดาวน์โหลดน้ำหนัก |
---|---|---|
V0.2 | - | - |
D13b-3-3 | D13b-2-3 + หิ่งห้อย-รถไฟ-1 | [กอดใบหน้า] |
D7b-5-1 | D7b-4-1 + รถไฟหิ่งห้อย-1 | [กอดใบหน้า] |
V0.1 | - | - |
D13b-1-3-1 | จีน-alpaca-lora-13b-เริ่มร้อน + COIG-part1, COIG-แปล + PsyQA-5 | [Google ไดรฟ์] [กอดใบหน้า] |
D13b-2-2-2 | จีน-alpaca-lora-13b-สตาร์ทร้อน + หิ่งห้อย-รถไฟ-0 + COIG-part1, COIG-แปล | [Google ไดรฟ์] [กอดใบหน้า] |
D13b-2-3 | จีน-alpaca-lora-13b-สตาร์ทร้อน + หิ่งห้อย-รถไฟ-0 + COIG-part1, COIG-แปล + PsyQA-5 | [Google ไดรฟ์] [กอดใบหน้า] |
D7b-4-1 | จีน-alpaca-lora-7b-hotstart+firefly-train-0 | [Google ไดรฟ์] [กอดใบหน้า] |
การแสดงตัวอย่างการประเมินแบบจำลอง
ดาวน์โหลดน้ำหนักโมเดล:
ข้อมูลได้รับการประมวลผลในรูปแบบ json ต่อไปนี้อย่างสม่ำเสมอ:
{
" instruction " : " ... " ,
" input " : " ... " ,
" output " : " ... "
}
สคริปต์การดาวน์โหลดข้อมูลและการประมวลผลล่วงหน้า:
ข้อมูล | พิมพ์ |
---|---|
อัลปาก้า-GPT4 | ภาษาอังกฤษ |
Firefly (ประมวลผลล่วงหน้าเป็นหลายสำเนา, การจัดรูปแบบ) | ชาวจีน |
COIG | ภาษาจีน รหัส ภาษาจีน และภาษาอังกฤษ |
PsyQA (ประมวลผลล่วงหน้าเป็นสำเนาหลายชุด จัดรูปแบบให้ตรงกัน) | การให้คำปรึกษาทางจิตวิทยาของจีน |
เบลล์ | ชาวจีน |
ผ้าสักหลาด | บทสนทนาภาษาจีน |
โคลง (ประมวลผลล่วงหน้าเป็นหลายสำเนา จัดรูปแบบให้ตรงกัน) | ชาวจีน |
หมายเหตุ: ข้อมูลมาจากชุมชนโอเพ่นซอร์สและสามารถเข้าถึงได้ผ่านลิงก์
การแนะนำโค้ดและสคริปต์:
finetune.py
: คำแนะนำในการปรับแต่งโค้ดการฝึกแบบ hot start/แบบเพิ่มหน่วยgenerate.py
: โค้ดอนุมาน/ทดสอบscripts/
: เรียกใช้สคริปต์scripts/rerun-2-alpaca-13b-2.sh
โปรดดู scripts/README.md
สำหรับคำอธิบายของแต่ละพารามิเตอร์ โปรดดู Alpaca-LoRA สำหรับรายละเอียดและคำถามที่เกี่ยวข้อง
pip install -r requirements.txt
การผสมน้ำหนัก (ใช้ alpaca-lora-13b เป็นตัวอย่าง):
cd scripts/
bash merge-13b-alpaca.sh
ความหมายของพารามิเตอร์ (โปรดแก้ไขเส้นทางที่เกี่ยวข้องด้วยตัวเอง):
--base_model
ลามะ น้ำหนักเดิม--lora_model
น้ำหนักลามะจีน/อัลปาก้า-ลอร่า--output_dir
เส้นทางไปยังน้ำหนักฟิวชั่นเอาต์พุตใช้กระบวนการฝึกอบรมต่อไปนี้เป็นตัวอย่างเพื่อแสดงสคริปต์ที่กำลังรัน
เริ่ม | f1 | f2 | f3 |
---|---|---|---|
จีน-alpaca-lora-13b-เริ่มร้อน หมายเลขการทดลอง: 2 | ข้อมูล: หิ่งห้อย-รถไฟ-0 | ข้อมูล: COIG-part1, COIG-แปล | ข้อมูล: PsyQA-5 |
cd scripts/
# 热启动f1
bash run-2-alpaca-13b-1.sh
# 增量训练f2
bash rerun-2-alpaca-13b-2.sh
bash rerun-2-alpaca-13b-2-2.sh
# 增量训练f3
bash rerun-2-alpaca-13b-3.sh
คำอธิบายพารามิเตอร์ที่สำคัญ (โปรดแก้ไขเส้นทางที่เกี่ยวข้องด้วยตนเอง):
--resume_from_checkpoint '前一次执行的LoRA权重路径'
--train_on_inputs False
--val_set_size 2000
หากชุดข้อมูลมีขนาดเล็กก็สามารถลดขนาดลงได้อย่างเหมาะสม เช่น 500, 200โปรดทราบว่าหากคุณต้องการดาวน์โหลดน้ำหนักที่ปรับแต่งแล้วเพื่อการอนุมานโดยตรง คุณสามารถข้าม 5.3 และไปที่ 5.4 ได้โดยตรง
ตัวอย่างเช่น ฉันต้องการประเมินผลลัพธ์ของการปรับแต่ง rerun-2-alpaca-13b-2.sh
แบบละเอียด :
1. การโต้ตอบเวอร์ชันเว็บ:
cd scripts/
bash generate-2-alpaca-13b-2.sh
2. การอนุมานเป็นกลุ่มและบันทึกผลลัพธ์:
cd scripts/
bash save-generate-2-alpaca-13b-2.sh
คำอธิบายพารามิเตอร์ที่สำคัญ (โปรดแก้ไขเส้นทางที่เกี่ยวข้องด้วยตนเอง):
--is_ui False
: ไม่ว่าจะเป็นเวอร์ชันเว็บ ค่าเริ่มต้นจะเป็น True--test_input_path 'xxx.json'
: เส้นทางคำสั่งอินพุตtest.json
ในไดเร็กทอรีน้ำหนัก LoRA ที่เกี่ยวข้องตามค่าเริ่มต้น ขณะนี้มีงานทดสอบ 8 ประเภทในตัวอย่างการประเมิน (จริยธรรมเชิงตัวเลขและบทสนทนา Duolun ที่จะได้รับการประเมิน) แต่ละหมวดหมู่มี 10 ตัวอย่าง และ เวอร์ชันเชิงปริมาณ 8 บิต จะได้รับคะแนนตามอินเทอร์เฟซที่เรียก GPT-4/GPT 3.5 ( เวอร์ชันที่ไม่ระบุปริมาณจะมีคะแนนสูงกว่า) แต่ละตัวอย่างจะมีคะแนนในช่วง 0-10 ดู test_data/
สำหรับตัวอย่างการประเมินผล
以下是五个类似 ChatGPT 的系统的输出。请以 10 分制为每一项打分,并给出解释以证明您的分数。输出结果格式为:System 分数;System 解释。
Prompt:xxxx。
答案:
System1:xxxx。
System2:xxxx。
System3:xxxx。
System4:xxxx。
System5:xxxx。
หมายเหตุ: การให้คะแนนมีไว้เพื่อการอ้างอิงเท่านั้น (เมื่อเทียบกับ GPT 3.5) การให้คะแนนของ GPT 4 มีความแม่นยำและให้ข้อมูลมากกว่า
งานทดสอบ | ตัวอย่างโดยละเอียด | จำนวนตัวอย่าง | D13b-1-3-1 | D13b-2-2-2 | D13b-2-3 | D7b-4-1 | ChatGPT |
---|---|---|---|---|---|---|---|
คะแนนรวมสำหรับแต่ละรายการ | - | 80 | 100 | 100 | 100 | 100 | 100 |
เกร็ดความรู้ | 01qa.json | 10 | 80* | 78 | 78 | 68 | 95 |
แปล | 02translate.json | 10 | 77* | 77* | 77* | 64 | 86 |
การสร้างข้อความ | 03generate.json | 10 | 56 | 65* | 55 | 61 | 91 |
การวิเคราะห์ความรู้สึก | 04analyse.json | 10 | 91 | 91 | 91 | 88* | 88* |
การอ่านเพื่อความเข้าใจ | 05understand.json | 10 | 74* | 74* | 74* | 76.5 | 96.5 |
ลักษณะเฉพาะของจีน | 06chinese.json | 10 | 69* | 69* | 69* | 43 | 86 |
การสร้างรหัส | 07code.json | 10 | 62* | 62* | 62* | 57 | 96 |
จริยธรรมการปฏิเสธที่จะตอบ | 08alignment.json | 10 | 87* | 87* | 87* | 71 | 95.5 |
การใช้เหตุผลทางคณิตศาสตร์ | (ที่จะได้รับการประเมิน) | - | - | - | - | - | - |
บทสนทนาหลายรอบ | (ที่จะได้รับการประเมิน) | - | - | - | - | - | - |
งานทดสอบ | ตัวอย่างโดยละเอียด | จำนวนตัวอย่าง | D13b-1-3-1 | D13b-2-2-2 | D13b-2-3 | D7b-4-1 | ChatGPT |
---|---|---|---|---|---|---|---|
คะแนนรวมสำหรับแต่ละรายการ | - | 80 | 100 | 100 | 100 | 100 | 100 |
เกร็ดความรู้ | 01qa.json | 10 | 65 | 64 | 63 | 67* | 89 |
แปล | 02translate.json | 10 | 79 | 81 | 82 | 89* | 91 |
การสร้างข้อความ | 03generate.json | 10 | 65 | 73* | 63 | 71 | 92 |
การวิเคราะห์ความรู้สึก | 04analyse.json | 10 | 88* | 91 | 88* | 85 | 71 |
การอ่านเพื่อความเข้าใจ | 05understand.json | 10 | 75 | 77 | 76 | 85* | 91 |
ลักษณะเฉพาะของจีน | 06chinese.json | 10 | 82* | 83 | 82* | 40 | 68 |
การสร้างรหัส | 07code.json | 10 | 72 | 74 | 75* | 73 | 96 |
จริยธรรมการปฏิเสธที่จะตอบ | 08alignment.json | 10 | 71* | 70 | 67 | 71* | 94 |
การใช้เหตุผลทางคณิตศาสตร์ | (ที่จะได้รับการประเมิน) | - | - | - | - | - | - |
บทสนทนาหลายรอบ | (ที่จะได้รับการประเมิน) | - | - | - | - | - | - |
โดยรวมแล้ว โมเดลนี้มีประสิทธิภาพที่ดีใน การแปล การวิเคราะห์ความรู้สึก ความเข้าใจในการอ่าน ฯลฯ
คนสองคนทำคะแนนด้วยตนเองแล้วจึงเอาค่าเฉลี่ย
งานทดสอบ | ตัวอย่างโดยละเอียด | จำนวนตัวอย่าง | D13b-1-3-1 | D13b-2-2-2 | D13b-2-3 | D7b-4-1 | ChatGPT |
---|---|---|---|---|---|---|---|
คะแนนรวมสำหรับแต่ละรายการ | - | 80 | 100 | 100 | 100 | 100 | 100 |
เกร็ดความรู้ | 01qa.json | 10 | 83* | 82 | 82 | 69.75 | 96.25 |
แปล | 02translate.json | 10 | 76.5* | 76.5* | 76.5* | 62.5 | 84 |
การสร้างข้อความ | 03generate.json | 10 | 44 | 51.5* | 43 | 47 | 81.5 |
การวิเคราะห์ความรู้สึก | 04analyse.json | 10 | 89* | 89* | 89* | 85.5 | 91 |
การอ่านเพื่อความเข้าใจ | 05understand.json | 10 | 69* | 69* | 69* | 75.75 | 96 |
ลักษณะเฉพาะของจีน | 06chinese.json | 10 | 55* | 55* | 55* | 37.5 | 87.5 |
การสร้างรหัส | 07code.json | 10 | 61.5* | 61.5* | 61.5* | 57 | 88.5 |
จริยธรรมการปฏิเสธที่จะตอบ | 08alignment.json | 10 | 84* | 84* | 84* | 70 | 95.5 |
จริยธรรมเชิงตัวเลข | (ที่จะได้รับการประเมิน) | - | - | - | - | - | - |
บทสนทนาหลายรอบ | (ที่จะได้รับการประเมิน) | - | - | - | - | - | - |
รายการสิ่งที่ต้องทำ:
โมเดล SFT ที่ได้รับการฝึกตามข้อมูลปัจจุบันและโมเดลพื้นฐานยังคงมีปัญหาในแง่ของประสิทธิภาพดังต่อไปนี้:
คำแนะนำที่เป็นข้อเท็จจริงอาจนำไปสู่คำตอบที่ไม่ถูกต้องซึ่งขัดกับข้อเท็จจริง
ไม่สามารถระบุคำแนะนำที่เป็นอันตรายได้อย่างถูกต้อง ซึ่งอาจนำไปสู่การเลือกปฏิบัติ เป็นอันตราย และคำพูดที่ผิดจริยธรรม
ความสามารถของโมเดลยังคงต้องได้รับการปรับปรุงในบางสถานการณ์ที่เกี่ยวข้องกับการให้เหตุผล การเขียนโค้ด การสนทนาหลายรอบ ฯลฯ
จากข้อจำกัดของโมเดลข้างต้น เรากำหนดให้เนื้อหาของโครงการนี้และอนุพันธ์ที่ตามมาซึ่งเกิดจากโครงการนี้สามารถใช้เพื่อวัตถุประสงค์ในการวิจัยทางวิชาการเท่านั้น และไม่ใช่เพื่อวัตถุประสงค์ทางการค้าหรือการใช้งานที่ก่อให้เกิดอันตรายต่อสังคม ผู้พัฒนาโครงการไม่รับผิดชอบต่อความเสียหาย การสูญเสีย หรือความรับผิดทางกฎหมายใดๆ ที่เกิดจากการใช้โครงการนี้ (รวมถึงแต่ไม่จำกัดเพียงข้อมูล แบบจำลอง รหัส ฯลฯ)
หากคุณใช้โค้ด ข้อมูล หรือโมเดลของโปรเจ็กต์นี้ โปรดอ้างอิงโปรเจ็กต์นี้
@misc{DreamerGPT,
author = {Hao Xu, Huixuan Chi, Yuanchen Bei and Danyang Liu},
title = {DreamerGPT: Chinese Instruction-tuning for Large Language Model.},
year = {2023},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {url{https://github.com/DreamerGPT/DreamerGPT}},
}
ยังมีข้อบกพร่องมากมายในโครงการนี้ โปรดฝากข้อเสนอแนะและคำถามของคุณไว้ แล้วเราจะพยายามอย่างเต็มที่เพื่อปรับปรุงโครงการนี้
อีเมล์: [email protected]