跳转至

Qwen2.5-Math-RM-72B

1 简介

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

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

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

2 支持的功能

有关模型支持的功能矩阵,请参阅 支持的功能列表。

有关功能配置,请参阅 功能指南。

3 环境准备

3.1 模型权重

权重版本 硬件要求 下载链接
Qwen2.5-Math-RM-72B(BF16 版本) 使用 CPU offloading:至少需要 1 张 Atlas 910B4(32GB × 1)卡或更高规格
不使用 CPU offloading:至少需要 4 张 Atlas 910B4(32GB × 4)卡或更高规格
ModelScope

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

路径说明:将模型权重下载到任意目录并记录该目录。确保后续部署命令中的模型路径与该目录一致。

4 安装

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

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

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

export IMAGE=quay.io/ascend/vllm-ascend:v0.23.0
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

5 部署

5.1 单节点部署

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"
# Ensure the model path matches the directory recorded during download
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

Note

运行模型以奖励模型模式对数学解答进行评分时,必须使用 --task reward 参数。

6 功能验证

启动服务后,使用 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})表示部署成功。

6.1 批量奖励评分

您还可以对多个响应进行评分以进行比较:

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)."
    }
  ]
}'

7 参考资料

本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 vl/vllm-ascend