Xtuner实战+LLM微调

本文介绍了Finetune在对话系统中的应用,包括三种微调方法(上下文提供、增量预训练和指令跟随),以及XTuner工具在模型加载、格式转换和多卡训练中的支持。同时提到了Tmux在会话管理中的作用和Linux环境下的安装步骤。
摘要由CSDN通过智能技术生成

Finetune 微调

在实际对话中,通常会有三种角色

  • system:给定一些上下文信息,“你是一个专业的内科医生,能回答医疗领域的专业问题”
  • User:用户的问题,”肿瘤如何治疗“
  • Assistant:LLM的回答

增量预训练

让基座模型学习到一些垂类领域的新知识

学习时只需要学习知识,“珠穆朗玛峰是世界第一高峰”,并不需要问题(User)和系统提示(System),这些留空。计算损失只计算output

指令跟随微调

指令跟随微调,输入数据需要包含System、User、Assistant。计算损失只计算output

在这里插入图片描述

在这里插入图片描述

LoRA& QLoRA

在这里插入图片描述

XTuner

  • 支持工具类模型的对话
  • 支持从Huggingface和modelscope加载模型
  • 原始问答对生成多种不同LLM的格式化问答对
  • 多数据样本拼接,增强并行性

Tmux

用户与计算机的交互,称为一次会话(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 即可

进阶任务

在这里插入图片描述

在这里插入图片描述

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值