大模型学习之书生·浦语大模型4——基于Xtuner大模型微调实战

大模型学习之书生·浦语大模型4——基于Xtuner大模型微调实战_第1张图片

基于Xtuner大模型微调实战

大模型学习之书生·浦语大模型4——基于Xtuner大模型微调实战_第2张图片

Fintune简介

大模型学习之书生·浦语大模型4——基于Xtuner大模型微调实战_第3张图片
大模型学习之书生·浦语大模型4——基于Xtuner大模型微调实战_第4张图片

  • 海量数据训练的base model
  • 指令微调Instructed LLM

增量预训练微调

大模型学习之书生·浦语大模型4——基于Xtuner大模型微调实战_第5张图片
增量数据不需要问题,只需要答案,只需要陈述类的数据

指令跟随微调

大模型学习之书生·浦语大模型4——基于Xtuner大模型微调实战_第6张图片

  • 指定角色
  • 指定问题给对应的user
  • 指定答案给assistant

大模型学习之书生·浦语大模型4——基于Xtuner大模型微调实战_第7张图片

  • LIaMa2
  • InternLM
    不同的模型有不同的模板

大模型学习之书生·浦语大模型4——基于Xtuner大模型微调实战_第8张图片
只对答案部分进行损失计算

LoRA & QLoRA

大模型学习之书生·浦语大模型4——基于Xtuner大模型微调实战_第9张图片

  • LoRA在原本模型旁新增两个小的分支,旁路分支的参数Adapter
  • 参数远远小于原本模型的参数

大模型学习之书生·浦语大模型4——基于Xtuner大模型微调实战_第10张图片

  • 全参数训练:加载到显存中会占用大量的内存
  • LoRA:只加载部分参数
  • QLoRA:先进行量化再加载

XTuner

大模型学习之书生·浦语大模型4——基于Xtuner大模型微调实战_第11张图片
大模型学习之书生·浦语大模型4——基于Xtuner大模型微调实战_第12张图片

快速上手

大模型学习之书生·浦语大模型4——基于Xtuner大模型微调实战_第13张图片

自定义训练

大模型学习之书生·浦语大模型4——基于Xtuner大模型微调实战_第14张图片
大模型学习之书生·浦语大模型4——基于Xtuner大模型微调实战_第15张图片
大模型学习之书生·浦语大模型4——基于Xtuner大模型微调实战_第16张图片
训练好之后得到Adapter参数文件,在启动的时候,既要加载原始基座模型,同时也要加载训练好的Adapter模型文件

大模型学习之书生·浦语大模型4——基于Xtuner大模型微调实战_第17张图片

  • 类似于gpt中的Plugin,专业的工具类模型

数据处理引擎

大模型学习之书生·浦语大模型4——基于Xtuner大模型微调实战_第18张图片
大模型学习之书生·浦语大模型4——基于Xtuner大模型微调实战_第19张图片

  • 集成了很多映射函数,省掉开发的很多工作

大模型学习之书生·浦语大模型4——基于Xtuner大模型微调实战_第20张图片

  • 支持数据拼接,增强并行性,充分利用大显存

大模型学习之书生·浦语大模型4——基于Xtuner大模型微调实战_第21张图片
大模型学习之书生·浦语大模型4——基于Xtuner大模型微调实战_第22张图片

  • json格式数据集

8GB显存玩转LLM

大模型学习之书生·浦语大模型4——基于Xtuner大模型微调实战_第23张图片
大模型学习之书生·浦语大模型4——基于Xtuner大模型微调实战_第24张图片

  • 默认开启Flash Attention
  • 集成了DeepSpeed

大模型学习之书生·浦语大模型4——基于Xtuner大模型微调实战_第25张图片
大模型学习之书生·浦语大模型4——基于Xtuner大模型微调实战_第26张图片

动手实践环节

在这里插入图片描述

创建服务器

大模型学习之书生·浦语大模型4——基于Xtuner大模型微调实战_第27张图片
并配置本地公钥

创建虚拟环境

大模型学习之书生·浦语大模型4——基于Xtuner大模型微调实战_第28张图片

微调

准备配置文件

大模型学习之书生·浦语大模型4——基于Xtuner大模型微调实战_第29张图片
大模型学习之书生·浦语大模型4——基于Xtuner大模型微调实战_第30张图片

  • 采用qlora_oasst1_e3
模型下载

大模型学习之书生·浦语大模型4——基于Xtuner大模型微调实战_第31张图片

数据集下载

