当前位置: 首页 > news >正文

【书生·浦语大模型实战营04】《(4)XTuner 大模型单卡低成本微调实战》学习笔记

《(4)XTuner 大模型单卡低成本微调实战》

课程文档:《XTuner 大模型单卡低成本微调实战》

1 Finetune简介

在这里插入图片描述LLM的下游应用中,增量预训练指令跟随是经常会用到两种的微调模式

1.1 增量预训练微调

使用场景:让基座模型学习到一些新知识,如某个垂类领域的常识
训练数据:文章、书籍、代码等

1.2 指令跟随微调

使用场景:让模型学会对话模板,根据人类指令进行对话
训练数据:高质量的对话、问答数据
在这里插入图片描述

1.2.1 对话角色

指令跟随微调是为了得到能够实际对话的LLM;
介绍指令跟随微调前,需要先了解如何使用LLM进行对话;
在实际对话时,通常会有三种角色

  • System:给定一些上下文信息,比如“你是一个安全的AI助手”
  • User:实际用户,会提出一些问题,比如T世界第一高峰是?”
  • Assistant:根据User的输入,结合System的上下文信息,做出回答,比如“珠穆朗玛峰”

在使用对话模型时,通常是不会感知到这三种角色的;

1.2.2 对话模板

在这里插入图片描述
对话模板是为了能够让LLM区分出,SystemUserAssistant
不同的模型会有不同的模板;

LlaMa 2 模板
  • <<SYS>>: System上下文开始
  • <</SYS>>: System上下文结束
  • [INST]: User指令开始
  • [/INST]: User 指令结束
InternLM模板
  • <|System|>: System上下文开始
  • <|User|>: User指令开始
  • <eoh>: End of Human,User 指令结束
  • <|Bot|>: Assistant开始回答
  • : End of Assistant,Assistant 回答结束

4 动手实战环节

在InternStudio平台中选择 A100(1/4) 的配置,镜像选择 Cuda11.7-conda

5 XTuner InternLM-Chat 个人小助手认知微调实践

5.2.2 数据准备

对话数据要复制很多份,直到训练后出现效果才可以;

5.2.3 配置准备

Note:修改示例代码中的每一行都要进行替换,包括evaluation_inputs属性。

5.2.4 微调启动

cd /root/personal_assistant/config && xtuner train /root/personal_assistant/config/internlm_chat_7b_qlora_oasst1_e3_copy.py

5.2.5 微调后参数转换/合并

Note:如果是重复测试,微调前需要删除hfhf_merge文件夹。

5.2.6 网页DEMO

请介绍一下你自己

Troubleshooting

(1)“在 Windows-PS 终端上执行ssh-keygen -t rsa卡住无响应”

在 Windows-PS 终端上执行ssh-keygen -t rsa命令,PS终端显示:

Generating public/private rsa key pair.
Enter file in which to save the key (C:\Users\xxx/.ssh/id_rsa):_

然后提示符在闪烁,不过10分钟左右之后却一直没有任何响应;
开启pig导致无法正常使用ssh命令;
关闭pig软件再使用ssh命令;

相关文章:

  • ES自动补全
  • Rust 宏的使用
  • 把项目转换为md知识库,提供给gpts使用
  • ffmpeg 视频分辨率修改 质量压缩
  • mysql进阶-索引基础
  • 视频转为序列图的软件,让视频批量转为序列图
  • Linux Capabilities 进阶实战
  • 单因素方差分析--R
  • docker容器互通方式
  • k8s的node亲和性和pod亲和性和反亲和性 污点 cordon drain
  • prometheus常用exporter
  • [含完整代码]Linux使用.sh脚本自动部署(启动|停止|状态|日志)项目[超详细]
  • Unity URP下阴影锯齿
  • 数据结构:堆和堆排序
  • 基于elementUI的el-table组件实现按住某一行数据上下滑动选中/选择或取消选中/选择鼠标经过的行
  • cfa一级考生复习经验分享系列(十八)
  • 影响邮件打开率的因素有哪些?
  • C //练习 5-4 编写函数strend(s, t)。如果字符串t出现在字符串s的尾部,该函数返回1;否则返回0。
  • Java多线程并发篇----第十三篇
  • JsonPath
  • 特朗普再提“接管”加沙,要将其变为“自由区”
  • 由我国牵头制定,适老化数字经济国际标准发布
  • 崔登荣任国家游泳队总教练
  • 西安市未央区委书记刘国荣已任西咸新区党工委书记
  • 人大新闻教育70年丨16759门课程里的时代密码
  • 美国“贸易战”前线的本土受害者:安静的洛杉矶港和准备关门的小公司