ใช้ Qlora เพื่อปรับแต่งรูปแบบภาษาขนาดใหญ่ของจีน
ใช้ Qlora เพื่อปรับแต่ง baichuan-7b และรหัสนั้นกระชับมากขึ้น: https://github.com/taishan1994/baichuan-qlora-tuning
numpy == 1.24 . 2
pandas == 2.0 . 0
nltk == 3.7
transformers == 4.30 . 0. dev0
accelerate == 0.20 . 0. dev0
deepspeed == 0.9 . 2
peft == 0.4 . 0. dev0
datasets == 2.12 . 0
evaluate == 0.2 . 2
sentencepiece == 0.1 . 97
scipy == 1.10 . 1
icetk
cpm_kernels
mpi4py == 3.1 . 4 - - output #训练保存lora权重
- - - - chatglm
- - - - alpaca
- - - - bloom
- - data
- - - - msra
- - - - - - instruct_data
- - - - - - - - train . json #指令数据
- - model_hub
- - - - BELLE - 7 B - 2 M #bloom权重
- - - - chatglm - 6 b #chatGLM权重
- - - - 7 B : #英文LLaMA原始权重
- - - - 7 B - hf : #英文权重转换为hugging face格式权重
- - - - chinese - llama - plus - lora - 7 b : #中文llama-7b的lora权重
- - - - chinese - alpaca - plus - lora - 7 b : #中文alpaca-7b的lora权重
- - - - chinese - alpaca - 7 b : #合并lora后的最终的模型
- - - - tokenizer . model : #原始llama的7B文件
- - - - convert_llama_weights_to_hf . py #llama转换为hugging face格式
- - - - merge_llama_with_chinese_lora . py #合并lora到预训练模型
- - tools
- - - - get_version . py #获取python包版本
- - - - get_used_gpus . py #循环打印使用的GPU显卡
- - chat . py # 闲聊
- - qlora . py # 4bit训练
- - process . py # 测试处理数据chatglm-6b ดาวน์โหลดที่อยู่: Tsinghua University Cloud Disk (tsinghua.edu.cn)
python qlora . py - - model_name = "chatglm" - - model_name_or_path = "./model_hub/chatglm-6b" - - trust_remote_code = True - - dataset = "msra" - - source_max_len = 128 - - target_max_len = 64 - - do_train - - save_total_limit = 1 - - padding_side = "left" - - per_device_train_batch_size = 8 - - do_eval - - bits = 4 - - save_steps = 10 - - gradient_accumulation_steps = 1 - - learning_rate = 1e-5 - - output_dir = "./output/chatglm/" - - lora_r = 8 - - lora_alpha = 32โมเดล Llama ที่วางจำหน่ายอย่างเป็นทางการโดย Facebook นั้นถูกห้ามไม่ให้ใช้งานเชิงพาณิชย์และเจ้าหน้าที่ไม่ได้มีน้ำหนักโมเดลโอเพ่นซอร์สอย่างเป็นทางการ (แม้ว่าจะมีที่อยู่ดาวน์โหลดของบุคคลที่สามจำนวนมากบนอินเทอร์เน็ต) เพื่อที่จะปฏิบัติตามการอนุญาตที่สอดคล้องกันในขณะนี้เป็นไปไม่ได้ที่จะเผยแพร่น้ำหนักรุ่นที่สมบูรณ์ โปรดเข้าใจ (เหมือนกันในต่างประเทศในปัจจุบัน) ค้นหาที่อยู่ดาวน์โหลดด้วยตัวคุณเอง
python convert_llama_weights_to_hf.py --input_dir ./ --model_size 7B --output_dir ./7B-hf หากมีการรายงานข้อผิดพลาด: If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0 คุณสามารถ pip install --upgrade protobuf==3.20.1 python convert_llama_weights_to_hf.py --input_dir ./ --model_size tokenizer_only --output_dir ./7B-hf จากนั้น python convert_llama_weights_to_hf.py --input_dir ./ --model_size tokenizer_only --output_dir ./7B-hf ในที่สุดเราสามารถรับ 7b-hfpython merge_llama_with_chinese_lora.py --base_model "./7B-hf" --lora_model "./chinese-llama-plus-lora-7b,chinese-alpaca-plus-lora-7b" --output_type "huggingface" --output_dir "./chinese-alpaca-7b" ในที่สุดเราก็สามารถรับภาษาจีน-อัลปากา -7B python qlora . py - - model_name = "chinese_alpaca" - - model_name_or_path = "./model_hub/chinese-alpaca-7b" - - trust_remote_code = False - - dataset = "msra" - - source_max_len = 128 - - target_max_len = 64 - - do_train - - save_total_limit = 1 - - padding_side = "right" - - per_device_train_batch_size = 8 - - do_eval - - bits = 4 - - save_steps = 10 - - gradient_accumulation_steps = 1 - - learning_rate = 1e-5 - - output_dir = "./output/alpaca/" - - lora_r = 8 - - lora_alpha = 32Belle-7b-2m ดาวน์โหลดที่อยู่: Bellegroup/Belle-7b-2m ที่ Main (huggingface.co)
python qlora . py - - model_name = "chinese_bloom" - - model_name_or_path = "./model_hub/BELLE-7B-2M" - - trust_remote_code = False - - dataset = "msra" - - source_max_len = 128 - - target_max_len = 64 - - do_train - - save_total_limit = 1 - - padding_side = "left" - - per_device_train_batch_size = 8 - - do_eval - - bits = 4 - - save_steps = 10 - - gradient_accumulation_steps = 1 - - learning_rate = 1e-5 - - output_dir = "./output/bloom/" - - lora_r = 8 - - lora_alpha = 32 python chat . py - - model_name "chatglm" - - base_model "./model_hub/chatglm-6b" - - tokenizer_path "./model_hub/chatglm-6b" - - lora_model "./output/chatglm/adapter_model" - - with_prompt - - interactiveวิธีฝึกอบรมข้อมูลของคุณเอง? รูปแบบข้อมูลคือ:
{
"data" : [
{ "instruction" : "" , "input" : "" , "output" : "" },
{ "instruction" : "" , "input" : "" , "output" : "" },
...
]
}จากนั้นเพิ่มชุดข้อมูลของคุณเองในสถานที่ที่มีการกำหนดข้อมูลใน Qlora.py ในที่สุดกำหนดพารามิเตอร์ที่เกี่ยวข้องด้วยตัวเองเมื่อเรียกใช้คำสั่ง
liucongg/chatglm-finetuning: ขึ้นอยู่กับโมเดล chatglm-6b งานเฉพาะปลายน้ำจะดำเนินการโดยมีการแช่แข็ง, lora, p-tuning ฯลฯ (github.com)
Thudm/chatglm-6b: chatglm-6b: โมเดลภาษาสนทนาสองภาษาแบบเปิด | โมเดลภาษาบทสนทนาสองภาษาโอเพ่นซอร์ส (github.com)
Huggingface/Peft:? PEFT: การปรับแต่งพารามิเตอร์ที่ทันสมัย (github.com)
YMCUI/Chinese-llama-Alpaca: Llama Llama & Alpaca รูปแบบภาษาขนาดใหญ่ + การฝึกอบรมการฝึกอบรม CPU/GPU ในท้องถิ่น (จีน Llama & Alpaca LLMS) (github.com)
Lianjiatech/Belle: Belle: เป็นเอ็นจิ้นโมเดลภาษาขนาดใหญ่ของทุกคน (โมเดลบทสนทนาภาษาจีนโอเพนซอร์ส) (github.com)
Artidoro/Qlora: Qlora: Finetuning ที่มีประสิทธิภาพของ LLMs เชิงปริมาณ (github.com)
คนใจดีคนไหนคาโดลองใช้เอฟเฟกต์สุดท้ายได้ไหม การเช่าอัตโนมัติไม่เพียงพอที่จะทำให้การประชุมสิ้นสุดลง