【自然语言处理与大模型】使用Xtuner进行模型合并与导出

在上一篇文章中我为大家介绍了Xtuner框架如何进行QLoRA微调,这个框架在微调过后会得到适配器权重文件,它的后缀是.pth。但原模型都是huggingface模型,其后缀是safetensors。所以呢我们在使用这个框架导出模型之前要合并,合并之前要做数据转换。

(1)数据转换

Xtuner使用 PyTorch 训练出来的模型权重文件保存为 pth 格式(例如 iter_2000.pth;如果使用了 DeepSpeed,则会保存为一个文件夹)。为了便于后续使用,我们需要将其转换为 HuggingFace 模型格式,可以使用命令 xtuner convert pth_to_hf 来完成转换。具体命令如下:

bash 复制代码
xtuner convert pth_to_hf ${FINETUNE_CFG} ${PTH_PATH} ${SAVE_PATH}
# 例如:xtuner convert pth_to_hf internlm2_chat_7b_qlora_custom_sft_e1_copy.py ./iter_2000.pth ./iter_2000_hf

这里涉及的三个参数分别是:

  • ${FINETUNE_CFG} :这是微调配置文件的路径。这个配置文件包含了关于如何加载原始模型、adapter层以及如何进行转换的相关信息。它通常是 Python 脚本的形式,例如 internlm2_chat_7b_qlora_custom_sft_e1_copy.py

  • ${PTH_PATH} :这是要转换的 PyTorch 模型权重文件的路径。这通常是在训练过程中保存下来的检查点文件(checkpoint),例如 ./iter_2000.pth,表示经过 2000 步迭代后保存的模型权重。

  • ${SAVE_PATH} :这是转换后的 Hugging Face 格式的模型将要保存的位置。您可以指定一个目录,转换后的模型文件将会被存储在这个目录下。例如 ./iter_2000_hf 表示在当前目录下创建一个名为 iter_2000_hf 的文件夹,并将转换后的模型存放在里面。

(2)模型合并导出

若使用了 LoRA 或 QLoRA 进行微调,模型转换后将仅包含 adapter 参数,而不包含原始的 LLM 参数。如果你希望获得合并后的模型权重(例如用于后续评测)可以使用 xtuner convert merge 命令来完成这一操作:

bash 复制代码
# xtuner convert merge ${LLM} ${LLM_ADAPTER} ${SAVE_PATH}
xtuner convert merge /root/InternLM/models/Qwen3-0.6B /root/InternLM/models/Qwen3-0.6B_adapter /root/InternLM/models/merged_Qwen3-0.6B

其中参数为:

  • ${LLM}:原始 Qwen3-0.6B 模型位于 /root/InternLM/models/Qwen3-0.6B
  • ${LLM_ADAPTER}:微调后得到的 adapter 层(即训练好的额外层)位于 /root/InternLM/models/Qwen3-0.6B_adapter
  • ${SAVE_PATH}:我们希望将合并后的模型保存到 /root/InternLM/models/merged_Qwen3-0.6B
相关推荐
xywww1684 小时前
大模型 API 选型实战:GPT、Gemini、Claude 接入时该看哪些指标?
运维·服务器·人工智能·python·gpt·langchain
私人珍藏库8 小时前
[Android] PeakFinder AR v4.8.89 (山峰全景识别+增强现实山峰查看器)
android·人工智能·智能手机·ar·工具·软件
CS创新实验室9 小时前
算法、齿轮与硅基大脑:数值计算发展简史
人工智能·算法·数值计算
能有时光9 小时前
PyTorch KernelAgent 源码解读 ---(4)--- ExtractorAgent
人工智能·pytorch·python
fthux9 小时前
GitZip Pro 源码解析:一个 GitHub 文件/文件夹下载扩展是如何工作的(一)整体架构与扩展入口
人工智能·ai·开源·github·open source
aqi0010 小时前
15天学会AI应用开发(十七)使用LangGraph实现会话记忆功能
人工智能·python·大模型·ai编程·ai应用
xixixi7777710 小时前
三大 AI 安全里程碑:Akamai 高危风险预警、智能体水印强制落地、PQC 量子安全全产业链统一
大数据·人工智能·安全·ai·大模型·智能体·政策
AI小码11 小时前
LLM 应用的缓存工程:当每次 API 调用都在燃烧成本
java·人工智能·spring·计算机·llm·编程·api
code 小楊11 小时前
AI函数调用:Function Calling从理论到实战全解析
人工智能
delishcomcn11 小时前
智切未来:AI算法如何重塑不干胶标签分切机的精度与效率边界
人工智能·神经网络·计算机视觉