主页
🚀 MindNLP
零代码改动,在 MindSpore 上运行 HuggingFace 模型
在昇腾 NPU、GPU 和 CPU 上使用 200,000+ HuggingFace 模型的最简单方式
🎯 什么是 MindNLP?¶
MindNLP 连接了 HuggingFace 庞大的模型生态系统和 MindSpore 的硬件加速能力。只需 import mindnlp,您就可以在**昇腾 NPU**、NVIDIA GPU 或 CPU 上运行任何 HuggingFace 模型——无需修改代码。
import mindnlp # 就这么简单!HuggingFace 现在运行在 MindSpore 上
from transformers import pipeline
pipe = pipeline("text-generation", model="Qwen/Qwen2-0.5B")
print(pipe("你好,我是")[0]["generated_text"])
⚡ 快速开始¶
使用大语言模型生成文本¶
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": "写一首关于编程的俳句"}]
print(pipe(messages, max_new_tokens=100)[0]["generated_text"][-1]["content"])
使用 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("山间日落,油画风格").images[0]
image.save("sunset.png")
✨ 特性¶
- 200,000+ 模型 来自 HuggingFace Hub
- Transformers - 所有模型架构
- Diffusers - Stable Diffusion、SDXL、ControlNet
- 零代码改动 - 只需
import mindnlp
- 昇腾 NPU - 完全支持华为 AI 芯片
- NVIDIA GPU - CUDA 加速
- CPU - 优化的 CPU 执行
- 多设备 - 自动设备分配
- 混合精度 - FP16/BF16 训练和推理
- 量化 - 使用 BitsAndBytes 的 INT8/INT4
- 分布式 - 多 GPU/NPU 训练
- PEFT/LoRA - 参数高效微调
- PyTorch 兼容 API(通过 mindtorch)
- Safetensors 支持快速加载
- 模型镜像 加速下载
- 完善的文档
📦 安装¶
# 从 PyPI 安装(推荐)
pip install mindnlp
# 从源码安装(最新功能)
pip install git+https://github.com/mindspore-lab/mindnlp.git
版本兼容性¶
| 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 |
💡 为什么选择 MindNLP?¶
| 特性 | MindNLP | PyTorch + HF | TensorFlow + HF |
|---|---|---|---|
| HuggingFace 模型 | ✅ 200K+ | ✅ 200K+ | ⚠️ 有限 |
| 昇腾 NPU 支持 | ✅ 原生 | ❌ | ❌ |
| 零代码迁移 | ✅ | - | ❌ |
| 中文模型支持 | ✅ 优秀 | ✅ 良好 | ⚠️ 有限 |
核心优势
- 即时迁移:您现有的 HuggingFace 代码立即可用
- 昇腾优化:原生支持华为 NPU 硬件
- 生产就绪:在企业部署中经过实战检验
- 活跃社区:定期更新和响应迅速的支持
🗺️ 支持的模型¶
MindNLP 支持 HuggingFace Transformers 和 Diffusers 的**所有模型**:
| 类别 | 模型 |
|---|---|
| 大语言模型 | Qwen、Llama、ChatGLM、Mistral、Phi、Gemma、BLOOM、Falcon |
| 视觉 | ViT、CLIP、Swin、ConvNeXt、SAM、BLIP |
| 音频 | Whisper、Wav2Vec2、HuBERT、MusicGen |
| 扩散模型 | Stable Diffusion、SDXL、ControlNet |
| 多模态 | LLaVA、Qwen-VL、ALIGN |
📚 下一步¶
教程
- 快速入门 - 微调 BERT 进行情感分析
- 使用 Trainer - 使用 Trainer API 配置训练
- PEFT/LoRA - 参数高效微调
- 数据处理 - 数据集处理
🤝 社区¶
加入 MindSpore NLP SIG 参与讨论和协作:
📄 许可证¶
MindNLP 基于 Apache 2.0 许可证 发布。
📖 引用¶
@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}
}
由 MindSpore Lab 团队用 ❤️ 打造