mindspore-lab/mindnlp · 文件 下载 ZIP
文件最后提交记录最后更新时间
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈
MindNLP
零代码修改,在 MindSpore 上运行 HuggingFace 模型
在 Ascend NPU、GPU 和 CPU 上使用 200,000+ HuggingFace 模型的最简单方式
快速开始 • 功能特性 • 安装 • 为什么选择 MindNLP • 文档
🎯 什么是 MindNLP?
MindNLP 弥合了 HuggingFace 庞大的模型生态系统与 MindSpore 硬件加速之间的差距。仅需 import mindnlp,即可在 Ascend NPU、NVIDIA GPU 或 CPU 上运行任何 HuggingFace 模型 - 无需修改代码。
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"])
⚡ 快速开始
使用 LLM 进行文本生成
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"])
使用 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")
用于文本分类的 BERT
import mindnlp
from transformers import AutoTokenizer, AutoModelForSequenceClassification
tokenizer = AutoTokenizer.from_pretrained("bert-base-uncased")
model = AutoModelForSequenceClassification.from_pretrained("bert-base-uncased")
inputs = tokenizer("MindNLP is awesome!", return_tensors="pt")
outputs = model(**inputs)
✨ 功能
🤗 完整的 HuggingFace 兼容性
|
🚀 硬件加速
|
🔧 高级功能
|
📦 轻松集成
|
🧪 Mindtorch NPU 调试
Mindtorch NPU 算子默认是异步的。当需要阻塞等待结果时,请使用 torch.npu.synchronize()。
对于调试,请设置 ACL_LAUNCH_BLOCKING=1 以强制每个算子同步。
📦 安装
# From PyPI (recommended)
pip install mindnlp
# From source (latest features)
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 |
💡 为什么选择 MindNLP?
| 特性 | MindNLP | PyTorch + HF | TensorFlow + HF |
|---|---|---|---|
| HuggingFace 模型 | ✅ 200K+ | ✅ 200K+ | ⚠️ 有限 |
| Ascend NPU 支持 | ✅ 原生 | ❌ | ❌ |
| 零代码迁移 | ✅ | - | ❌ |
| 统一 API | ✅ | ✅ | ❌ |
| 中文模型支持 | ✅ 优秀 | ✅ 良好 | ⚠️ 有限 |
🏆 核心优势
- 即时迁移:您现有的 HuggingFace 代码可立即运行
- Ascend 优化:原生支持华为 NPU 硬件
- 生产就绪:经过企业级部署的实战检验
- 活跃社区:定期更新和快速响应支持
🗺️ 支持的模型
MindNLP 支持 HuggingFace Transformers 和 Diffusers 中的所有模型。以下是一些热门模型:
| 类别 | 模型 |
|---|---|
| LLMs | 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 |
📚 资源
- 📖 文档
- 🚀 快速入门指南
- 📝 教程
- 💬 GitHub 讨论区
- 🐛 问题追踪器
🤝 贡献
我们欢迎贡献!详情请参阅我们的贡献指南。
# Clone and install for development
git clone https://github.com/mindspore-lab/mindnlp.git
cd mindnlp
pip install -e ".[dev]"
👥 社区
加入 MindSpore NLP SIG(特别兴趣小组),参与讨论、活动与协作:
⭐ Star History
如果你觉得 MindNLP 有用,请考虑给它一个星标 ⭐ - 这有助于项目的发展!
📄 许可证
MindNLP 依据 Apache 2.0 License 发布。
📖 引用
@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 团队用 ❤️ 制作