XTuner 微调笔记+作业

本文介绍了XTuner,一个易于使用的工具箱,它封装了大语言模型和多模态模型的微调过程,支持傻瓜式配置和轻量级运行,即使是新手也能快速上手。文章详细指导了从环境配置到模型训练、转换、整合和对话的步骤。
摘要由CSDN通过智能技术生成

笔记

XTuner 是一个大语言模型和多模态模型微调工具箱,由 MMRazor 和 MMDeploy 联合开发。

🤓 傻瓜化:以配置文件的形式封装了大部分微调场景,即使是零基础的非专业人员也能轻松开始微调。
🍃 轻量级:对于参数量为 7B 的LLM,微调所需的最小显存仅为 8GB,适用于消费级显卡和colab环境。

作业

微调过程

1. 配置环境

训练自己的小助手认知





使用conda创建python虚拟环境并安装依赖包

```bash
conda create -n xtuner0.1.17 python==3.10 -y
conda activate xtuner0.1.17
mkdir -p /root/xtuner0117 && cd /root/xtuner0117
# 拉取 0.1.17 的版本源码
git clone -b v0.1.17 https://github.com/InternLM/xtuner
cd /root/xtuner0117/xtuner
# 从源码安装 XTuner
pip install -e '.[all]'

2. 前期准备

2.1 数据集准备

首先创建一个文件夹来存放这次训练所需要的所有文件。

# 创建一个文件夹,进入该文件夹。
mkdir -p /root/ft && cd /root/ft
# 在ft这个文件夹里再创建一个存放数据的data文件夹
mkdir -p /root/ft/data && cd /root/ft/data

之后在 data 目录下新建一个 generate_data.py 文件。

# 创建 `generate_data.py` 文件
touch /root/ft/data/generate_data.py

接着,运行 generate_data.py 文件生成数据集。

# 确保先进入该文件夹
cd /root/ft/data
# 运行代码
python /root/ft/data/generate_data.py
2.2 模型准备

准备好了数据集后,接下来准备用于微调的模型。使用 InternLM 最新推出的小模型 InterLM-chat-1.8B。

mkdir -p /root/ft/model
# 创建符号链接
ln -s /root/share/new_models/Shanghai_AI_Laboratory/internlm2-chat-1_8b /root/ft/model
2.3 配置文件选择

选择一个最匹配的配置文件并对其进行调整以满足实际训练要求。

# 创建一个存放 config 文件的文件夹
mkdir -p /root/ft/config

# 复制配置文件到指定位置
xtuner copy-cfg internlm2_1_8b_qlora_alpaca_e3 /root/ft/config

3. 模型训练

使用 deepspeed 来加速训练。选择其中一种类型的 deepspeed。

xtuner train /root/ft/config/internlm2_1_8b_qlora_alpaca_e3_copy.py --work-dir /root/ft/train_deepspeed --deepspeed deepspeed_zero2

4. 模型转换、整合、测试及部署

4.1 模型转换

将模型权重文件转换为 Huggingface 格式。

# 创建一个保存转换后 Huggingface 格式的文件夹
mkdir -p /root/ft/huggingface

# 模型转换
# xtuner convert pth_to_hf ${配置文件地址} ${权重文件地址} ${转换后模型保存地址}
xtuner convert pth_to_hf /root/ft/train/internlm2_1_8b_qlora_alpaca_e3_copy.py /root/ft/train_deepspeed/iter_1676.pth /root/ft/huggingface
4.2 模型整合

对微调出的模型进行整合,与原模型进行组合。

# 创建一个名为 final_model 的文件夹存储整合后的模型文件
mkdir -p /root/ft/final_model

# 进行模型整合
# xtuner convert merge  ${NAME_OR_PATH_TO_LLM} ${NAME_OR_PATH_TO_ADAPTER} ${SAVE_PATH} 
xtuner convert merge /root/ft/model /root/ft/huggingface /root/ft/final_model
4.3 与模型进行对话
# 与模型进行对话
xtuner chat /root/ft/final_model --prompt-template internlm2_chat
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/1caaac39e69943b4ba198e12da295d54.png)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值