0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

ERNIE 3.0 Tiny新模型,压缩部署“小”“快”“灵”!欢迎在 NGC 飞桨容器中体验 PaddleNLP 最新版本

NVIDIA英伟达企业解决方案 来源:未知 2023-02-22 07:05 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

PaddleNLP 又带着新功能和大家见面了。本次更新,为大家带来文心 ERNIE 3.0 Tiny 轻量级模型,刷新了中文小模型的 SOTA 成绩;通过模型裁剪、量化感知训练、Embedding 量化等压缩方案,能够进一步提升模型推理速度、降低模型大小、显存占用。欢迎广大开发者使用 NVIDIA 与飞桨联合深度适配的 NGC 飞桨容器,在 NVIDIA GPU 上体验 ERNIE 3.0 Tiny。

ERNIE 3.0 Tiny 与配套压缩部署方案介绍

ERNIE 3.0 Tiny

近年来,随着深度学习技术的迅速发展,大规模预训练范式通过一次又一次刷新各种评测基线证明了其卓越的学习与迁移能力。在这个过程中,研究者们发现通过不断地扩大模型参数便能持续提升深度学习模型的威力。然而,参数的指数级增长意味着模型体积增大、所需计算资源增多、计算耗时更长,而这无论出于业务线上响应效率的要求还是机器资源预算问题,都给大模型落地带来了极大的挑战。

如何选择最优模型?如何在保证效果的前提下压缩模型?如何适配 GPU、CPU 等多硬件的加速?如何在低资源场景下落地大模型?如何让加速工具触手可及?这是行业内亟待解决的课题。2022 年 6 月,文心大模型中的轻量化技术加持的多个文心 ERNIE 3.0 Tiny 轻量级模型(下文简称文心 ERNIE 3.0 Tiny v1)开源至飞桨自然语言处理模型库 PaddleNLP 中,该模型刷新了中文小模型的 SOTA 成绩,配套模型动态裁剪和量化推理方案,被学术与工业界广泛使用

108c16ea-b239-11ed-bfe3-dac502259ad0.png

图:GPU 下 ERNIE 3.0 Tiny 轻量级模型时延与效果图

图中,越偏左上方的模型越优秀,可以看到 ERNIE 3.0 轻量级模型在同等规模的开源模型中,综合实力领先其他同类型轻量级模型。与 RoBERTa-Base 相比,12L768H 的 ERNIE 3.0-Base 平均精度绝对提升了 1.9 个点,比同等规模的 BERT-Base-Chinese 提升 3.5 个点;6L768H 的 ERNIE 3.0-Medium 相比 12L768H 的 UER/Chinese-RoBERTa ,在节省一倍运算时间基础上,获得比两倍大的 RoBERTa 更好的效果。

近日,文心 ERNIE 3.0 Tiny 升级版–––文心 ERNIE 3.0 Tiny v2 也开源了!相较于 v1,文心 ERNIE 3.0 Tiny v2 在 Out-domain(域外数据)、Low-resource(小样本数据)的下游任务上精度显著提升,并且 v2 还开源了 3L128H 结构,5.99M 参数量的小模型,更适用于低资源场景。

10a4a160-b239-11ed-bfe3-dac502259ad0.png

表:ERNIE 3.0 Tiny v2 效果更优

文心 ERNIE 3.0 Tiny v2 包含一系列不同尺寸的中文预训练模型,方便不同性能需求的应用场景使用:

  • 文心ERNIE 3.0 Tiny-Base-v2(12-layer, 768-hidden, 12-heads)

  • 文心ERNIE 3.0 Tiny-Medium-v2(6-layer, 768-hidden, 12-heads)

  • 文心ERNIE 3.0 Tiny-Mini-v2(6-layer, 384-hidden, 12-heads)

  • 文心ERNIE 3.0 Tiny-Micro-v2(4-layer, 384-hidden, 12-heads)

  • 文心ERNIE 3.0 Tiny-Nano-v2(4-layer, 312-hidden, 12-heads)

  • 文心ERNIE 3.0 Tiny-Pico-v2(3-layer, 128-hidden, 2-heads)

除以上中文模型外,本次还发布了英文版文心 ERNIE 3.0 Tiny-Mini-v2,适用于各类英文任务。

在 PaddleNLP 中,可一键加载以上模型。

10f8e1e4-b239-11ed-bfe3-dac502259ad0.png

开源地址:https://github.com/PaddlePaddle/PaddleNLP/tree/develop/model_zoo/ernie-tiny

