Train on GPU and Run Inference on NPU
Training and inference can use different accelerator types. This page is an index for workflows that fine-tune or train a model on NVIDIA GPUs and serve a compatible exported model on Huawei Ascend NPUs. It does not replace the linked guides or provide deployment steps.
TOC
Supported model artifacts for NPU inferenceFine-tune LLMs on GPU and run LLM inference on NPUHow the fine-tuning method affects NPU inferenceTrain machine-learning models on GPU and run inference on NPUValidated Ascend ModelZoo inference smoke testsSupported model artifacts for NPU inference
The selected NPU runtime determines which artifacts it can load. The following are the model representations covered by the referenced NPU-serving guides; they are not a universal compatibility matrix for every Ascend device, model architecture, or runtime version.
transformers in an InferenceService or ClusterServingRuntime identifies the model-directory format expected by the runtime. It does not by itself state that every precision or quantization method is supported. Before creating an inference service, check the exact model and target NPU SKU against the official Ascend ModelZoo and the selected serving engine's supported-model documentation (for example, the vLLM-Ascend supported-model matrix and model tutorials). Then validate the weight representation, serving image, CANN version, and driver in the target environment.
Fine-tune LLMs on GPU and run LLM inference on NPU
Use one of these guides to fine-tune an LLM on GPU:
- Fine-Tuning with Kubeflow Trainer v2 for a reusable
TrainingRuntimeandTrainJobworkflow. - Fine-tuning LLMs with Training Hub for SFT, OSFT, LoRA, QLoRA, and continued pre-training workflows.
- Training Runtime Images to select a CUDA training runtime.
How the fine-tuning method affects NPU inference
The training or alignment method does not, by itself, determine whether the result can run on an NPU. What matters at deployment time is the resulting model architecture, checkpoint or adapter format, weight precision or quantization, tokenizer and configuration, and the versions supported by the NPU serving runtime.
Fine-tuning methods can also be combined, such as CPT followed by SFT or DPO with LoRA. Evaluate the final artifact, not the sequence of training algorithms. If the final model is quantized, confirm the exact method in the vLLM-Ascend quantization guide; support for one quantization scheme does not imply support for another.
After the fine-tuned model is published to the model storage location used by your platform, use the NPU-serving guidance in Extend Inference Runtimes. Its vLLM-ascend section covers Ascend NPU runtime and InferenceService configuration. For platform-wide service lifecycle and operations, see Managing Inference Services.
Verify that the exported model, selected NPU serving engine, CANN stack, tokenizer, and model-storage format are compatible before moving a GPU-trained model to an NPU serving environment.
Train machine-learning models on GPU and run inference on NPU
For an end-to-end object-detection example, use Train, Fine-Tune, and Deploy YOLOv5. It covers GPU training with Kubeflow Trainer v2 and two Ascend NPU inference choices:
- A custom KServe runtime that serves the exported TorchScript model with
torch_npu. - A native CANN path that converts a YOLOv5 ONNX model to an
.ommodel with ATC and executes it through the CANNacl/pyACLAPIs.
The YOLOv5 guide also documents the validated CANN compiler image and NPU environment. Use it as the reference for artifact conversion, model storage, and NPU runtime compatibility for similar machine-learning models.
For a trained machine-learning model that does not have a ready-made NPU serving runtime, create a custom InferenceService: package a FastAPI application in a CANN-compatible image, load the exported TorchScript model with torch_npu, and expose the KServe v2 health and inference endpoints. The YOLOv5 torch_npu sample shows that pattern. Alternatively, first check the official Ascend CANN documentation and Ascend ModelZoo for a CANN acl/pyACL-supported inference method for the exact model. If it is supported, export to the required interchange format, compile the model for the target NPU SKU when required, and deploy it with the matching CANN service implementation. Do not assume that a GPU-trained artifact can run unchanged on an NPU.
Validated Ascend ModelZoo inference smoke tests
The following ModelZoo-PyTorch examples passed inference-only HTTP smoke tests on an Ascend 910B4 NPU on August 14, 2026. The checkout was ModelZoo-PyTorch commit a3c42931e0a70f7366416d4e1fc6222d1ef923a2.
These results validate model loading, NPU execution, and an HTTP inference boundary, not accuracy, throughput, or production readiness. DLRM, ESPnet2, and DiT used deterministic initialized weights; bge-reranker-v2-m3 used its official checkpoint; and MinerU used a small synthetic PDF. Revalidate each model with production weights, inputs, target NPU SKU, and software stack.