PaddleNLP 项目介绍
PaddleNLP 是一款基于飞桨深度学习框架的大语言模型开发套件。这款工具专为那些希望在多种硬件上进行高效的大模型训练、无损压缩以及高性能推理的开发者而设计。PaddleNLP 以其简单易用和性能极致著称,旨在帮助开发者实现高效的大模型产业级应用。
特性
🔧 多硬件训推一体
PaddleNLP 支持多种硬件,包括英伟达 GPU、昆仑 XPU、昇腾 NPU、燧原 GCU 和海光 DCU 等。这种多样性允许使用者轻松切换硬件,大大降低了研发成本。
🚀 高效易用的预训练
PaddleNLP 提供了4D高性能训练策略,例如纯数据并行、分组参数切片的数据并行、张量模型并行和流水线模型并行。这些策略通过降低复杂分布式组合的成本,让训练过程更加高效。
🤗 高效精调
PaddleNLP 的精调算法结合了零填充数据流和 FlashMask 高性能算子,能够显著提升训练效率,减少无效数据填充与计算。
🎛️ 无损压缩和高性能推理
其高性能推理模块内建了动态插入和算子融合策略,使并行推理速度大幅加快,增强了套件的开箱即用性。
模型支持
PaddleNLP 支持多种模型系列,包括 LLaMA、Baichuan、Bloom、ChatGLM、Gemma、Mistral、OPT 和 Qwen 系列等。用户可以通过这些模型实现更好的预训练、精调和推理效果。
安装
PaddleNLP 支持 Python 3.8 或更高版本,需要与 PaddlePaddle 3.0.0b0 或更高版本配合使用。用户可以通过 pip 命令进行快速安装:
pip install --upgrade paddlenlp==3.0.0b2
快速开始
PaddleNLP 提供了便捷的 API,可以快速加载模型和 Tokenizer。例如,使用 Qwen/Qwen2-0.5B
模型进行文本生成非常简单:
from paddlenlp.transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("Qwen/Qwen2-0.5B")
model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen2-0.5B", dtype="float16")
input_features = tokenizer("你好!请自我介绍一下。", return_tensors="pd")
outputs = model.generate(**input_features, max_length=128)
print(tokenizer.batch_decode(outputs[0], skip_special_tokens=True))
社区交流
PaddleNLP 也非常重视社区建设,提供了微信交流群供用户与开发者进行深入交流。
如果 PaddleNLP 为您的工作提供了帮助,欢迎在学术论文中引用,并感谢 Hugging Face 对预训练模型使用的优秀设计理念,该项目遵循 Apache-2.0 开源协议。