LLama2:
1. 使用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博客
2. 顯存不夠:
減小max_seq_len(生成的最大程度);減小max_batch_size;
3. MP
模型的分片數量是多少,則MP(Model Parallel)就是多少,--nproc_per_node必須設成多少(設多或設少會報錯);
分片格式樣例:consolidated.07.pth
4. 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?