LLM实践(二)——基于llama-factory的模型微调
目录
- SFT的lora微调
- 1、环境部署
- 2、准备数据与配置
- 3、创建微调配置文件:yaml配置文件
- 4、Lora微调:基于lora微调的yaml配置文件启动lora微调
- 5、启动模型:基于llama-factory自带的功能
- 6、模型调用、推理:使用curl命令
SFT的lora微调
1、环境部署
- 还是要安装一个单独的conda环境(python=3.10),激活环境;
- 下载llama-factory的GitHub项目:https://github.com/hiyouga/LLaMA-Factory
- 适合当前过程的llama-factory版本:https://download.csdn.net/download/lucky_chaichai/90535396
- 安装依赖:pip install -r requirements.txt;
- 安装llama-factory的工具:pip install -e “.[torch,metrics]”
2、准备数据与配置
-
支持两种数据格式,即alpaca、sharegpt:
- alpaca:基于 Meta 开源的LLaMA 模型构建的一种微调数据集格式,特别用于instruction-tuning。其数据格式的特点是提供了一个明确的任务描述(instruction)、输入(input)和输出(output)三部分。
- sharegpt:来源于ChatGPT与用户对话记录的数据集,主要用于对话系统的训练。更侧重于多轮对话数据的收集和组织,模拟用户与 AI 之间的交互。(这种格式适用性更好,单论对话的时候也可以作为text格式的微调数据)
- alpaca:基于 Meta 开源的LLaMA 模型构建的一种微调数据集格式,特别用于instruction-tuning。其数据格式的特点是提供了一个明确的任务描述(instruction)、输入(input)和输出(output)三部分。
-
需要根据LLaMA-Factory/data/中提供的样例准备数据,为json格式,我准备的如下(文件名:yanxue_langtext_sftdata.json):
[{"instruction": "你是一名“行业调研专家”,请生成一份关于“空气净化器”的行业调研报告;\n输出要求:","output": "气净化器行业调研报告\n一、空气净化器行业发展及政策环境\n1. 空气净化器行业发展现状\n空气净化器进入中国市场时属于小众产品……"}
]
- 要根据数据的具体形式,在LLaMA-Factory/data/data_info.json中配置数据信息,如下:
{……,
"yanxue_zs":</