项目地址:GitHub - InternLM/tutoriald
第四节课视频地址:(4)XTuner 大模型单卡低成本微调实战_哔哩哔哩_bilibili
XTuner微调
Finetune简介
大模型的微调有两种
1. 增量预训练:给模型提供一些新知识,让模型在指定领域表现更好。
训练语料都是陈述句(system和input为空,只在output有内容)
2. 指令微调:让模型学会根据人类指令进行对话。
指令微调时,通过模板将训练预料中的System,User和Assistant拼接起来,并且只对答案部分计算损失。(推理时不分角色,直接和模型聊天即可)
XTuner介绍
LoRA & QLoRA:原基座模型权重不变,在旁路新增一个权重分支,来实现对模型的微调。
XTuner简介:
XTuner是一个大模型微调工具箱,支持多款开源大模型。
XTuner数据引擎:内置数据集映射函数个对话模板函数,支持丰富的开源数据集
8GB显卡玩转LLM
默认开启Flash Attention,集成DeepSpeed ZeRO,加速训练。
动手实战
动手实践部分分为三个模块,分别展示了用 openassistant-guanaco数据集、自定义数据集以及MS Agent数据集微调InternLM的操作过程。流程大致如下:
1. 安装conda环境、安装XTuner
2. 下载模型、微调数据和配置文件
3. 修改配置文件中的模型路径和数据路径,max_epoch改为1
4. 执行微调并采取deepspeed加速
5. 生成LoRA模型文件夹,并将其与基座llm合并
6. 与微调后的模型进行对话
详细过程请参考项目文档以及教程视频。