Skip to content

Xtuner

XTuner 是一个高效、灵活、全能的轻量化大模型微调工具库。

Xtuner支持与书生·浦语(InternLM)、Llama等多款开源大模型的适配,可执行增量预训练、指令微调、工具类指令微调等任务类型。硬件要求上,在Tesla T4、A100等传统数据中心之外,开发者最低使用消费级显卡便可进行训练,实现大模型特定需求能力。

Xtuner 支持通过 MMEngine 使用 SwanLab 进行在线跟踪,只需在配置文件中添加几行代码,就可以跟踪和可视化损失、显存占用等指标。

使用SwanLab可视化跟踪Xtuner微调进展

打开要训练的配置文件(比如qwen1_5_7b_chat_full_alpaca_e3.py)),找到visualizer参数的位置,将它替换成:

python
# set visualizer
from mmengine.visualization import Visualizer
from swanlab.integration.mmengine import SwanlabVisBackend

visualizer = dict(type=Visualizer, vis_backends=[dict(type=SwanlabVisBackend)])

然后照样运行微调命令,即可实现SwanLab实验跟踪:

bash
xtuner train qwen1_5_7b_chat_full_alpaca_e3.py

如果希望像平常使用SwanLab那样指定项目名、实验名等信息,可以在实例化SwanlabVisBackend时在init_kwargs参数中指定,可以参考 swanlab init 查看可配置的参数。

通过以字典的形式传入init_kwargs,该参数最终会传给 swanlab.init 方法,下面举了个指定项目名称的案例。

python
visualizer = dict(
  type=Visualizer,
  vis_backends=[dict(
        type=SwanlabVisBackend,
        init_kwargs=dict(project='toy-example', experiment_name='Qwen'),
    )])

有关MM系列的其他引入方法和更灵活的配置,可以参考MMEngine接入SwanLab