语义理解模型压缩、部署方案

由文心大模型蒸馏得到的文心 ERNIE 3.0 Tiny v2 可以直接在下游任务上微调应用,如果想要进一步压缩模型体积,降低推理时延,可使用 PaddleNLP 开源的语义理解模型压缩、部署方案。

结合飞桨模型压缩工具 PaddleSlim,PaddleNLP 发布了语义理解压缩、部署方案,包含裁剪、量化级联压缩,如下图所示:

1132a460-b239-11ed-bfe3-dac502259ad0.png

以上各类压缩策略以及对应的推理功能如果从零实现非常复杂,飞桨模型压缩工具库 PaddleSlim 和飞桨高性能深度学习端侧推理引擎 Paddle Lite 提供了一系列压缩、推理工具链。飞桨 AI 推理部署工具 FastDeploy 对其进一步封装,使开发者可以通过更简单的 API 去实现模型压缩、推理部署流程,适配多领域模型,并兼容多硬件。PaddleNLP 依托以上工具,提供 NLP 模型数据处理、训练、压缩、部署全流程的最佳实践。

基于 PaddleNLP 提供的的模型压缩 API,可大幅降低开发成本。压缩 API 支持对 ERNIE、BERT 等 transformer 类下游任务微调模型进行裁剪和量化。只需要简单地调用 compress()即可一键启动裁剪量化流程,并自动保存压缩后的模型。

1147773c-b239-11ed-bfe3-dac502259ad0.png

下面会对压缩方案(词表裁剪、模型宽度裁剪、量化感知训练、词表量化)与部署工具进行介绍。

词表裁剪

ERNIE 3.0 Tiny 预训练模型的词表参数量在总参数量中占比很大。在内存有限的场景下,推荐在下游任务微调之前,按照词频对词表进行裁剪,去除出现频次较低的词,这样能够减少分词后 [UNK] 的出现,使精度得到最大限度保持。例如,某数据集 4w 大小的词表,高频出现的词不到 1w 个,此时通过词表裁剪可以节省不少内存。

模型宽度裁剪

基于 DynaBERT 宽度自适应裁剪策略,通过知识蒸馏的方法,在下游任务中将 ERNIE 3.0 Tiny 的知识迁移到宽度更窄的学生网络中,最后得到效果与教师模型接近的学生模型。一般来说,对于 4 到 6 层的 NLU 模型,宽度裁剪 1/4 可基本保证精度无损。

量化感知训练

模型量化是一种通过将训练好的模型参数、激活值从 FP32 浮点数转换成 INT8 整数来减小存储、加快计算速度、降低功耗的模型压缩方法。目前主要有两种量化方法:

• 静态离线量化:使用少量校准数据计算量化信息,可快速得到量化模型;

• 量化感知训练:在模型中插入量化、反量化算子并进行训练,使模型在训练中学习到量化信息 。

11689de0-b239-11ed-bfe3-dac502259ad0.png

图:量化感知训练 vs 离线量化

在对 ERNIE 3.0 Tiny 的压缩中,更推荐使用量化感知训练的方式。通常情况下,使用量化感知训练的方法能够比使用静态离线量化取得更高的精度。这是因为在量化感知训练之前,压缩 API 在模型的矩阵乘算子前插入量化、反量化算子,使量化带来的误差可以在训练过程中被建模和优化,能够使模型被量化后精度基本无损。

Embedding 量化

为了能进一步节省显存占用,可对模型的 Embedding 权重进行 INT8量化,并将精度的损失保持在 0.5%之内。

部署

模型压缩后,精度基本无损。到此,算法侧的工作基本完成。为了进一步降低部署难度,可以使用飞桨 FastDeploy 对模型进行部署。

FastDeploy 是一款全场景、易用灵活、极致高效的 AI 推理部署工具,提供开箱即用的部署体验。FastDeploy 为 NLP 任务提供了一整套完整的部署 Pipeline,提供文心 ERNIE 3.0 Tiny 模型从文本预处理、推理引擎 Runtime 以及后处理三个阶段所需要的接口模块,开发者可以基于这些接口模块在云、边、端上部署各类常见的 NLP 任务,如文本分类、序列标注、信息抽取等。

FastDeploy 中的 Paddle Lite 后端基于算子融合和常量折叠对深度模型进行优化,无缝衔接了 Paddle Lite 的 FP16 和 INT8 的推理能力,可使模型推理速度大幅提升。其集成的高性能 NLP 处理库 FastTokenizer(视觉领域集成了高性能 AI 处理库 FlyCV),能够对分词阶段进行加速,适配 GPU、CPU 等多硬件。

FastDeploy 项目地址:https://github.com/PaddlePaddle/FastDeploy

文心大模型

随着数据井喷、算法进步和算力突破,效果好、泛化能力强、通用性强的预训练大模型(以下简称“大模型”),成为人工智能发展的关键方向与人工智能产业应用的基础底座。

百度文心大模型源于产业、服务于产业,是产业级知识增强大模型。百度通过大模型与国产深度学习框架融合发展,打造了自主创新的 AI 底座,大幅降低了 AI 开发和应用的门槛,满足真实场景中的应用需求,真正发挥大模型驱动 AI 规模化应用的产业价值。

119a7bee-b239-11ed-bfe3-dac502259ad0.png

文心大模型包含基础通用大模型及面向重点领域和重点任务的大模型,同时有丰富的工具与平台支撑高效便捷的应用开发。学习效率高,可解释性好,大幅降低AI开发与应用门槛。

从技术研发到落地应用,大模型的发展已经进入产业落地的关键期,欢迎前往文心大模型官网了解详情:https://wenxin.baidu.com/也欢迎使用NGC,体验文心大模型。

加入 PaddleNLP 技术交流群,体验 NVIDIA NGC + PaddleNLP

入群方式:微信扫描下方二维码,关注公众号,填写问卷后进入微信群随时进行技术交流。

11e3bd86-b239-11ed-bfe3-dac502259ad0.jpg  

NGC 飞桨容器介绍

如果您希望体验 PaddleNLP 的新特性,欢迎使用 NGC 飞桨容器。NVIDIA 与百度飞桨联合开发了 NGC 飞桨容器,将最新版本的飞桨与最新的NVIDIA的软件栈(如CUDA)进行了无缝的集成与性能优化,最大程度的释放飞桨框架在 NVIDIA 最新硬件上的计算能力。这样,用户不仅可以快速开启 AI 应用,专注于创新和应用本身,还能够在 AI 训练和推理任务上获得飞桨+NVIDIA 带来的飞速体验。

最佳的开发环境搭建工具 - 容器技术

  1. 容器其实是一个开箱即用的服务器。极大降低了深度学习开发环境的搭建难度。例如你的开发环境中包含其他依赖进程(redis,MySQL,Ngnix,selenium-hub等等),或者你需要进行跨操作系统级别的迁移

  2. 容器镜像方便了开发者的版本化管理

  3. 容器镜像是一种易于复现的开发环境载体

  4. 容器技术支持多容器同时运行

11fce748-b239-11ed-bfe3-dac502259ad0.png

最好的 PaddlePaddle 容器

NGC 飞桨容器针对 NVIDIA GPU 加速进行了优化,并包含一组经过验证的库,可启用和优化 NVIDIA GPU 性能。此容器还可能包含对 PaddlePaddle 源代码的修改,以最大限度地提高性能和兼容性。此容器还包含用于加速 ETL (DALI, RAPIDS),、训练(cuDNN, NCCL)和推理(TensorRT)工作负载的软件。

PaddlePaddle 容器具有以下优点:

  1. 适配最新版本的 NVIDIA 软件栈(例如最新版本CUDA),更多功能,更高性能

  2. 更新的 Ubuntu 操作系统,更好的软件兼容性

  3. 按月更新

  4. 满足 NVIDIA NGC 开发及验证规范,质量管理

通过飞桨官网快速获取

121200f6-b239-11ed-bfe3-dac502259ad0.png

环境准备

使用 NGC 飞桨容器需要主机系统(Linux)安装以下内容:

  • Docker 引擎

  • NVIDIA GPU 驱动程序

  • NVIDIA 容器工具包

有关支持的版本,请参阅 NVIDIA 框架容器支持矩阵 和 NVIDIA 容器工具包文档。

不需要其他安装、编译或依赖管理。无需安装 NVIDIA CUDA Toolkit。

NGC 飞桨容器正式安装:

要运行容器,请按照 NVIDIA Containers For Deep Learning Frameworks User’s Guide 中 Running A Container一章中的说明发出适当的命令,并指定注册表、存储库和标签。有关使用 NGC 的更多信息,请参阅 NGC 容器用户指南。如果您有 Docker 19.03 或更高版本,启动容器的典型命令是:

dockerrun--gpusall--shm-size=1g--ulimitmemlock=-1-it--rm
nvcr.io/nvidia/paddlepaddle:22.08-py3

