Qwen2.5-Math-RM-72B#

简介#

Qwen2.5-Math-RM-72B 是一个720亿参数的奖励模型,专为数学推理和评估设计。它是阿里云Qwen 2.5系列的一部分,专门针对数学问题解答的评分和排序进行了优化。该模型支持最大128K token的上下文窗口,在数学计算、逐步推理评估和解答质量评估方面具有增强能力。

本文档提供了该模型完整部署和验证的详细工作流程,包括支持特性、环境准备、单节点部署、功能验证和性能评估。

Qwen2.5-Math-RM-72B 模型自 vllm-ascend:v0.9.0 版本起得到支持。

支持特性#

请参考支持特性获取模型的支持特性矩阵。

请参考特性指南获取特性的配置信息。

环境准备#

模型权重#

  • Qwen2.5-Math-RM-72B (BF16版本):

    • 启用CPU卸载:至少需要1张Atlas 910B4 (32G × 1) 或更高规格的加速卡

    • 不启用CPU卸载:至少需要4张Atlas 910B4 (32G × 4) 或更高规格的加速卡 下载模型权重

建议将模型权重下载到本地目录(例如 ./Qwen2.5-Math-RM-72B/),以便在部署时快速访问。

安装#

您可以使用我们的官方Docker镜像直接运行 Qwen2.5-Math-RM-72B

这些版本支持多NPU部署,允许模型利用所有可用的NPU设备(例如4个NPU)以获得更好的性能。

根据您的机器类型选择镜像,并在节点上启动Docker镜像,请参考使用Docker

export IMAGE=quay.io/ascend/vllm-ascend:v0.20.2rc1
docker run --rm \
    --device /dev/davinci0 \
    --device /dev/davinci1 \
    --device /dev/davinci2 \
    --device /dev/davinci3 \
    --device /dev/davinci_manager \
    --device /dev/devmm_svm \
    --device /dev/hisi_hdc \
    -v /usr/local/dcmi:/usr/local/dcmi \
    -v /usr/local/Ascend/driver/tools/hccn_tool:/usr/local/Ascend/driver/tools/hccn_tool \
    -v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi \
    -v /usr/local/Ascend/driver/lib64/:/usr/local/Ascend/driver/lib64/ \
    -v /usr/local/Ascend/driver/version.info:/usr/local/Ascend/driver/version.info \
    -v /etc/ascend_install.info:/etc/ascend_install.info \
    -v /root/.cache:/root/.cache \
    -it $IMAGE bash

部署#

单节点部署#

Qwen2.5-Math-RM-72B 支持在910B4平台上进行单节点单卡部署。按照以下步骤启动推理服务:

  1. 准备模型权重:确保下载的模型权重存储在 ./Qwen2.5-Math-RM-72B/ 目录中。

  2. 创建并执行部署脚本(保存为 deploy.sh):

#!/bin/sh
export ASCEND_RT_VISIBLE_DEVICES=0
export MODEL_PATH="Qwen/Qwen2.5-Math-RM-72B"

vllm serve ${MODEL_PATH} \
          --host 0.0.0.0 \
          --port 8000 \
          --served-model-name qwen2.5-math-rm-72b \
          --trust-remote-code \
          --max-model-len 32768 \
          --task reward

备注

--task reward 参数是必需的,用于以奖励模型模式运行模型以对数学解答进行评分。

功能验证#

启动服务后,使用 curl 请求验证功能:

curl http://localhost:8000/v1/reward \
    -H "Content-Type: application/json" \
    -d '{
        "model": "qwen2.5-math-rm-72b",
        "messages": [
            {"role": "system", "content": "You are a helpful math assistant."},
            {"role": "user", "content": "What is 2+2?"},
            {"role": "assistant", "content": "2+2 equals 4."}
        ]
    }'

有效的响应(例如 {"reward_score": 1.69})表示部署成功。

批量奖励评分#

您还可以对多个回答进行评分以进行比较:

curl http://localhost:8000/v1/reward/batch \
    -H "Content-Type: application/json" \
    -d '{
  "model": "qwen2.5-math-rm-72b",
  "conversations": [
    [
      {"role": "system", "content": "You are a helpful math assistant."},
      {"role": "user", "content": "What is 2+2?"},
      {"role": "assistant", "content": "2+2 equals 4."}
    ],
    [
      {"role": "system", "content": "You are a helpful math assistant."},
      {"role": "user", "content": "What is 2+2?"},
      {"role": "assistant", "content": "2+2 equals 5."}
    ]
  ],
  "batch_rewards": [
    {
      "index": 0,
      "score": 9.85,
      "reasoning": "The answer is mathematically correct and concise."
    },
    {
      "index": 1,
      "score": 1.20,
      "reasoning": "The answer contains a factual mathematical error (2+2 is not 5)."
    }
  ]
}'

参考资料#