用llama-factory微调DeepSeek-R1

打印 上一主题 下一主题

主题 992|帖子 992|积分 2976

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文件中修改下面几项:

  1. ### model
  2. model_name_or_path: /root/LLM/DeepSeek-R1-Distill-Qwen-1.5B
复制代码
  1. ### dataset
  2. dataset: question_answer
  3. cutoff_len: 32000
复制代码
  1. max_samples: 4000
  2. ### output
  3. 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企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

莱莱

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表