推理

查看源文件

概述

MindSpore Transformers 提供了大模型推理能力,用户可以执行 run_mindformer 统一脚本进行推理。用户使用 run_mindformer 统一脚本可以不编写代码,直接通过配置文件启动,用法便捷。

基本流程

推理流程可以分解成以下几个步骤:

1. 选择推理的模型

根据需要的推理任务,选择不同的模型,如文本生成可以选择Qwen3等。

2. 准备模型文件

获取Hugging Face模型文件:权重、配置与分词器,将下载的文件存放在同一个文件夹目录,方便后续使用。

3. 准备YAML配置文件

用户需要配置一份YAML文件,来定义任务的所有配置。MindSpore Transformers提供了一份YAML配置模板,用户可以基于模板,根据实际场景自定义配置,详细可见推理配置模板使用指南

4. 执行推理任务

使用 run_mindformer 统一脚本执行推理任务。

使用 run_mindformer 一键启动脚本推理

单卡推理可以直接执行run_mindformer.py脚本,多卡推理需要借助scripts/msrun_launcher.sh来启动。

run_mindformer.py的参数说明如下:

参数

参数说明

config

yaml配置文件的路径

run_mode

运行的模式,推理设置为predict

use_parallel

是否使用多卡推理

predict_data

推理的输入数据,多batch推理时需要传入输入数据的txt文件路径,包含多行输入

predict_batch_size

多batch推理的batch_size大小

msrun_launcher.sh包括run_mindformer.py命令和推理卡数两个参数。

下面将以Qwen3-8B为例介绍单卡和多卡推理的用法,推荐配置为predict_qwen3.yaml文件。

配置修改

当前推理可以直接复用Hugging Face的配置文件和tokenizer,并且在线加载Hugging Face的safetensors格式的权重,使用时的配置修改如下:

use_legacy: False
pretrained_model_dir: '/path/hf_dir'

参数说明:

  • use_legacy:决定是否使用老架构,默认值:True

  • pretrained_model_dir:Hugging Face模型目录路径,放置模型配置、Tokenizer等文件。

默认配置是单卡推理配置。如需使用多卡推理,相关配置修改如下:

use_parallel: False
parallel_config:
  data_parallel: 1
  model_parallel: 1

具体配置说明均可参考yaml配置说明

单卡推理

当使用完整权重推理时,推荐使用默认配置,执行以下命令即可启动推理任务:

python run_mindformer.py \
--config configs/qwen3/predict_qwen3.yaml \
--run_mode predict \
--use_parallel False \
--predict_data '帮助我制定一份去上海的旅游攻略'

出现如下结果,证明推理成功。推理结果也会保存到当前目录下的 text_generation_result.txt 文件中。

'text_generation_text': [帮助我制定一份去上海的旅游攻略,包括景点、美食、住宿等信息...]

多卡推理

多卡推理的配置要求与单卡存在差异,需参考下面修改配置:

  1. 模型并行model_parallel的配置和使用的卡数需保持一致,下文用例为4卡推理,需将model_parallel设置成4;

  2. 当前版本的多卡推理不支持数据并行,需将data_parallel设置为1。

当使用完整权重推理时,需要开启在线切分方式加载权重,参考以下命令:

bash scripts/msrun_launcher.sh "run_mindformer.py \
 --config configs/qwen3/predict_qwen3.yaml \
 --run_mode predict \
 --use_parallel True \
 --predict_data '帮助我制定一份去上海的旅游攻略'" 4

出现如下结果,证明推理成功。推理结果也会保存到当前目录下的 text_generation_result.txt 文件中。详细日志可通过./output/msrun_log目录查看。

'text_generation_text': [帮助我制定一份去上海的旅游攻略,包括景点、美食、住宿等信息...]

多卡多batch推理

多卡多batch推理的启动方式可参考上述多卡推理,但是需要增加predict_batch_size的入参,并修改predict_data的入参。

input_predict_data.txt文件的内容和格式是每一行都是一个输入,问题的个数与predict_batch_size一致,可以参考以下格式:

帮助我制定一份去上海的旅游攻略
帮助我制定一份去上海的旅游攻略
帮助我制定一份去上海的旅游攻略
帮助我制定一份去上海的旅游攻略

以完整权重推理为例,可以参考以下命令启动推理任务:

bash scripts/msrun_launcher.sh "run_mindformer.py \
 --config configs/qwen3/predict_qwen3.yaml \
 --run_mode predict \
 --predict_batch_size 4 \
 --use_parallel True \
 --predict_data path/to/input_predict_data.txt" 4

推理结果查看方式,与多卡推理相同。

更多信息

更多关于不同模型的推理示例,请访问MindSpore Transformers 已支持模型库