FELLE Parameter-Feinabstimmung, Lora-Feinabstimmung und Qlora-Feinabstimmung für llama3 durchführen. Darüber hinaus wird auch die Feinabstimmung des QWEN1.5-Modells unterstützt. Wenn Sie es durch ein anderes Modell ersetzen möchten, ist es das Wichtigste, die Daten vorzubereiten.
2023/07/28: Fügen Sie Baichuan2-7b-Chat Feinabstimmung hinzu.
2024/07/24: Fügtefußabstimmung zu Lama3.1-8b-instruct. transformers==4.43.1 und accelerate==0.33.0 .
2024/07/22:
GLM-9B-CHAT Fügen Sie Feinabstimmung hinzu. HINWEIS: Sie müssen die 791 -Zeile in modeling_chatglm.py durch padding_mask = padding_mask.to(torch.bfloat16) . Die erforderliche Transformatorenversion ist 4.42.4 . Nach der Installation des Pakets in Anforderungen.txt müssen Sie Transformatoren neu installieren.
Feinabstimmung zu QWEN1.5-7B-CHAT hinzugefügt.
Fügen Sie die Feinabstimmung zu QWEN2-7B-Instruktur hinzu.
Fügen Sie die Feinabstimmung zu YI1.5-6B-CHAT hinzu.
2024/07/19: Hinzufügen von Feinabstimmungen zu Internlm2.5. HINWEIS: Internlm2.5 unterstützt keine Feinabstimmung mit BF16, sodass FP16 im Befehl Run ausgewählt wird.
2024/10/04: Zusätzliche Feinabstimmung zu Qwen2.5-7b-instruct hinzugefügt. Fügen Sie die Feinabstimmung zu LLAMA3.2-3B-Struktur hinzu. pip install transformers --upgrade und pip install accelerate --upgrade .
Führen Sie das Gerät aus: Verwenden Sie einfach eine Grafikkarte mit 24G -Grafikspeicher.
python==3.8.8
pip install -r requirements.txt
Daten werden unter Daten gespeichert, das spezifische Format lautet:
[
{
"conversations" : [
{
"from" : " user " ,
"value" : "你是那个名字叫ChatGPT的模型吗? "
},
{
"from" : " assistant " ,
"value" : "我的名字是西西嘛呦,并且是通过家里蹲公司的大数据平台进行训练的。 "
}
]
}
...
]Mehrere Konversationen werden auch mit Daten im obigen Format erstellt.
Geben Sie den Ordner model_hub ein, führen Sie python download_modelscope.py aus, um das LLAMA3-8B-INSRAUT-Modell herunterzuladen.
Geben Sie den Skriptordner ein.
Aufgrund von Maschinenbeschränkungen gibt es hier keine vollständige Parameterfeineinstellung. Sie können es versuchen, wenn Sie die Bedingungen haben.
Die Anzahl der von NPROC_PER_NODE und CUDA_VISIBLE_DEVICES angegebenen Grafikkarten muss konsistent sein.
NCCL_P2P_DISABLE=1
NCCL_IB_DISABLE=1
CUDA_VISIBLE_DEVICES=0,1,2,4,5,6,7
torchrun
--nproc_per_node 7
--nnodes 1
--node_rank 0
--master_addr localhost
--master_port 6601
../finetune_llama3.py
--model_name_or_path " ../model_hub/LLM-Research/Meta-Llama-3-8B-Instruct/ "
--data_path " ../data/Belle_sampled_qwen.json "
--bf16 True
--output_dir " ../output/llama3_8B_lora "
--num_train_epochs 100
--per_device_train_batch_size 1
--per_device_eval_batch_size 1
--gradient_accumulation_steps 8
--evaluation_strategy " no "
--save_strategy " steps "
--save_steps 5
--save_total_limit 1
--learning_rate 1e-5
--weight_decay 0.1
--adam_beta2 0.95
--warmup_ratio 0.01
--lr_scheduler_type " cosine "
--logging_steps 1
--report_to " none "
--model_max_length 4096
--gradient_checkpointing True
--lazy_preprocess True
--deepspeed " ../config/ds_config_zero3_72B.json "
--use_loraDie Anzahl der von NPROC_PER_NODE und CUDA_VISIBLE_DEVICES angegebenen Grafikkarten muss konsistent sein. Verwenden Sie Qlora, um das Training mit einem einzigen 4090 abzuschließen.
NCCL_P2P_DISABLE=1
NCCL_IB_DISABLE=1
CUDA_VISIBLE_DEVICES=0,1,2,4,5,6,7
torchrun
--nproc_per_node 7
--nnodes 1
--node_rank 0
--master_addr localhost
--master_port 6601
../finetune_llama3.py
--model_name_or_path " ../model_hub/LLM-Research/Meta-Llama-3-8B-Instruct/ "
--data_path " ../data/Belle_sampled_qwen.json "
--bf16 True
--output_dir " ../output/llama3_8B_qlora "
--num_train_epochs 100
--per_device_train_batch_size 1
--per_device_eval_batch_size 1
--gradient_accumulation_steps 16
--evaluation_strategy " no "
--save_strategy " steps "
--save_steps 5
--save_total_limit 1
--learning_rate 1e-5
--weight_decay 0.1
--adam_beta2 0.95
--warmup_ratio 0.01
--lr_scheduler_type " cosine "
--logging_steps 1
--report_to " none "
--model_max_length 4096
--gradient_checkpointing True
--lazy_preprocess True
--deepspeed " ../config/ds_config_zero2.json "
--use_lora
--load_in_4bit
--q_loraArgumentation nach dem Training:
问题: 在互联网普及的时代,社交媒体已经成为了现代人生活中不可缺少的一部分。从微信、微博、 Facebook到Twitter 、 Instagram等等,社交媒体不仅满足了人们交流互动的需求,同时让人们更加容易地分享自己的生活瞬间、获取新闻资讯、找到志同道合的人群以及推广自己的业务。然而,与此同时,社交媒体也带来了一系列问题,如滥用个人信息、泄露隐私等。因此,如何正确地使用社交媒体已经成为了一个备受关注的话题。,总结上面这段文本的几个关键词
微调前结果: Arrrr , shiver me timbers ! Ye be wantin ' me to summarize the key words from that there text , eh ? Alright then , matey ! Here be the main points :
1. Social media ( the scourge o ' the seven seas ... er , I mean , the modern world )
2. Communication ( the lifeblood o ' the pirate' s existence ... er , I mean , the need for people to interact )
3. Sharing ( the treasure o ' the digital age... er, I mean, the ability to share one' s life moments )
4. Information ( the booty o ' the internet ... er , I mean , the news and knowledge shared online )
5. Privacy ( the anchor o ' security... er, I mean, the need to protect one' s personal info )
6. Correct usage ( the map to avoidin ' the rocky shores o' social media misuse ... er , I mean , the importance of using social media responsibly )
So hoist the colors , me hearties , and remember to use social media like a proper pirate : with caution , respect , and a keen eye for treasure !
微调后结果: 社交媒体、交流、分享、隐私、滥用信息Der Code bezieht sich hauptsächlich auf:
Das Modell kann im Modellumfang heruntergeladen werden: