Hy3-preview#

简介#

Hy3-preview 是一个混合专家模型,总参数量295B,激活参数量21B,MTP层参数量3.8B,由腾讯混元团队开发。它是首个在腾讯重建基础设施上训练的模型,在复杂推理、指令遵循、上下文学习、编码和智能体任务上均有显著提升。

本指南记录了在单个 Atlas A3 16-NPU 节点上,针对 Hy3-preview 验证通过的 vLLM Ascend 服务路径。已验证的默认路径为 TP16 + EP + MTP + ACLGraph。

支持特性#

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

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

环境准备#

模型权重#

将检查点下载或挂载到运行时容器共享的路径,例如 /models/Hy3-preview

硬件#

已验证的配置使用一个 Atlas A3 节点,包含16个NPU,每个NPU 64 GB HBM。实际权重运行启动后每个NPU约使用58 GB进程内存。

安装#

您可以直接使用官方 Docker 镜像运行 Hy3-preview。对于 Atlas A3 机器,请选择带有 -a3 后缀的镜像变体。官方镜像已包含验证服务路径所需的 vLLM 和 vLLM Ascend 运行时。

  export IMAGE=quay.io/ascend/vllm-ascend:v0.21.0rc1-a3
  export NAME=vllm-ascend

  docker run --rm \
    --name $NAME \
    --net=host \
    --shm-size=1g \
    --device /dev/davinci0 \
    --device /dev/davinci1 \
    --device /dev/davinci2 \
    --device /dev/davinci3 \
    --device /dev/davinci4 \
    --device /dev/davinci5 \
    --device /dev/davinci6 \
    --device /dev/davinci7 \
    --device /dev/davinci8 \
    --device /dev/davinci9 \
    --device /dev/davinci10 \
    --device /dev/davinci11 \
    --device /dev/davinci12 \
    --device /dev/davinci13 \
    --device /dev/davinci14 \
    --device /dev/davinci15 \
    --device /dev/davinci_manager \
    --device /dev/devmm_svm \
    --device /dev/hisi_hdc \
    -v /usr/local/dcmi:/usr/local/dcmi \
    -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 /models:/models \
    -it $IMAGE bash

此外,如果您不想使用上述 Docker 镜像,也可以从源码构建所有组件:

部署#

单节点部署#

/workspace 目录下运行 vllm serve

cd /workspace
export MODEL_PATH=/models/Hy3-preview

HCCL_OP_EXPANSION_MODE=AIV \
vllm serve ${MODEL_PATH} \
  --served-model-name hy3-preview \
  --tensor-parallel-size 16 \
  --speculative-config.method mtp \
  --speculative-config.num_speculative_tokens 1 \
  --enable-expert-parallel \
  --enable-ep-weight-filter \
  --tool-call-parser hy_v3 \
  --reasoning-parser hy_v3 \
  --enable-auto-tool-choice \
  --max-model-len 32768 \
  --max-num-seqs 8 \
  --host 0.0.0.0 \
  --port 8000
  • --enable-ep-weight-filter 为可选参数。它在加载时跳过不属于本地 EP rank 的专家权重,减少超大 MoE 检查点的磁盘和主机内存压力。建议保持启用。

  • 工具调用和推理是 Hy3 README 中声明的服务接口,因此建议默认传递相应的 hy_v3 解析器。

功能验证#

首先检查模型就绪状态:

curl -sf http://127.0.0.1:8000/v1/models

运行文本冒烟请求:

curl -sS http://127.0.0.1:8000/v1/chat/completions \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "hy3-preview",
    "messages": [{"role": "user", "content": "Say hi in one word."}],
    "max_tokens": 16,
    "temperature": 0,
    "top_p": 1,
    "chat_template_kwargs": {"reasoning_effort": "no_think"}
  }'

预期结果:

{
  "model": "hy3-preview",
  "choices": [
    {
      "message": {
        "role": "assistant",
        "content": "Hi"
      },
      "finish_reason": "stop"
    }
  ]
}

精度评估#

以下是两种精度评估方法。

使用 AISBench#

  1. 详情请参考使用 AISBench

  2. 执行后可获取结果,以下结果仅供参考。

数据集

版本

指标

模式

vllm-api-general-chat

备注

GSM8K

-

准确率

生成

93.07

1 Atlas 800 A3 (64G × 16)

C-Eval

-

准确率

生成

87.64

1 Atlas 800 A3 (64G × 16)

使用 Language Model Evaluation Harness#

尚未测试。

性能#

使用 AISBench#

详情请参考使用 AISBench 进行性能评估

使用 vLLM Benchmark#

更多详情请参考 vllm benchmark

轻量级在线基准测试#

以下数据来自单个 Atlas A3 16-NPU 节点上的实际权重冒烟基准测试,使用 TP16 + EP + MTP + ACLGraph。基准测试使用 vllm bench serve,随机提示,输出长度128,--max-concurrency 1--temperature 0,每个输入长度4个请求。这些数据为功能性能验证,并非调优后的吞吐量上限。

vllm bench serve \
  --backend openai-chat \
  --base-url http://127.0.0.1:8000 \
  --endpoint /v1/chat/completions \
  --model /models/Hy3-preview \
  --served-model-name hy3-preview \
  --dataset-name random \
  --random-input-len 1024 \
  --random-output-len 128 \
  --num-prompts 4 \
  --request-rate inf \
  --max-concurrency 1 \
  --temperature 0 \
  --top-p 1

随机输入长度

成功/总数

平均 TTFT (ms)

平均 TPOT (ms)

输出吞吐量 (tok/s)

总 token 吞吐量 (tok/s)

1,024

4 / 4

484.64

30.10

29.71

270.90

4,096

4 / 4

1379.41

30.24

24.52

811.99

16,384

4 / 4

2604.58

30.43

19.79

2554.65

已知限制#

  • 模型配置支持262,144个token,但本指南仅验证了32,768个token的服务。更大的上下文需要单独进行容量验证。

  • 正式的AISBench准确性结果尚未公布,应在实际基准测试运行后添加。