1.择要
用llama-factory的0.9.1版本微调DeepSeek-R1-Distill-Qwen-1.5B,微调数据是对文档段举行问答对提取的4000条样本。利用微调后的模子举行推理。合并微调后的模子。
微调GPU配置H20-96G。
2. 准备工作
2.1 服务器配置
H20-96G
python3.10.8
touch 2.1.2+cu121
torchvision 0.16.2+cu121
CUDA Version: 12.4
2.2 微调框架lama-factory-0.9.1
2.2.1 网址
https://github.com/hiyouga/LLaMA-Factory/tree/v0.9.1
2.2.2 安装
cd LLaMA-Factory-0.9.1
pip install -e '.[torch,metrics]'
2.3 微调模子DeepSeek-R1-Distill-Qwen-1.5B
2.3.1 网址
https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B/tree/main
2.4 微调数据
从文档数据中提取问答对,一共4000个文档数据段,每个文档数据段最长不超过1k,每个文档数据段对应着6个左右的问答对。
2.6 微调数据文件question_answer.json中的数据格式
{
"input_sys": "",
"instruction":"",
"input": "",
"output": "",
}
把微调数据文件question_answer.json放到LLaMA-Factory/data/目录下面。
2.7 修改LLaMA-Factory/data/dataset_info.json
在data/dataset_info.json中增长:
"question_answer": {
"file_name": "question_answer.json",
"columns": {
"system": "input_sys",
"prompt": "instruction",
"query": "input",
"response": "output"
}
}
2.8 修改微调配置文件
在/examples/train_lora/目录下面增长deepseek_r1_1.5_lora_sft.yaml文件
cp llama3_lora_sft.yaml deepseek_r1_1.5_lora_sft.yaml
2.8.1 在deepseek_r1_1.5_lora_sft.yaml文件中修改下面几项:
- ### model
- model_name_or_path: /root/LLM/DeepSeek-R1-Distill-Qwen-1.5B
复制代码- ### dataset
- dataset: question_answer
- cutoff_len: 32000
复制代码- max_samples: 4000
- ### output
- output_dir: /root/LLM/saves-sft/deepseek-1.5b/lora/sft
复制代码 3. 开始微调
cd LLaMA-Factory-0.9.1
CUDA_VISIBLE_DEVICES=0 llamafactory-cli train examples/ train_lora/deepseek_r1_1.5_lora_sft.yaml
3.1 运行成功
3.2 显存占用18G
3.3 微调时loss和学习率的变化情况
3.4 最后跑完用时36分钟
4. 推理
4.1 修改推理配置文件
4.1.1 在目录examples/inference下面新增文件deepseek-r1.yaml:
cp llama3_lora_sft.yaml deepseek-r1.yaml
4.1.2 修改文件deepseek-r1.yaml
model_name_or_path: /root/LLM/DeepSeek-R1-Distill-Qwen-1.5B
adapter_name_or_path: /root/LLM/saves-sft/deepseek-1.5b/lora/sft
4.2 实行推理
CUDA_VISIBLE_DEVICES=0 llamafactory-cli chat examples/inference/deepseek-r1.yaml
运行成功。
推理占用显存4个G
5. 模子文件合并
5.1 修改配置文件
5.1.1 在目录examples/merge_lora下面新增文件deepseek_lora_sft.yaml
cp llama3_lora_sft.yaml deepseek_lora_sft.yaml
5.1.2 修改文件deepseek-r1.yaml
### model
model_name_or_path: /root/LLM/DeepSeek-R1-Distill-Qwen-1.5B
adapter_name_or_path: /root/LLM/saves-sft/deepseek-1.5b/lora/sft
### export
export_dir: /root/LLM/models/deepseek_lora_sft
5.2 实行合并
llamafactory-cli export examples/merge_lora/deepseek_lora_sft.yaml
合并后的模子文件
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |