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 -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¶
-
详情请参考 使用 AISBench。
-
执行后,您可以获取结果,以下结果仅供参考。
| 数据集 | 版本 | 指标 | 模式 | 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