Hy3-preview#
简介#
Hy3-preview 是一个混合专家模型,总参数量295B,激活参数量21B,MTP层参数量3.8B,由腾讯混元团队开发。它是首个在腾讯重建基础设施上训练的模型,在复杂推理、指令遵循、上下文学习、编码和智能体任务上均有显著提升。
本指南记录了在单个 Atlas A3 16-NPU 节点上,针对 Hy3-preview 验证通过的 vLLM Ascend 服务路径。已验证的默认路径为 TP16 + EP + MTP + ACLGraph。
支持特性#
请参考支持特性获取模型支持的特性矩阵。
请参考特性指南获取特性配置。
环境准备#
模型权重#
Hugging Face: tencent/Hy3-preview
ModelScope: Tencent-Hunyuan/Hy3-preview
GitCode: tencent_hunyuan/Hy3-preview
将检查点下载或挂载到运行时容器共享的路径,例如 /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 镜像,也可以从源码构建所有组件:
从源码安装
vllm-ascend,请参考安装指南。
部署#
单节点部署#
在 /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#
详情请参考使用 AISBench。
执行后可获取结果,以下结果仅供参考。
数据集 |
版本 |
指标 |
模式 |
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准确性结果尚未公布,应在实际基准测试运行后添加。