*详细安装介绍 《NGC 飞桨容器安装指南》

https://www.paddlepaddle.org.cn/documentation/docs/zh/install/install_NGC_PaddlePaddle_ch.html

*详细产品介绍视频

【飞桨开发者说|NGC飞桨容器全新上线 NVIDIA产品专家全面解读】

https://www.bilibili.com/video/BV16B4y1V7ue?share_source=copy_web&vd_source=266ac44430b3656de0c2f4e58b4daf82

飞桨与 NVIDIA NGC 合作介绍

NVIDIA 非常重视中国市场,特别关注中国的生态伙伴,而当前飞桨拥有超过 535 万的开发者。在过去五年里我们紧密合作,深度融合,做了大量适配工作,如下图所示。

12452b52-b239-11ed-bfe3-dac502259ad0.png

今年,我们将飞桨列为 NVIDIA 全球前三的深度学习框架合作伙伴。我们在中国已经设立了专门的工程团队支持,赋能飞桨生态。

为了让更多的开发者能用上基于 NVIDIA 最新的高性能硬件和软件栈。当前,我们正在进行全新一代 NVIDIA GPU H100 的适配工作,以及提高飞桨对 CUDA Operation API 的使用率,让飞桨的开发者拥有优秀的用户体验及极致性能。

以上的各种适配,仅仅是让飞桨的开发者拥有高性能的推理训练成为可能。但是,这些离行业开发者还很远,门槛还很高,难度还很大。

为此,我们将刚刚这些集成和优化工作,整合到三大产品线中。其中 NGC 飞桨容器最为闪亮。

NVIDIA NGC Container – 最佳的飞桨开发环境,集成最新的 NVIDIA 工具包(例如 CUDA)

126a6b06-b239-11ed-bfe3-dac502259ad0.png

12a4463c-b239-11ed-bfe3-dac502259ad0.png

点击 “阅读原文” 或扫描下方海报二维码,即可免费注册 GTC23,在 3 月 24 日 听 OpenAI 联合创始人与 NVIDIA 创始人的炉边谈话,会议将由 NVIDIA 专家主持,配中文讲解和实时答疑,一起看 AI 的现状和未来!


原文标题:ERNIE 3.0 Tiny新模型,压缩部署“小”“快”“灵”!欢迎在 NGC 飞桨容器中体验 PaddleNLP 最新版本

文章出处:【微信公众号:NVIDIA英伟达企业解决方案】欢迎添加关注!文章转载请注明出处。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 英伟达
    +关注

    关注

    23

    文章

    4039

    浏览量

    97646

原文标题:ERNIE 3.0 Tiny新模型,压缩部署“小”“快”“灵”!欢迎在 NGC 飞桨容器中体验 PaddleNLP 最新版本

