Text Generation
Transformers
Safetensors
English
Chinese
qwen3
code-generation
npu
ascend
chain-of-thought
conversational
text-generation-inference
Instructions to use AscendKernelGen/KernelGen-LM-32B with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use AscendKernelGen/KernelGen-LM-32B with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="AscendKernelGen/KernelGen-LM-32B") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("AscendKernelGen/KernelGen-LM-32B") model = AutoModelForCausalLM.from_pretrained("AscendKernelGen/KernelGen-LM-32B") messages = [ {"role": "user", "content": "Who are you?"}, ] inputs = tokenizer.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=40) print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps
- vLLM
How to use AscendKernelGen/KernelGen-LM-32B with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "AscendKernelGen/KernelGen-LM-32B" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "AscendKernelGen/KernelGen-LM-32B", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/AscendKernelGen/KernelGen-LM-32B
- SGLang
How to use AscendKernelGen/KernelGen-LM-32B with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "AscendKernelGen/KernelGen-LM-32B" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "AscendKernelGen/KernelGen-LM-32B", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "AscendKernelGen/KernelGen-LM-32B" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "AscendKernelGen/KernelGen-LM-32B", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use AscendKernelGen/KernelGen-LM-32B with Docker Model Runner:
docker model run hf.co/AscendKernelGen/KernelGen-LM-32B
Add metadata and links to paper and code
Browse filesHi! I'm Niels from the community science team at Hugging Face.
I'm opening this pull request to improve the model card for **KernelGen-LM-32B**. This PR adds:
- **YAML metadata**: Including `pipeline_tag`, `library_name`, and `license`.
- **References**: Linking the model card to the original research paper and the official GitHub repository for easier access.
These changes help ensure the model is correctly categorized on the Hugging Face Hub and remains discoverable for researchers and developers.
README.md
CHANGED
|
@@ -1,19 +1,22 @@
|
|
| 1 |
---
|
| 2 |
language:
|
| 3 |
- en
|
| 4 |
-
.
|
|
|
|
|
|
|
| 5 |
---
|
|
|
|
| 6 |
# AscendKernelGen/KernelGen-LM-32B
|
| 7 |
|
| 8 |

|
| 9 |
[](https://arxiv.org/abs/2601.07160)
|
| 10 |
|
| 11 |
-
KernelGen-LM-32B is a state-of-the-art domain-adaptive large language model specialized for low-level NPU kernel generation, specifically for the Huawei Ascend architecture using the AscendC programming language. Built upon the Qwen3-32B backbone, it is trained on the Ascend-CoT dataset and refined via reinforcement learning with execution feedback. It achieves unprecedented success rates in generating complex, functional hardware kernels, improving compilation success on L2 tasks from 0% (baseline) to 96.5% (Pass@10), while functional correctness achieves
|
| 12 |
-
40.5% compared to the baseline’s complete failure.
|
| 13 |
|
| 14 |
-
**
|
| 15 |
-
*
|
| 16 |
-
*
|
|
|
|
| 17 |
|
| 18 |
## Introduction
|
| 19 |
|
|
@@ -25,6 +28,7 @@ Our framework, **AscendKernelGen (AKGen)**, bridges the gap between general-purp
|
|
| 25 |
* **Performance:** The model demonstrates siginificant improvement on complex Level-2 kernels compared to baselines, and effectively solving tasks where general-purpose models (like Qwen3, Llama3.1) fail completely.
|
| 26 |
|
| 27 |
## Citation
|
|
|
|
| 28 |
@article{cao2026ascendkernelgen,
|
| 29 |
title={AscendKernelGen: A Systematic Study of LLM-Based Kernel Generation for Neural Processing Units},
|
| 30 |
author={Xinzi Cao and Jianyang Zhai and Pengfei Li and Zhiheng Hu and Cen Yan and Bingxu Mu and Guanghuan Fang and Bin She and Jiayu Li and Yihan Su and Dongyang Tao and Xiansong Huang and Fan Xu and Feidiao Yang and Yao Lu and Chang-Dong Wang and Yutong Lu and Weicheng Xue and Bin Zhou and Yonghong Tian},
|
|
@@ -32,3 +36,4 @@ Our framework, **AscendKernelGen (AKGen)**, bridges the gap between general-purp
|
|
| 32 |
year={2026},
|
| 33 |
url=https://arxiv.org/abs/2601.07160
|
| 34 |
}
|
|
|
|
|
|
| 1 |
---
|
| 2 |
language:
|
| 3 |
- en
|
| 4 |
+
license: apache-2.0
|
| 5 |
+
library_name: transformers
|
| 6 |
+
pipeline_tag: text-generation
|
| 7 |
---
|
| 8 |
+
|
| 9 |
# AscendKernelGen/KernelGen-LM-32B
|
| 10 |
|
| 11 |

|
| 12 |
[](https://arxiv.org/abs/2601.07160)
|
| 13 |
|
| 14 |
+
KernelGen-LM-32B is a state-of-the-art domain-adaptive large language model specialized for low-level NPU kernel generation, specifically for the Huawei Ascend architecture using the AscendC programming language. Built upon the Qwen3-32B backbone, it is trained on the Ascend-CoT dataset and refined via reinforcement learning with execution feedback. It achieves unprecedented success rates in generating complex, functional hardware kernels, improving compilation success on L2 tasks from 0% (baseline) to 96.5% (Pass@10), while functional correctness achieves 40.5% compared to the baseline’s complete failure.
|
|
|
|
| 15 |
|
| 16 |
+
**Links:**
|
| 17 |
+
* **Paper:** [AscendKernelGen: A Systematic Study of LLM-Based Kernel Generation for Neural Processing Units](https://huggingface.co/papers/2601.07160)
|
| 18 |
+
* **Code:** [GitHub - weich97/NPUKernelBench](https://github.com/weich97/NPUKernelBench)
|
| 19 |
+
* **Evaluation Framework:** [NPUKernelBench (OpenI)](https://git.openi.org.cn/PCL-Benchmark/NPUKernelBench)
|
| 20 |
|
| 21 |
## Introduction
|
| 22 |
|
|
|
|
| 28 |
* **Performance:** The model demonstrates siginificant improvement on complex Level-2 kernels compared to baselines, and effectively solving tasks where general-purpose models (like Qwen3, Llama3.1) fail completely.
|
| 29 |
|
| 30 |
## Citation
|
| 31 |
+
```bibtex
|
| 32 |
@article{cao2026ascendkernelgen,
|
| 33 |
title={AscendKernelGen: A Systematic Study of LLM-Based Kernel Generation for Neural Processing Units},
|
| 34 |
author={Xinzi Cao and Jianyang Zhai and Pengfei Li and Zhiheng Hu and Cen Yan and Bingxu Mu and Guanghuan Fang and Bin She and Jiayu Li and Yihan Su and Dongyang Tao and Xiansong Huang and Fan Xu and Feidiao Yang and Yao Lu and Chang-Dong Wang and Yutong Lu and Weicheng Xue and Bin Zhou and Yonghong Tian},
|
|
|
|
| 36 |
year={2026},
|
| 37 |
url=https://arxiv.org/abs/2601.07160
|
| 38 |
}
|
| 39 |
+
```
|