XTuner模型转换和推理
《XTuner模型转换和推理》共 0.3 万字,通篇围绕 微调、数据集、LoRA、prompt 展开,归在「推理、部署与算力」这一层。
适合要把模型跑起来,还得跑得起的人
目录骨架(8 节)
- 最佳实践
- 准备模型权重
- 准备微调数据集
- 准备配置文件
- 修改配置文件
- 启动微调
- 常见问题
- 模型转换 + LoRA 合并
示例代码
📎 附件:xtuner-train.zip(zip, 4KB)
原文链接:https://www.yuque.com/attachments/yuque/0/2025/zip/2424104/1748309455309-91035c09-8be9-42e5-8df5-2465cf507039.zip
XTuner简介
XTuner是一款由上海人工智能实验室开发的开源工具,专门用于大语言模型的高效微调。它支持几乎所有GPU上对LLM(Large Language Model)进行预训练或微调,甚至可以在8GB GPU上微调7B大小的模型。XTuner的设计理念是“开箱即用”,为用户提供了丰富的预设配置和直观的命令行接口,大大降低了使用门槛。
项目地址:https://github.com/InternLM/xtuner.git
安装
本节中,我们将演示如何安装 XTuner。
最佳实践
步骤 1. 安装 XTuner
方案a: 通过 pip 直接安装
pip install xtuner[all]==0.1.19
pip install xtuner[deepspeed]==0.1.19
验证
为了验证 XTuner 是否安装正确,我们将使用命令打印配置文件。
打印配置文件: 在命令行中使用 xtuner list-cfg 验证是否能打印配置文件列表。
$ xtuner list-cfg
快速上手
本节中,我们将演示如何使用 XTuner 微调模型,帮助您快速上手 XTuner。
在成功安装 XTuner 后,便可以开始进行模型的微调。在本节中,我们将演示如何使用 XTuner,应用 QLoRA 算法在 Colorist 数据集上微调 InternLM2-Chat-7B。
Colorist 数据集(HuggingFace 链接;ModelScope 链接)是一个根据颜色描述提供颜色选择与建议的数据集,经过该数据集微调的模型可以做到根据用户对于颜色的描述,从而给出16进制下的颜色编码,如用户输入“宁静而又相当明亮的浅天蓝色,介于天蓝色和婴儿蓝之间,因其亮度而带有一丝轻微的荧光感。”,模型输出
,该颜色很符合用户的描述。以下是该数据集的几条样例数据:
| 英文描述 | 中文描述 | 颜色 |
|---|---|---|
| Light Sky Blue: A calming, fairly bright color that falls between sky blue and baby blue, with a hint of slight fluorescence due to its brightness. | 浅天蓝色 :一种介于天蓝和婴儿 蓝之间的平和、相当明 亮的颜色,由于明亮而 带有一丝轻微的荧光。 | #66ccff: |
| Bright red: This is a very vibrant, saturated and vivid shade of red, resembling the color of ripe apples or fresh blood. It is as red as you can get on a standard RGB color palette, with no elements of either blue or green. | 鲜红色: 这是一种非常鲜 艳、饱和、生动的红色 ,类似成熟苹果或新鲜 血液的颜色。它是标准 RGB 调色板上的红色,不含 任何蓝色或绿色元素。 | #ee0000: |
| Bright Turquoise: This color mixes the freshness of bright green with the tranquility of light blue, leading to a vibrant shade of turquoise. It is reminiscent of tropical waters. | 明亮的绿松石 色:这种颜色融合了鲜 绿色的清新和淡蓝色的 宁静,呈现出一种充满 活力的绿松石色调。它 让人联想到热带水域。 | #00ffcc: |
准备模型权重
在微调模型前,首先要准备待微调模型的权重。
从 HuggingFace 下载
pip install -U huggingface_hub
# 拉取模型至 Shanghai_AI_Laboratory/internlm2-chat-7b
huggingface-cli download internlm/internlm2-chat-7b \
--local-dir Shanghai_AI_Laboratory/internlm2-chat-7b \
--local-dir-use-symlinks False \
--resume-download