在实际对话中,通常会有三种角色
让基座模型学习到一些垂类领域的新知识
学习时只需要学习知识,“珠穆朗玛峰是世界第一高峰”,并不需要问题(User)和系统提示(System),这些留空。计算损失只计算output
指令跟随微调,输入数据需要包含System、User、Assistant。计算损失只计算output
用户与计算机的交互,称为一次会话(session)。会话的一个特点是,将窗口和其中运行的进程绑定,窗口关闭,则进程关闭。Tmux就是将窗口和其中的进程进行解绑。
# Ubuntu 或 Debian
$ sudo apt-get install tmux
# CentOS 或 Fedora
$ sudo yum install tmux
# 1.创建虚拟环境
/root/share/install_conda_env_internlm_base.sh xtuner0.1.9
# 2.进入虚拟环境
conda activate xtuner0.1.9
cd ~
mkdir xtuner019 && cd xtuner019
# 3.拉取Xtuner源码
git clone -b v0.1.9 https://github.com/InternLM/xtuner
# 4.从源码安装Xtuner
cd xtuner
pip install -e '.[all]'
# 创建一个微调 oasst1 数据集的工作路径,进入
mkdir ~/ft-oasst1 && cd ~/ft-oasst1
# 列出所有内置配置
xtuner list-cfg
cd ~/ft-oasst1
#拷贝一个配置文件到当前目录
xtuner copy-cfg internlm_chat_7b_qlora_oasst1_e3 .
cd ~/ft-oasst1
# ...-guanaco 后面有个空格和英文句号啊
cp -r /root/share/temp/datasets/openassistant-guanaco .
# 单卡
## 用刚才改好的config文件训练
xtuner train ./internlm_chat_7b_qlora_oasst1_e3_copy.py
# 多卡
NPROC_PER_NODE=${GPU_NUM} xtuner train ./internlm_chat_7b_qlora_oasst1_e3_copy.py
# 若要开启 deepspeed 加速,增加 --deepspeed deepspeed_zero2 即可