PaddlePaddle 与 Hugging Face Hub 的集成
Hugging Face 与 PaddlePaddle 合作,将 PaddlePaddle 深度学习平台集成到 Hugging Face Hub。此合作旨在通过向全球开源社区提供 PaddlePaddle 在文本、图像、音频、视频和多模态方面的预训练模型,实现 AI 的民主化。
PaddlePaddle 平台概览
PaddlePaddle 最初于 2016 年由百度开源,是一个面向可扩展实现的深度学习平台。截至 2022 年第四季度,该平台已被超过 535 万开发者和 20 万企业使用,拥有中国深度学习平台的最高市场份额。
生态系统包括多个专门的开源仓库:
- Paddle:核心深度学习框架。
- Model Libraries:面向不同模态的专用库,包括 PaddleOCR、PaddleDetection、PaddleNLP 和 PaddleSpeech。
- PaddleSlim:模型压缩工具。
- FastDeploy:模型部署框架。
Hub 集成与模型发现
集成从 PaddleNLP 开始,随后会加入其他库。用户可以通过使用特定的 “PaddlePaddle” 库标签,在 Hugging Face Hub 上发现 PaddlePaddle 模型。
在公告时,Hub 上已有超过 75 个 PaddlePaddle 模型可用,包括:
- UIE:多任务信息抽取模型系列。
- ERNIE 3.0:最先进的中文语言模型系列。
- Ernie-Layout:融合布局知识增强的文档预训练模型。
此外,Hub 上的 PaddlePaddle 组织提供了 Spaces,供交互式工具使用,如 Ernie-ViLG(文本到图像)、UIE-X(跨模态信息抽取)和 PaddleOCR(多语言 OCR 工具包)。
推理与交互功能
Hub 上的 PaddlePaddle 模型支持 Hugging Face Inference API,用户可以通过 cURL、Python 的 requests 库或其他网络请求方式,以 HTTP 请求与模型交互。对于支持特定任务的模型,浏览器中直接提供交互式小部件,便于即时测试。
模型使用与共享
用户可以通过 Hub 上的 “Use in paddlenlp” 按钮加载特定模型,按钮会提供实现代码片段。
要共享模型,PaddleNLP 目前支持通过 save_to_hf_hub 方法将模型推送到 Hub。示例实现如下:
from paddlenlp.transformers import AutoTokenizer, AutoModelForMaskedLM
tokenizer = AutoTokenizer.from_pretrained("PaddlePaddle/ernie-3.0-base-zh", from_hf_hub=True)
model = AutoModelForMaskedLM.from_pretrained("PaddlePaddle/ernie-3.0-base-zh", from_hf_hub=True)
tokenizer.save_to_hf_hub(repo_id="<my_org_name>/<my_repo_name>")
model.save_to_hf_hub(repo_id="<my_org_name>/<my_repo_name>")