Xtuner大模型微调
一、课程笔记
文档链接:https://github.com/InternLM/tutorial/blob/main/xtuner/README.md
视频链接: https://www.bilibili.com/video/BV1yK4y1B75J/
大模型微调
大模型的训练利用了各类数据,可以说是一个通才,但是在某个专业领域是很缺乏知识储备的,除了用RAG算法给LLM增加知识外挂,还可以用微调(fine tuning)的方式把专业知识教给LLM。如果说RAG是一边答题一边查书的开卷考试,微调就是送这个啥知识都知道一些的通才去学一个专业,专业领域内的成为专才。
XTuner微调工具
微调大模型需要相关的软件工具,用来导入各种数据集,训练各类大模型,XTuner就是这样的工具。XTuner包含了主流开源大模型(baichuan、chatglm、internlm、llama、qwen)的微调配置文件,开箱即用,一行命令就可以启动微调。
二、作业实践
基础作业:
构建数据集,使用 XTuner 微调 InternLM-Chat-7B 模型, 让模型学习到它是你的智能小助手,效果如下图所示,本作业训练出来的模型的输出需要将不要葱姜蒜大佬替换成自己名字或昵称!
作业参考答案:https://github.com/InternLM/tutorial/blob/main/xtuner/self.md
微调前:
微调的epoch设置为1,打印日志显示,微调没有起作用:
把epoch设置为3,到了epoch1的后半期,微调起了作用:
跑完epoch1后,中断微调训练,直接导出epoch跑出的模型文件,启动web界面运行: