Skip to main content

Introduction

Hy3 is a 295B-parameter Mixture-of-Experts (MoE) model with 21B active parameters and 3.8B MTP layer parameters, developed by the Tencent Hy Team. It features 192 experts with top-8 activation per token, GQA attention (64 heads, 8 KV heads, head dim 128), and a 256K context length. The model supports built-in reasoning via reasoning_effort, tool calling, and multi-token prediction (MTP) for speculative decoding. Hy3 significantly outperforms similar-size models and rivals flagship open-source models with 2–5× the parameters, with notable improvements in agentic workflows, long-context tasks, and production reliability. This document demonstrates the deployment of Hy3 on Ascend NPUs using SGLang, including single-node (Atlas 800I A3) and multi-node (Atlas 800I A2) PD mixed mode and speculative decoding.

Supported features

The values in the Example usage column are for illustration only. Adjust them according to your hardware, deployment mode, and workload. For parameter details, see Feature descriptions.
For feature compatibility and conflict information between features, see Feature Compatibility.

Prerequisites

Environment

Before following this tutorial, complete the environment setup in the documents below:
  • Ascend NPU Quickstart — the fastest way to get started. It walks you through launching the official container image, starting the SGLang server, and sending a test request. Recommended if you are new to SGLang on Ascend.
  • SGLang Installation with NPU Support — the full installation guide. It covers the component version mapping (CANN, TorchNPU, Triton, kernels, etc.), building from source or from a Dockerfile, and recommended system settings (CPU power scheme, NUMA, swap). Use it when you need to install or customize the environment instead of using the official image.

Model weights

Hy3 has 295B total parameters. If you need to download model weights, check the model size before downloading to reserve enough space.
  • Hy3 (BF16, 597.60GB)
The BF16 variant (597.60GB) can be deployed on 16 × 64GB of device memory (--tp-size 16), which corresponds to one full Atlas 800I A3 node (8 cards × 2 dies) or two Atlas 800I A2 nodes (8 cards × 1 die each).
It is recommended to download the model weights to a shared directory accessible from within the container. For the hardware specifications (memory per die, dies per card, and the difference between A2 and A3), see Ascend NPU Reference — Hardware.

Installation

Ensure sufficient disk space before pulling images. The Docker image requires at least 30GB of free space.
The dependencies required for the NPU runtime environment have been integrated into a Docker image and uploaded to the online platform. You can directly pull it.
Both stable releases and daily builds are available. The following command is based on the stable release tag. For details, see Docker image versions.
Command
  • If the model weights have already been downloaded to a shared directory, use -v to mount the model path into the container, for example: -v /path/to/models:/models.
  • Replace ${NAME} with your own container name or remove --name to use default name.
  • --shm-size=64g is recommended for 16-NPU deployments with large batch sizes.

Online service deployment

Single-node online deployment

Single-node deployment completes both prefill and decode within the same node (PD mixed mode). Hy3 with 295B parameters requires all 16 logical NPUs on an Atlas 800I A3 server (8 physical NPUs × 2 logical cores each, 64 GB HBM per logical NPU). Set the following environment variables before launching the server:
Launch the server:

Multi-node PD mixed deployment on Atlas 800I A2

Each Atlas 800I A2 node provides 8 NPUs (Ascend 910B, 64 GB HBM per NPU). Hy3 requires all 16 logical NPUs across 2 × Atlas 800I A2 nodes in PD mixed mode (prefill and decode are colocated on the same 2-node cluster). On each node, set the following environment variables before launching the server:
Launch the server on both nodes by running the same script on each node. NODE_IPS[0] is the master node and must be reachable from the other node:
  • HCCL_SOCKET_IFNAME and GLOO_SOCKET_IFNAME must be set to the cluster network interface on both nodes. Do not use lo for multi-node deployments.
  • Model weights must be accessible from both nodes, e.g. mounted from a shared directory.
  • Send requests only to the master node (NODE_IPS[0]:9999), not to the worker node.

Functional verification

After the service is started, you can invoke the model by sending a prompt:
Expected result: an HTTP 200 response with "Paris" in the content field. To enable chain-of-thought reasoning for math or coding tasks, set reasoning_effort to "high":
The response will contain a reasoning_content field with the thinking process and a content field with the final answer. Once the server prints The server is fired up and ready to roll! in the logs, it is ready to accept requests. For more testing examples (Health Check, Generate, Chat Completions, and port usage guidance), see Testing the Service.

Accuracy evaluation

For accuracy evaluation methods and datasets, see Accuracy Evaluation on Ascend NPU.

Performance

For performance data and benchmark commands, see Performance Testing on Ascend NPU.

Best practices

Best practice configuration reference

Hy3 has no standalone best practice page yet. The Single-node online deployment and Multi-node PD mixed deployment on Atlas 800I A2 sections above provide the ready-to-use scripts for the supported PD mixed cases. For the full catalog of optimization features and their parameter and compatibility details, see Optimization on Ascend NPU.

Performance tuning

For the full list of supported features, see Supported features. For detailed optimization guidance, see Optimization on Ascend NPU.

Reasoning mode selection

Hy3 supports three reasoning modes via chat_template_kwargs: Use no_think for interactive or latency-sensitive applications to reduce output token count significantly.

FAQ

For common environment, installation, and general parameter issues, please refer to the Ascend NPU FAQ. This section only covers model-specific issues.