跳转至

Hy3-preview

1 简介

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

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

2 支持的功能

请参考 支持的功能列表 获取模型支持的功能矩阵。

请参考 功能指南 获取功能的配置。

3 环境准备

3.1 模型权重

权重版本 下载链接
Hy3-preview ModelScope | Hugging Face | GitCode

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

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

3.2 硬件

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

4 安装

4.1 Docker 镜像安装

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

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

4.2 源代码安装

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

  • 从源代码安装 vllm-ascend,请参考 安装。

5 部署

5.1 单节点部署

从 /workspace 运行 vllm serve。

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

HCCL_OP_EXPANSION_MODE=AIV \
# Ensure the model path matches the directory recorded during download
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 解析器。

6 功能验证

首先检查模型就绪状态:

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"
    }
  ]
}

7 精度评估

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

7.1 使用 AISBench

  1. 详情请参考 使用 AISBench。

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

数据集 版本 指标 模式 vllm-api-general-chat 备注
GSM8K - accuracy gen 93.07 1 个 Atlas A3 (64GB × 16)
C-Eval - accuracy gen 87.64 1 个 Atlas A3 (64GB × 16)

7.2 使用 Language Model Evaluation Harness

尚未测试。

8 性能评估

8.1 使用 AISBench

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

8.2 使用 vLLM Benchmark

更多详情请参考 vllm benchmark。

8.3 轻量级在线基准测试

以下数据来自单个 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

9 已知限制

  • 模型配置支持 262,144 个 token,但本指南仅验证了 32,768 token 的推理服务。更大的上下文需要单独的容量验证。
  • 正式的 AISBench 准确率结果待定,且应仅在真实基准测试运行后添加。

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