Utilisez Qlora pour affiner le modèle chinois de grande langue.
Utilisez Qlora pour affiner Baichuan-7b, et le code est plus concis: 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 # 测试处理数据Adresse de téléchargement de Tsinghua de l'Université Tsinghua (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 = 32Le modèle LLAMA officiellement publié par Facebook est interdit à une utilisation commerciale, et le responsable n'a pas de poids officiel du modèle open source (bien qu'il existe déjà de nombreuses adresses de téléchargement tierces sur Internet). Afin de suivre l'autorisation correspondante, il est actuellement impossible de publier les poids complets du modèle. Veuillez comprendre (il en va de même pour le moment à l'étranger à l'heure actuelle). Recherchez vous-même l'adresse de téléchargement.
python convert_llama_weights_to_hf.py --input_dir ./ --model_size 7B --output_dir ./7B-hf . Si une erreur est signalée: 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 , vous pouvez pip install --upgrade protobuf==3.20.1 , puis: python convert_llama_weights_to_hf.py --input_dir ./ --model_size tokenizer_only --output_dir ./7B-hf Enfin, nous pouvons obtenir 7B-HF.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" . Enfin, nous pouvons obtenir le chinois-alpaca-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 Adresse de téléchargement: BelleGroup / Belle-7B-2M sur 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 - - interactiveComment former vos propres données? Le format de données est:
{
"data" : [
{ "instruction" : "" , "input" : "" , "output" : "" },
{ "instruction" : "" , "input" : "" , "output" : "" },
...
]
}Ensuite, ajoutez votre propre ensemble de données à l'endroit où les données sont définies dans qlora.py. Enfin, définissez vous-même les paramètres pertinents lors de l'exécution de la commande.
liucongg / chatglm-finetuning: basé sur le modèle chatGLM-6B, des tâches spécifiques en aval fins sont effectuées, impliquant le gel, la lora, le pin de p, etc. (github.com)
Thudm / chatGLM-6B: chatGLM-6B: un modèle de langue de dialogue bilingue ouvert | Modèle de langage de dialogue bilingue open source (github.com)
Houggingface / peft :? PEFT: fin de diagrammes final à ultime. (github.com)
YMCUI / Chinese-Llama-Alpaca: Chinese Llama & Alpaca Modèle de grande langue + Déploiement de formation CPU / GPU local (LLAMA CHINISE & ALPACA LLMS) (github.com)
Lianjatech / Belle: Belle: Soyez le moteur du modèle grand langage de tout le monde (modèle de dialogue chinois open source) (github.com)
Artidoro / Qlora: Qlora: finetuning efficace des LLM quantifiés (github.com)
Quelle personne de bon cœur, Kado, pouvez-vous essayer l'effet final? La location d'autodl ne suffit pas pour joindre les deux bouts