Finetune 简介
- 为什么要微调?
- 提升基座模型在特定领域内的性能
- 两种finetune范式
- 增量预训练
- 指令跟随微调。训练数据为高质量对话。
- 没有经过指令微调的模型,不一定会对话
- 一条数据的一生
- user/input部分为数据输入,bot/output为数据输出标签
- 不同厂家有不同的对话模板
- 未来让模型知道什么时候开始,什么时候结束
- System、User、Assistant三种角色
- 微调方案。Xtuner用两种LORA、QLORA
- LORA:训练出新增支路adapter,减少显存开销
- 保存的是Adapter文件
- 三种方式的对比
| 全参数微调 | LORA | QLORA |
| — | — | — |
| 显存要求高 | 节省显存开销 | 进一步节省显存开销 |
| | | |
XTuner介绍
打包好的大模型微调工具箱。
- 以配置文件的形式封装大部分场景。
- 7B参数量的LLM只需要8GB显存。
- 适配多种生态。
- 与LLaMa-Factory对比
- XTuner显著更快
- XT兼容性显著更好
- XT显存优化更好
- XTuner快速上手
- 安装、修改配置文件、微调训练、对话
- 常用的超参都是config文件中
- 支持工具类模型对话,比如联网检索、计算器、解方程
- XTuner数据引擎
- 数据集映射函数。可以将不同格式的开源数据集,映射为统一的格式,方便跑通。(类似YOLO转COCO)
- 多数据样本拼接。增加并行性,高效利用GPU资源,节约时间。(类似提高batchsize)
8GB显存玩转LLM
内置的两种加速方式:Flash Attention(默认自动开启),DeepSpeed ZeRO(需要指定开启)。操作简单,终端命令一行就行,可以大幅降低训练成本。
InternLM2 1.8B模型
三个版本:1.8B,Chat-1.8B-SFT,Chat-1.8B
- 4GB可推理;8GB可微调
多模态LLM微调
多模态LLM原理简介、LLaVA方案简介、快速上手
- 原理简介
- 多了一个image projector分支
- 方案:LLaVA
- 输入 文本提问+图片
- 输出 文本结果
- 训练出 Image projector
- 单模态LLM + Image projector,实现多模态功能
- Image projector增加LLM视觉能力
- LORA Adpater赋予LLM新的角色
- 快速上手
- Image projector的训练过程分为pretain和finetune两阶段,类似增量预训练(大量数据)和指令微调(高质量的数据)两阶段。
- Image projector的训练过程分为pretain和finetune两阶段,类似增量预训练(大量数据)和指令微调(高质量的数据)两阶段。