PaddleNLP: 飞桨强大易用的自然语言处理开发库

Ray

PaddleNLP简介

PaddleNLP是基于飞桨(PaddlePaddle)深度学习框架开发的自然语言处理(NLP)开发库。它具备以下特点:

  1. 简单易用的文本领域API
  2. 覆盖多种NLP应用场景的示例
  3. 支持高性能分布式训练

PaddleNLP的目标是提升开发者在NLP领域的开发和建模效率,支持从学术研究到产业应用的全流程开发。

PaddleNLP logo

主要特性

🔧 多硬件训练推理一体化

PaddleNLP支持在多种硬件上进行大模型的训练和推理,包括:

  • NVIDIA GPU
  • 昆仑芯XPU
  • 华为昇腾NPU
  • 燧原科技GCU
  • 海光DCU

套件接口支持快速切换不同硬件,大幅降低了硬件切换带来的开发成本。

🚀 高效易用的预训练

PaddleNLP支持4D高性能训练策略:

  • 纯数据并行
  • 分组参数切片的数据并行
  • 张量模型并行
  • 流水线模型并行

Trainer支持分布式策略配置化,降低了复杂分布式组合的使用成本。

Unified Checkpoint大模型存储格式支持模型参数分布的动态扩缩容训练,降低了硬件切换带来的迁移成本。

🤗 高效精调

PaddleNLP的精调算法深度结合了零填充数据流和FlashMask高性能算子,可以降低训练中的无效数据填充和计算,大幅提升精调训练的吞吐量。

🎛️ 无损压缩和高性能推理

PaddleNLP的大模型套件中的高性能推理模块内置了动态插入和全环节算子融合策略,可以极大加快并行推理速度。底层实现细节被封装,实现了开箱即用的高性能并行推理能力。

模型支持

PaddleNLP支持丰富的预训练语言模型,包括:

  • LLaMA系列
  • Baichuan系列
  • Bloom系列
  • ChatGLM系列
  • Gemma系列
  • Mistral系列
  • OPT系列
  • Qwen系列

等主流大语言模型。

同时支持这些模型的4D并行训练、高效精调(SFT、PEFT等)、模型对齐、模型量化等全流程能力。

模型支持列表

快速开始

安装

PaddleNLP的安装非常简单,只需要执行:

pip install --upgrade paddlenlp

大模型文本生成示例

下面是使用PaddleNLP加载Qwen模型并进行文本生成的简单示例:

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]))

输出:

['我是一个AI语言模型,我可以回答各种问题,包括但不限于:天气、新闻、历史、文化、科学、教育、娱乐等。请问您有什么需要了解的吗?']

大模型预训练

PaddleNLP提供了便捷的大模型预训练脚本:

mkdir -p llm/data && cd llm/data
wget https://bj.bcebos.com/paddlenlp/models/transformers/llama/data/llama_openwebtext_100k.bin
wget https://bj.bcebos.com/paddlenlp/models/transformers/llama/data/llama_openwebtext_100k.idx
cd .. # change folder to PaddleNLP/llm
python -u -m paddle.distributed.launch --gpus "0,1,2,3,4,5,6,7" run_pretrain.py ./config/llama/pretrain_argument.json

大模型SFT精调

同样可以方便地进行SFT精调:

mkdir -p llm/data && cd llm/data
wget https://bj.bcebos.com/paddlenlp/datasets/examples/AdvertiseGen.tar.gz && tar -zxvf AdvertiseGen.tar.gz
cd .. # change folder to PaddleNLP/llm
python -u -m paddle.distributed.launch --gpus "0,1,2,3,4,5,6,7" run_finetune.py ./config/llama/sft_argument.json

社区交流

欢迎加入PaddleNLP的开发者社区,与众多NLP爱好者交流讨论:

PaddleNLP社区二维码

总结

PaddleNLP作为一个功能强大且易用的NLP开发库,为开发者提供了从模型训练到部署的全流程解决方案。无论是学术研究还是工业应用,PaddleNLP都能满足开发者的各种需求。我们期待看到更多基于PaddleNLP开发的优秀NLP应用!

avatar
0
0
0
最新项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

稿定AI

稿定设计 是一个多功能的在线设计和创意平台,提供广泛的设计工具和资源,以满足不同用户的需求。从专业的图形设计师到普通用户,无论是进行图片处理、智能抠图、H5页面制作还是视频剪辑,稿定设计都能提供简单、高效的解决方案。该平台以其用户友好的界面和强大的功能集合,帮助用户轻松实现创意设计。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号