当前位置: 首页 > backend >正文

【自然语言处理与大模型】使用Xtuner进行QLoRA微调实操

        本文首先对Xtuner这一微调框架进行简单的介绍。手把手演示如何使用Xtuner对模型进行微调训练,包括数据准备、训练命令执行及训练过程中的监控技巧。最后,在完成微调之后,本文还将介绍如何对微调结果进行简单对话测试。

一、Xtuner微调框架

         XTuner 是一个功能强大、易于使用的大模型微调工具,其特点在于低成本、高效率和硬件友好性。通过支持分布式训练,支持LoRA与QLoRA和众多开源模型,XTuner 为开发者提供了灵活的微调解决方案,适用于广泛的实际应用场景。

【注】关于它和llamafactory的对比我认为没必要只用一个框架,如果这个解决不了就用另一个。

二、QLoRA微调实操

(1)快速安装

方法一:通过pip安装

# 先创建一个专属的conda虚拟环境
conda create -n xtuner python=3.10
# 激活进入
conda activate xtuner
# 安装xtuner库
pip install xtuner

【注】 如果activate进入不了,就先执行conda init然后关掉终端,重新打开就行了。

方法二:从源码可编辑模式安装

# 先创建一个专属的conda虚拟环境
conda create -n xtuner python=3.10
# 激活进入
conda activate xtuner
# 再去github上面下载源码
git clone https://github.com/InternLM/xtuner.git
# 必须进入源码路径
cd xtuner
# 再执行安装命令
pip install -e .

测试是否安装成功:xtuner list-cfg 

xtuner list-cfg 

(2)准备大模型

        这里我们使用书生浦语2.5的1.8b模型,魔塔社区的链接给大家放在这里了:书生·浦语2.5-1.8B-对话

我们使用魔塔的SDK来下载模型,代码如下:

from modelscope import snapshot_download# 我一般会创建一个本地模型文件夹来存
model_dir = snapshot_download('Shanghai_AI_Laboratory/internlm2_5-1_8b-chat', cache_dir='./local_models')

如果报错找不到库,No module named 'modelscope'就去pip一下,很简单:

pip install modelscope

 (3)准备数据集

        在成功安装 XTuner 和下载好大模型后,便可以开始进行模型的微调。演示如何使用 XTuner,应用 QLoRA 算法在 Colorist 数据集上微调 internlm2_5-1_8b-chat。魔塔上的数据集链接我放在这里了:该数据集为,颜色建议-16进制,颜色数据集

使用git来下载数据集,命令如下:

git clone https://www.modelscope.cn/datasets/fanqiNO1/colors.git

 (4)修改微调配置文件

        XTuner 提供了多个开箱即用的配置文件,可以通过xtuner list-cfg查看,其实我建议可编辑模式安装就可以直接在文件夹里面看到这些配置文件了。微调配置文件是重点,我后续补充细节!先写到这里。马上回来~

http://www.xdnf.cn/news/3560.html

相关文章:

  • 【中间件】brpc_基础_bthread头文件
  • 【AI面试准备】Git与CI/CD及单元测试实战指南
  • 从 “零” 做个开源音乐软件“SteadyBeat”吧!<1> 准备
  • NVIDIA NPP 库入门
  • c++_csp-j算法 (6)_高精度算法(加减乘除)
  • PostgreSQL:pgJDBC 下载和安装
  • TensorZero开源程序创建了一个反馈循环来优化 LLM 应用程序,将生产数据转化为更智能、更快、更便宜的模型
  • Leetcode刷题记录26——轮转数组
  • 数字时代,如何为个人信息与隐私筑牢安全防线?
  • Laravel Octane 项目加速与静态资源优化指南
  • MySQL基本查询(二)
  • QT6(32)4.5常用按钮组件:Button 例题的代码实现
  • 【python】【UV】一篇文章学完新一代 Python 环境与包管理器使用指南
  • 手机的数据楚门世界是如何推送的
  • word交叉引用图片、表格——只引用编号的处理方法
  • 4.27-5.4学习周报
  • 【KWDB 创作者计划】技术解读:多模架构、高效时序数据处理与分布式实现
  • ubuntu的libc 库被我 sudo apt-get --reinstall install libc6搞没了
  • WPF之ProgressBar控件详解
  • 学习:困?
  • Nginx部署Vue+ElementPlus应用案例(基于腾讯云)
  • 基于Redis实现-UV统计
  • Linux:系统延迟任务及定时任务
  • 柔性PZT压电薄膜多维力传感器在微创手术机器人的应用
  • [英语单词] from under
  • 【STM32】定时器
  • React memo
  • 《操作系统真象还原》调试总结篇
  • 在pycharm profession 2020.3上安装使用xlwings
  • 【CTFer成长之路】XSS的魔力