Verwenden Sie Qlora, um das chinesische Großsprachmodell zu optimieren.
Verwenden Sie Qlora, um Baichuan-7b zu beachten, und der Code ist prägnanter: 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 Download Adresse: 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 = 32Das von Facebook offiziell offiziell veröffentlichte Lama-Modell ist von der kommerziellen Nutzung verboten, und der Beamte hat keine offiziellen Open-Source-Modellgewichte (obwohl es bereits viele Download-Adressen von Drittanbietern im Internet gibt). Um der entsprechenden Erlaubnis zu folgen, ist es derzeit unmöglich, die vollständigen Modellgewichte zu veröffentlichen. Bitte verstehen Sie (das gleiche ist derzeit im Ausland). Suchen Sie selbst nach der Download -Adresse.
python convert_llama_weights_to_hf.py --input_dir ./ --model_size 7B --output_dir ./7B-hf . Wenn ein Fehler gemeldet wird: Wenn dieser Aufruf aus einer _pb2.Py -Datei stammt, ist Ihr pip install --upgrade protobuf==3.20.1 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 python convert_llama_weights_to_hf.py --input_dir ./ --model_size tokenizer_only --output_dir ./7B-hf . Endlich können wir 7B-HF bekommen.python 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" . Schließlich können wir Chinese-Alpaca-7b bekommen. 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 Download Adresse: BelleGroup/Belle-7b-2m bei 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 - - interactiveWie trainiere ich Ihre eigenen Daten? Das Datenformat lautet:
{
"data" : [
{ "instruction" : "" , "input" : "" , "output" : "" },
{ "instruction" : "" , "input" : "" , "output" : "" },
...
]
}Fügen Sie dann Ihren eigenen Datensatz an der Stelle hinzu, an der die Daten in qlora.py definiert sind. Definieren Sie schließlich die relevanten Parameter selbst beim Ausführen des Befehls.
LIUCONGG/CHATGLM-FINETUNINING: Basierend auf dem Chatglm-6B-Modell werden feine Abtun-Downstream-spezifische Aufgaben durchgeführt, die Einfrieren, Lora, P-Tuning usw. betreffen (Github.com)
Thudm/chatglm-6b: chatglm-6b: ein offenes zweisprachiges Dialogsprachmodell | Zweisprachiger Open -Source -Dialogsprachmodell (Github.com)
Umarmung/Peft:? PEFT: Stand der Technik Parameter-effiziente Feinabstimmung. (Github.com)
YMCUI/Chinese-Llama-Alpaca: Chinesische Lama & Alpaca Großspracheles Modell + Lokale CPU/GPU-Trainingseinsatz (chinesische Lama & Alpaca LLMs) (Github.com)
Lianjiatech/Belle: Belle: Sei jeder große Sprachmodell Engine (Open Source Chinese Dialogue Model) (Github.com)
artidoro/qlora: Qlora: Effiziente Finetuning von quantisierten LLMs (Github.com)
Welche gutherzige Person, Kado, können Sie den endgültigen Effekt ausprobieren? Das miete Autodl reicht nicht aus, um über die Runden zu kommen