书生模型实战L1---XTuner 微调个人小助手认知任务

书生模型实战系列文章目录

第一章 入门岛L0(Linux)
第二章 入门岛L0(python)
第三章 入门岛L0(Git)
第四章 基础岛L1(书生全链路开源介绍)
第四章 基础岛L1(Demo)
第四章 基础岛L1(Prompt)
第四章 基础岛L1(RAG)
提示:以上内容可以看往期文章
第四章 基础岛L1(XTuner 微调)



作业

基础作业

在这里插入图片描述

进阶作业

在这里插入图片描述

提交作业

基础作业提交

在这里插入图片描述

进阶作业提交

暂未完成

一、XTuner基础内容

学习安装、微调链接:https://github.com/InternLM/xtuner/blob/main/README_zh-CN.md

1、XTuner的配置文件

1.1、查看预设配置文件

xtuner list-cfg 命令用于列出内置的所有配置文件。参数 -p--pattern 表示模式匹配,后面跟着的内容将会在所有的配置文件里进行模糊匹配搜索,然后返回最有可能得内容。比如我们这里微调的是书生·浦语的模型,我们就可以匹配搜索 internlm2。

xtuner list-cfg -p internlm2

在这里插入图片描述

1.2、 复制一个预设的配置文件

xtuner copy-cfg 命令用于复制一个内置的配置文件。该命令需要两个参数:CONFIG 代表需要复制的配置文件名称,SAVE_PATH 代表复制的目标路径。在我们的输入的这个命令中,我们的 CONFIG 对应的是上面搜索到的 internlm2_chat_1_8b_qlora_alpaca_e3 ,而 SAVE_PATH 则是当前目录 .。

xtuner copy-cfg internlm2_chat_1_8b_qlora_alpaca_e3 .

1.3、修改配置文件

在选择了一个最匹配的配置文件并准备好其他内容后,下面我们要做的事情就是根据我们自己的内容对该配置文件进行调整,使其能够满足我们实际训练的要求。

一般就是改:所需要的模型,数据集,批处理大小

在这里插入图片描述
在这里插入图片描述

2、XTuner训练

xtuner train 命令用于启动模型微调进程。该命令需要一个参数:CONFIG 用于指定微调配置文件。这里我们使用修改好的配置文件 internlm2_chat_1_8b_qlora_alpaca_e3_copy.py。
训练过程中产生的所有文件,包括日志、配置文件、检查点文件、微调后的模型等,默认保存在 work_dirs 目录下,我们也可以通过添加 --work-dir 指定特定的文件保存位置

3、模型格式转换

模型转换的本质其实就是将原本使用 Pytorch 训练出来的模型权重文件转换为目前通用的 HuggingFace 格式文件,那么我们可以通过以下命令来实现一键转换。
我们可以使用 xtuner convert pth_to_hf 命令来进行模型格式转换。

xtuner convert pth_to_hf 命令用于进行模型格式转换。该命令需要三个参数:CONFIG 表示微调的配置文件, PATH_TO_PTH_MODEL 表示微调的模型权重文件路径,即要转换的模型权重, SAVE_PATH_TO_HF_MODEL 表示转换后的 HuggingFace 格式文件的保存路径。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

4、模型合并

对于 LoRA 或者 QLoRA微调出来的模型其实并不是一个完整的模型,而是一个额外的层(Adapter),训练完的这个层最终还是要与原模型进行合并才能被正常的使用。

对于全量微调的模型(full)其实是不需要进行整合这一步的,因为全量微调修改的是原模型的权重而非微调一个新的 Adapter ,因此是不需要进行模型整合的。

在 XTuner 中提供了一键合并的命令 xtuner convert merge,在使用前我们需要准备好三个路径,包括原模型的路径、训练好的 Adapter 层的(模型格式转换后的)路径以及最终保存的路径。

xtuner convert merge命令用于合并模型。该命令需要三个参数:LLM 表示原模型路径,ADAPTER 表示 Adapter层的路径, SAVE_PATH 表示合并后的模型最终的保存路径。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、微调种类(增量预训练和指令跟随)

在这里插入图片描述

2.1 增量预训练微调(学习新知识,训练数据是新知识)

说白了,就是让模型学到新的东西,这些知识是模型之前没有的。
训练数据:书籍、论文、代码等

2.2 指令跟随微调(按模板对话方式回答问题,训练数据就是问答对)

模型已有的东西,回答的不符合我们所希望的回答方式;就指定好让模型学会对话模板,根据人类指令进行对话。
训练数据:高质量的对话、问答数据

参考链接

XTuner 微调大模型个人小助手认知

  • 15
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值