大模型学习之书生·浦语大模型4——基于Xtuner大模型微调实战_第32张图片

修改配置文件

大模型学习之书生·浦语大模型4——基于Xtuner大模型微调实战_第33张图片

  • 修改模型路径
  • 修改数据集路径
  • max_epochs = 1 节省时间及算力
超参

大模型学习之书生·浦语大模型4——基于Xtuner大模型微调实战_第34张图片

开始微调

大模型学习之书生·浦语大模型4——基于Xtuner大模型微调实战_第35张图片
大模型学习之书生·浦语大模型4——基于Xtuner大模型微调实战_第36张图片

  • 训练非常耗时
  • 可以使用deepspeed加速
  • 可以使用tmux起训练,避免中断
将得到的模型文件转换成HuggingFace模型

大模型学习之书生·浦语大模型4——基于Xtuner大模型微调实战_第37张图片

部署与测试

大模型学习之书生·浦语大模型4——基于Xtuner大模型微调实战_第38张图片
大模型学习之书生·浦语大模型4——基于Xtuner大模型微调实战_第39张图片

  • 注意不同的模型有不同的template
Demo
  • 修改模型文件
    大模型学习之书生·浦语大模型4——基于Xtuner大模型微调实战_第40张图片
    大模型学习之书生·浦语大模型4——基于Xtuner大模型微调实战_第41张图片
  • 对比微调前和微调后的模型
    大模型学习之书生·浦语大模型4——基于Xtuner大模型微调实战_第42张图片
  • 启动参数

自定义微调大模型学习之书生·浦语大模型4——基于Xtuner大模型微调实战_第43张图片

  • 数据集 Medication QA
准备数据

大模型学习之书生·浦语大模型4——基于Xtuner大模型微调实战_第44张图片

转化为XTuner数据格式

大模型学习之书生·浦语大模型4——基于Xtuner大模型微调实战_第45张图片

  • 可以利用gpt帮忙写代码
    大模型学习之书生·浦语大模型4——基于Xtuner大模型微调实战_第46张图片
    大模型学习之书生·浦语大模型4——基于Xtuner大模型微调实战_第47张图片
划分训练集和测试集

大模型学习之书生·浦语大模型4——基于Xtuner大模型微调实战_第48张图片

开始自定义微调

大模型学习之书生·浦语大模型4——基于Xtuner大模型微调实战_第49张图片
大模型学习之书生·浦语大模型4——基于Xtuner大模型微调实战_第50张图片

  • 修改配置文件:模型文件路径,数据集路径

大模型学习之书生·浦语大模型4——基于Xtuner大模型微调实战_第51张图片
大模型学习之书生·浦语大模型4——基于Xtuner大模型微调实战_第52张图片

  • 启动训练
  • 加入deepspeed加速
  • 将得到的模型转成huggface格式

用MS-Agent赋予LLM Agent能力

大模型学习之书生·浦语大模型4——基于Xtuner大模型微调实战_第53张图片
大模型学习之书生·浦语大模型4——基于Xtuner大模型微调实战_第54张图片
大模型学习之书生·浦语大模型4——基于Xtuner大模型微调实战_第55张图片
大模型学习之书生·浦语大模型4——基于Xtuner大模型微调实战_第56张图片
MS-Agent包含大量这样的数据,可以基于这样的数据训练具有这样能力的LLM
大模型学习之书生·浦语大模型4——基于Xtuner大模型微调实战_第57张图片
大模型学习之书生·浦语大模型4——基于Xtuner大模型微调实战_第58张图片
大模型学习之书生·浦语大模型4——基于Xtuner大模型微调实战_第59张图片

  • 下载Adapter
    大模型学习之书生·浦语大模型4——基于Xtuner大模型微调实战_第60张图片
  • 添加请求服务的API插件
    大模型学习之书生·浦语大模型4——基于Xtuner大模型微调实战_第61张图片
  • 俩模型可以merge
  • 也可以adapter参数
    大模型学习之书生·浦语大模型4——基于Xtuner大模型微调实战_第62张图片
    大模型学习之书生·浦语大模型4——基于Xtuner大模型微调实战_第63张图片
  • 注释掉该语句

大模型学习之书生·浦语大模型4——基于Xtuner大模型微调实战_第64张图片
大模型学习之书生·浦语大模型4——基于Xtuner大模型微调实战_第65张图片

  • API调用有问题

参考

  • Xtuner

你可能感兴趣的:(#,书生·浦语大模型,学习,LLM,AIGC,Xtuner)