教程地址:Tutorial/xtuner/README.md at main · InternLM/Tutorial · GitHub
按照教程一步一步操作即可:
前言:
1.1 XTuner
一个大语言模型微调工具箱。由 MMRazor 和 MMDeploy 联合开发。
1.2 支持的开源LLM (2023.11.01)
1.3 特色
- 🤓 傻瓜化: 以 配置文件 的形式封装了大部分微调场景,0基础的非专业人员也能一键开始微调。
- 🍃 轻量级: 对于 7B 参数量的LLM,微调所需的最小显存仅为 8GB : 消费级显卡✅,colab✅
1.4 微调原理
想象一下,你有一个超大的玩具,现在你想改造这个超大的玩具。但是,对整个玩具进行全面的改动会非常昂贵。
※ 因此,你找到了一种叫 LoRA 的方法:只对玩具中的某些零件进行改动,而不是对整个玩具进行全面改动。
※ 而 QLoRA 是 LoRA 的一种改进:如果你手里只有一把生锈的螺丝刀,也能改造你的玩具。
2 快速上手
2.1 平台
Ubuntu + Anaconda + CUDA/CUDNN + 8GB nvidia显卡
2.2 安装
# 如果你是在 InternStudio 平台,则从本地 clone 一个已有 pytorch 2.0.1 的环境: /root/share/install_conda_env_internlm_base.sh xtuner0.1.9 # 如果你是在其他平台: conda create --name xtuner0.1.9 python=3.10 -y # 激活环境 conda activate xtuner0.1.9 # 进入家目录 (~的意思是 “当前用户的home路径”) cd ~ # 创建版本文件夹并进入,以跟随本教程 mkdir xtuner019 && cd xtuner019 # 拉取 0.1.9 的版本源码 git clone -b v0.1.9 https://github.com/InternLM/xtuner # 无法访问github的用户请从 gitee 拉取: # git clone -b v0.1.9 https://gitee.com/Internlm/xtuner # 进入源码目录 cd xtuner # 从源码安装 XTuner pip install -e '.[all]'
安装完后,就开始搞搞准备工作了。(准备在 oasst1 数据集上微调 internlm-7b-chat)
# 创建一个微调 oasst1 数据集的工作路径,进入 mkdir ~/ft-oasst1 && cd ~/ft-oasst1
2.3 微调
终端运行结果
可以看出微调后存在过拟合的情况。我们用微调前的模型就不会出现过拟合的情况,截图如下:
使用web浏览器来显示,运行结果如下