Home
π MindNLP
Run HuggingFace Models on MindSpore with Zero Code Changes
The easiest way to use 200,000+ HuggingFace models on Ascend NPU, GPU, and CPU
π― What is MindNLP?¶
MindNLP bridges the gap between HuggingFace's massive model ecosystem and MindSpore's hardware acceleration. With just import mindnlp, you can run any HuggingFace model on Ascend NPU, NVIDIA GPU, or CPU - no code changes required.
import mindnlp # That's it! HuggingFace now runs on MindSpore
from transformers import pipeline
pipe = pipeline("text-generation", model="Qwen/Qwen2-0.5B")
print(pipe("Hello, I am")[0]["generated_text"])
β‘ Quick Start¶
Text Generation with LLMs¶
import mindspore
import mindnlp
from transformers import pipeline
pipe = pipeline(
"text-generation",
model="Qwen/Qwen3-8B",
ms_dtype=mindspore.bfloat16,
device_map="auto"
)
messages = [{"role": "user", "content": "Write a haiku about coding"}]
print(pipe(messages, max_new_tokens=100)[0]["generated_text"][-1]["content"])
Image Generation with Stable Diffusion¶
import mindspore
import mindnlp
from diffusers import DiffusionPipeline
pipe = DiffusionPipeline.from_pretrained(
"stable-diffusion-v1-5/stable-diffusion-v1-5",
ms_dtype=mindspore.float16
)
image = pipe("A sunset over mountains, oil painting style").images[0]
image.save("sunset.png")
β¨ Features¶
- 200,000+ models from HuggingFace Hub
- Transformers - All model architectures
- Diffusers - Stable Diffusion, SDXL, ControlNet
- Zero code changes - Just
import mindnlp
- Ascend NPU - Full support for Huawei AI chips
- NVIDIA GPU - CUDA acceleration
- CPU - Optimized CPU execution
- Multi-device - Automatic device placement
- Mixed precision - FP16/BF16 training & inference
- Quantization - INT8/INT4 with BitsAndBytes
- Distributed - Multi-GPU/NPU training
- PEFT/LoRA - Parameter-efficient fine-tuning
- PyTorch-compatible API via mindtorch
- Safetensors support for fast loading
- Model Hub mirrors for faster downloads
- Comprehensive documentation
π¦ Installation¶
# From PyPI (recommended)
pip install mindnlp
# From source (latest features)
pip install git+https://github.com/mindspore-lab/mindnlp.git
Version Compatibility¶
| MindNLP | MindSpore | Python |
|---|---|---|
| 0.6.x | β₯2.7.1 | 3.10-3.11 |
| 0.5.x | 2.5.0-2.7.0 | 3.10-3.11 |
| 0.4.x | 2.2.x-2.5.0 | 3.9-3.11 |
| 0.3.x | 2.1.0-2.3.1 | 3.8-3.9 |
π‘ Why MindNLP?¶
| Feature | MindNLP | PyTorch + HF | TensorFlow + HF |
|---|---|---|---|
| HuggingFace Models | β 200K+ | β 200K+ | β οΈ Limited |
| Ascend NPU Support | β Native | β | β |
| Zero Code Migration | β | - | β |
| Chinese Model Support | β Excellent | β Good | β οΈ Limited |
Key Advantages
- Instant Migration: Your existing HuggingFace code works immediately
- Ascend Optimization: Native support for Huawei NPU hardware
- Production Ready: Battle-tested in enterprise deployments
- Active Community: Regular updates and responsive support
πΊοΈ Supported Models¶
MindNLP supports all models from HuggingFace Transformers and Diffusers:
| Category | Models |
|---|---|
| LLMs | Qwen, Llama, ChatGLM, Mistral, Phi, Gemma, BLOOM, Falcon |
| Vision | ViT, CLIP, Swin, ConvNeXt, SAM, BLIP |
| Audio | Whisper, Wav2Vec2, HuBERT, MusicGen |
| Diffusion | Stable Diffusion, SDXL, ControlNet |
| Multimodal | LLaVA, Qwen-VL, ALIGN |
π View all supported models
π Next Steps¶
Tutorials
- Quick Start - Fine-tune BERT for sentiment analysis
- Use Trainer - Configure training with Trainer API
- PEFT/LoRA - Parameter-efficient fine-tuning
- Data Processing - Dataset handling
Resources
- API Reference - API documentation
- FAQ - Frequently asked questions
- Contributing - How to contribute
- Changelog - Version history
π€ Community¶
Join the MindSpore NLP SIG for discussions and collaboration:
π License¶
MindNLP is released under the Apache 2.0 License.
π Citation¶
@misc{mindnlp2022,
title={MindNLP: Easy-to-use and High-performance NLP and LLM Framework Based on MindSpore},
author={MindNLP Contributors},
howpublished={\url{https://github.com/mindspore-lab/mindnlp}},
year={2022}
}
Made with β€οΈ by the MindSpore Lab team