文章出处:【微信号:NVIDIA-Enterprise,微信公众号:NVIDIA英伟达企业解决方案】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    如何使用新版本J-Flash编程CW32 MCU

    1、从Segger公司官网下载安装最新版本JLink驱动,比如V7.96a,安装目录下没有JLinkDevices.xml文件。 2、C:Users<用户名>
    发表于 11-12 07:24

    最新版本qemu编译不过怎么解决?

    最新版源码 qemu-vexpress-a9编译不过了。提示RT_PAGE_AFFINITY_BLOCK_SIZE 未定义
    发表于 09-24 07:20

    深瞳视觉基础模型Glint-MVT升级

    近日,格深瞳灵感实验室和华为伦敦研究所发布最新版视觉基础模型——Glint-MVT v1.5(RICE)。
    的头像 发表于 07-31 11:01 1199次阅读
    格<b class='flag-5'>灵</b>深瞳视觉基础<b class='flag-5'>模型</b>Glint-MVT升级

    戴尔数据保护软件迎来全新版本

    无缝运行的异常检测,一站式监控多达150个系统,额外的MFA多重身份验证Dell PowerProtect Data Manager19.19全新版本现已到来!
    的头像 发表于 06-27 13:55 692次阅读

    软件更新 | 从数据到模型,全面升级!TSMaster新版助力汽车研发新突破

    为满足汽车电子开发领域日益增长的测试与仿真需求,TSMaster最新版本聚焦实车数据采集、MBD智能建模与新API扩展三大核心功能。无论您是进行车载网络测试、ECU开发还是自动化验证,新版本都能
    的头像 发表于 06-21 20:04 1141次阅读
    软件更新 | 从数据到<b class='flag-5'>模型</b>,全面升级!TSMaster<b class='flag-5'>新版</b>助力汽车研发新突破

    网络传输利器索尼NXL-ME80 V1.2新版本发布

    网络传输利器NXL-ME80,凭借着高画质、高压缩比、低延时、高密度轻巧机箱,高冗余能力,一经上市就收到全球客户的大量好评。基于用户反馈和市场需求,NXL-ME80新版本V1.2强势来袭,必将为使用者带来更好的体验。
    的头像 发表于 04-23 14:37 871次阅读
    网络传输利器索尼NXL-ME80 V1.2<b class='flag-5'>新版本</b>发布

    燧原科技正式纳入例行版本发布体系

    燧原科技与经过长时间的适配合作和持续集成(CI)建设,对合⼊的每⼀行代码都在燧原硬件上进⾏了验证。如今,燧原正式纳入
    的头像 发表于 04-11 11:31 821次阅读
    燧原科技正式纳入<b class='flag-5'>飞</b><b class='flag-5'>桨</b>例行<b class='flag-5'>版本</b>发布体系

    百度框架3.0正式版发布

    、推理等任务都离不开深度学习框架的优化与支撑。 框架3.0,从设计理念上实现了从底层硬件适配到顶层开发体验的全面进化,训练效率、性能、兼容性等关键指标上建立了新标杆。 其中, “
    的头像 发表于 04-02 19:03 1040次阅读
    百度<b class='flag-5'>飞</b><b class='flag-5'>桨</b>框架<b class='flag-5'>3.0</b>正式版发布

    使用Mickledore生成BSP,移动到最新版本的Scarthgap v6.6.52时,驱动程序未构建,怎么解决?

    当我使用 Mickledore 生成 BSP 时,moal.ko WIFI 驱动程序是自动构建的,并且位于 /lib/modules/ 中,并且 WIFI 可以正常工作。 当我移动到最新版本
    发表于 03-27 06:49

    win7 64位系统STM32CubeMX安装完成后数据包无法升级到最新版本,怎么解决?

    win7 64位系统 STM32CubeMX安装完成后数据包无法安装,安装较低版本后又无法升级到最新版本,这个界面出现闪退,无法输入用户名和密码,导致无法升级。也试过下载STM32Cube FW
    发表于 03-10 07:04

    Power Integrations发布MotorXpert™ v3.0软件

    近日,加利福尼亚州圣何塞——专注于高压集成电路高能效功率变换领域的领先企业Power Integrations(纳斯达克股票代号:POWI)今日宣布,其最新版本的MotorXpert™软件
    的头像 发表于 02-19 18:10 1054次阅读

    如何在C#中部署PP-OCRv4模型

    《超4万6千星的开源OCR黑马登场,PaddleOCR凭什么脱颖而出?》收到了读者热烈反响c,很多读者提出:如何在C#中部署PP-OCRv4模型?本文从零开始详细介绍整个过程。
    的头像 发表于 02-17 10:58 2642次阅读
    如何在C#中<b class='flag-5'>部署</b><b class='flag-5'>飞</b><b class='flag-5'>桨</b>PP-OCRv4<b class='flag-5'>模型</b>

    使用OpenVINO C# API轻松部署PP-OCRv4模型

    ​ 作者:算力魔方创始人/英特尔创新大使刘力 《超4万6千星的开源OCR黑马登场,PaddleOCR凭什么脱颖而出?》 收到了读者热烈反响,很多读者提出:如何在C#中部署PP-OCRv4
    的头像 发表于 02-12 10:42 2017次阅读
    使用OpenVINO C# API轻松<b class='flag-5'>部署</b><b class='flag-5'>飞</b><b class='flag-5'>桨</b>PP-OCRv4<b class='flag-5'>模型</b>

    新版本 IDE 的启动速度变快了?原来是背后做了这些!

    新版本 IntelliJ IDEA 中为提高性能而采取的措施,这些措施缩短了代码可交互时间并使 IDE 从启动开始就具有更高的响应速度。
    的头像 发表于 01-24 13:49 754次阅读
    <b class='flag-5'>新版本</b> IDE 的启动速度变快了?原来是<b class='flag-5'>在</b>背后做了这些!

    高通推出Qualcomm Aware平台最新版本

    CES 2025上,高通技术公司宣布推出Qualcomm Aware平台的最新版本,这一基于云的服务平台支持企业为物流、零售、能源、智能家居和机器人等行业的智能网联终端增加可观测性、监测和定位功能
    的头像 发表于 01-07 10:36 1306次阅读