LLama2:
-
使用torchrun来跑:
torchrun --nproc_per_node 1 example_text_completion.py
--ckpt_dir llama-2-7b/
--tokenizer_path tokenizer.model
--max_seq_len 128 --max_batch_size 4
关于集群分布式torchrun命令踩坑记录(自用)-CSDN博客
- 显存不够:
减小max_seq_len(生成的最大程度);减小max_batch_size;
- MP
模型的分片数量是多少,则MP(Model Parallel)就是多少,--nproc_per_node必须设成多少(设多或设少会报错);
分片格式样例:consolidated.07.pth
- chat模型和base模型:
使用chat_completion调用chat模型时,格式是每条一句话,有role字段(system, user, assistant); llama代码内部用这些字段拼接成了input prompt;
使用text_completion调用base模型时,就只输入一个input prompt字符串;
SFT:
可使用transformer的trl库的SFTTrainer类,来做SFT微调训练。
Fine-Tuning LLaMA 2: A Step-by-Step Guide to Customizing the Large Language Model | DataCamp
速度更快的Megatron? DeepSpeed?