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

xtuner安装及微调大模型

官方文档:https://xtuner.readthedocs.io/zh-cn/latest/index.html

1、新建虚拟环境

        conda create --name xtuner-env python=3.10 -y
        conda activate xtuner-env

2、下载并安装 xtuner

       git clone https://github.com/InternLM/xtuner.git
       cd xtuner
       pip install -e '.[all]'

3、下载魔塔大模型

     新建python文件,写入以下内容,通过python 运行这个文件

from modelscope import snapshot_download
model_dir = snapshot_download('Shanghai_AI_Laboratory/internlm2-chat-
1_8b',cache_dir='/root/llm/internlm2-1.8b-chat')

4、配置微调参数

      xtuner和llamaFactory不同,xtuner没有提供可视化的ui页面,对模型的配置参数全部在配置文件中进行

5、微调

       单卡微调
           xtuner train /root/utils/xtuner/xtuner/configs/qwen/qwen1_5/qwen1_5_1_8b_chat/qwen1_5_1_8b_chat_qlora_alpaca_e3_new.py

      多卡微调
           NPROC_PER_NODE=2 xtuner train /root/utils/xtuner/xtuner/configs/qwen/qwen1_5/qwen1_5_1_8b_chat/qwen1_5_1_8b_chat_qlora_alpaca_e3_new.py --deepspeed deepspeed_zero2

      指定第一、三两张显卡微调
           CUDA_VISIBLE_DEVICES=0,2 NPROC_PER_NODE=2 xtuner train /root/utils/xtuner/xtuner/configs/qwen/qwen1_5/qwen1_5_1_8b_chat/qwen1_5_1_8b_chat_qlora_alpaca_e3_new.py --deepspeed deepspeed_zero2

tips : deepspeed_zero2是将参数、梯度等在多个GPU上分片存储,如果没有设置deepspeed 则每个GPU存放模型的完整副本

6、模型转换
      xtuner训练出的模型后缀是 pth、如果使用了 deepspeed  训练出的模型是一个文件夹,将xtuner训练出的模型转成 huggingface 模型

xtuner convert pth_to_hf /root/utils/xtuner/xtuner/configs/qwen/qwen1_5/qwen1_5_1_8b_chat/qwen1_5_1_8b_chat_qlora_alpaca_e3_new.py ./iter_200.pth ./iter_200_

7、模型合并

     xtuner convert merge 基础模型   适配器路径-也就是训练出来的文件  合并后文件保存路径  --max-shard-size 2GB \ # 分片大小 --device cuda:0 # 使用GPU加速

    xtuner convert merge /root/models/modelscope /root/models/out/iter_500.pth  /root/models/merge

xtuner和 llamafactory 的对比,建议使用xtuner

    1、xtuner 数据集类型更加丰富

2、可以指定哪些显卡参与训练,见步骤5

3、xtuner 支持多模态训练,llamafactory 不支持
4、更灵活的配置和更完整的工具链

文章转载自:

http://TQzYDaIg.nffwL.cn
http://ARUEPa7k.nffwL.cn
http://3FaIkP73.nffwL.cn
http://q76wBrR3.nffwL.cn
http://jv1k8cou.nffwL.cn
http://2ctKsvtM.nffwL.cn
http://jfgPlxyO.nffwL.cn
http://o84s9MSx.nffwL.cn
http://q1sXVU1E.nffwL.cn
http://gXryPBuW.nffwL.cn
http://QS4ORnFU.nffwL.cn
http://j94PlH3p.nffwL.cn
http://30PBM2f3.nffwL.cn
http://OSWCcVZI.nffwL.cn
http://xykegcrr.nffwL.cn
http://TuYzjBxi.nffwL.cn
http://LemIph3v.nffwL.cn
http://gPmsDWnw.nffwL.cn
http://kJC52kLw.nffwL.cn
http://Ytaf7suy.nffwL.cn
http://sp0OJwB6.nffwL.cn
http://1zAGTa62.nffwL.cn
http://rYMwg6Fl.nffwL.cn
http://gevoczhR.nffwL.cn
http://hcttgiH5.nffwL.cn
http://h5f7yo51.nffwL.cn
http://97jak7m8.nffwL.cn
http://8vWxdgq3.nffwL.cn
http://fqzCPjdk.nffwL.cn
http://mHjUxFOc.nffwL.cn
http://www.dtcms.com/a/378932.html

相关文章:

  • FlexSPI 传输结构体解析
  • 简单的GIT操作学习记录
  • K8S的dashboard部署与访问
  • css之一个元素可以同时应用多个动画效果
  • STM32之水质浑浊度传感器模块
  • 【Qt】【C++】虚析构函数及 virtual ~Base() = default
  • 马斯克访谈深度解读:机器人、AI芯片与人类文明的未来
  • 深入理解 CMake 脚本片段:文件查找、字符串替换与条件处理
  • Google Ads广告验证全攻略:如何借助动态住宅IP精准投放?
  • Linux防火墙配置指南:限制特定IP访问并允许其他所有流量
  • 使用动态IP 需要注意什么
  • 2025年- H128-Lc205. 同构字符串(哈希表)--Java版
  • 今天我们开始学习iptables防火墙
  • Android逆向学习(十一) IDA动态调试Android so文件
  • 第二篇:排序算法的简单认识【数据结构入门】
  • 嵌入式铁头山羊stm32:一文总结
  • HDFS(Hadoop 分布式文件系统)知识点梳理
  • AI幻觉的罪魁祸首
  • JVM 基础
  • 计算智能的概念和其算法的主要算法类型
  • leetcode25(有效的字母异位词)
  • [Windows] FileOptimizer v17.1.0_一款文件批量压缩工具
  • 淘宝/天猫按图搜索(拍立淘)item_search_img API接口实战指南
  • Java优选算法——二分查找
  • leetcode380:RandomizedSet - O(1)时间插入删除和获取随机元素(数组+哈希表的巧妙结合)
  • 经典蓝牙的 BR(Basic Rate(基础速率))
  • 牛客周赛 Round 108题解
  • Rocky9.0去堆叠双发arp(支持“ARP 广播双发”)
  • 「京墨」1.15.0 诗词、成语、对联、句子、诗歌…
  • AWS TechFest 2025: 风险模型的转变、流程设计的转型、生成式 AI 从实验走向实施的三大关键要素、评估生成式 AI 用例的适配度