XTuner 作业

XTuner微调实践

原教程地址:

Tutorial/docs/L1/XTuner at camp3 · InternLM/Tutorial · GitHub

微调前的提问回答:

说自己是小助手

修改准备数据的脚本

命名为“汪星人”的小助手

我喜欢问“你是谁”,所以加了一条

import json

# 设置用户的名字
name = '汪星人'
# 设置需要重复添加的数据次数
n =  3750

# 初始化数据
data = [
    {"conversation": [{"input": "请介绍一下你自己", "output": "我是{}的小助手,内在是上海AI实验室书生·浦语的1.8B大模型哦".format(name)}]},
    {"conversation": [{"input": "你在实战营做什么", "output": "我在这里帮助{}完成XTuner微调个人小助手的任务".format(name)}]},
     {"conversation": [{"input": "你是谁", "output": "我是{}微调后的个人小助手".format(name)}]}
]

# 通过循环,将初始化的对话数据重复添加到data列表中
for i in range(n):
    data.append(data[0])
    data.append(data[1])

# 将data列表中的数据写入到'datas/assistant.json'文件中
with open('datas/assistant.json', 'w', encoding='utf-8') as f:
    # 使用json.dump方法将数据以JSON格式写入文件
    # ensure_ascii=False 确保中文字符正常显示
    # indent=4 使得文件内容格式化,便于阅读
    json.dump(data, f, ensure_ascii=False, indent=4)

运行py脚本后,生成了一个json数据文件

修改微调配置文件后,运行xtuner train

跑了20多分钟,如果用30%显卡,调配置应该可以时间短点

微调完成之后的文件夹  tree命令看下:

转换到hf格式

看到hf文件夹内容,有bin文件

merger合并模型

多了一个merged文件夹内容

修改模型路径

注意py文件的地址,在

这里/root/InternLM/Tutorial/tools/

启动模型

本地端口映射

重新打开8501端口网页http://localhost:8501/

微调后的提问回答:

AI回答自己是“汪星人”的助手

### 部署 XTuner 模型的流程与步骤 部署 XTuner 模型涉及多个关键步骤,包括环境配置、模型转换、权重合并以及最终的模型测试。以下是一个详细的部署指南: 1. **准备环境与依赖安装** 在开始部署之前,需要确保环境已经正确配置,包括安装必要的库和依赖项。通常,这包括安装 XTuner、Transformers 以及其他相关的 Python 包。可以使用 pip 或 conda 来安装这些依赖[^2]。 2. **模型微调** 在部署之前,通常需要对模型进行微调。XTuner 提供了多种配置文件,可以根据具体任务的需求进行调整。例如,修改模型路径、训练参数等。微调完成后,训练好的模型可以通过简单的指令进行转换和部署[^1]。 3. **模型转换与权重合并** XTuner 提供了合并 LoRA 权重的工具,以便将微调后的模型转换为可以部署的格式。可以使用以下命令来合并权重: ```bash xtuner convert merge ${NAME_OR_PATH_TO_LLM} ${NAME_OR_PATH_TO_ADAPTER} ${SAVE_PATH} ``` 其中,`${NAME_OR_PATH_TO_LLM}` 是原始大模型的路径,`${NAME_OR_PATH_TO_ADAPTER}` 是适配器的路径,`${SAVE_PATH}` 是合并后模型的保存路径[^5]。 4. **模型部署** 合并完成后,模型可以被部署到生产环境中。XTuner 支持多种部署方式,包括本地部署和云服务部署。部署后,可以通过简单的 API 调用或命令行工具进行模型测试[^2]。 5. **对话测试** 部署完成后,进行对话测试以确保模型在实际场景中的表现符合预期。可以通过命令行工具或编写简单的脚本来测试模型的响应能力。 ### 示例代码:模型合并 以下是一个具体的示例,展示如何使用 XTuner 合并 LoRA 权重: ```bash # 创建存放合并后的参数的目录 mkdir work_dirs/internlm2_7b_qlora_colorist_e5_copy/merged # 合并参数 # 第一个路径为原大模型地址 # 第二个为转换为hf格式Lora数据的地址 # 第三个为存储合并后模型的地址 xtuner convert merge Shanghai_AI_Laboratory/internlm2-chat-7b \ work_dirs/internlm2_7b_qlora_colorist_e5_copy/iter_720_hf \ work_dirs/internlm2_7b_qlora_colorist_e5_copy/merged \ --max-shard-size 2GB ``` ### 相关问题 1. 如何在 XTuner 中进行模型微调? 2. XTuner 支持哪些大型语言模型的部署方式? 3. 如何测试部署后的 XTuner 模型性能? 4. 在 XTuner 中如何处理模型的依赖安装? 5. 使用 XTuner 部署模型时需要注意哪些常见问题?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值