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 成績,配套模型動態裁剪和量化推理方案,被學術與工業界廣泛使用。
圖: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 參數量的小模型,更適用于低資源場景。
表: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 中,可一鍵加載以上模型。
開源地址:https://github.com/PaddlePaddle/PaddleNLP/tree/develop/model_zoo/ernie-tiny
語義理解模型壓縮、部署方案
由文心大模型蒸餾得到的文心 ERNIE 3.0 Tiny v2 可以直接在下游任務上微調應用,如果想要進一步壓縮模型體積,降低推理時延,可使用 PaddleNLP 開源的語義理解模型壓縮、部署方案。
結合飛槳模型壓縮工具 PaddleSlim,PaddleNLP 發布了語義理解壓縮、部署方案,包含裁剪、量化級聯壓縮,如下圖所示:
以上各類壓縮策略以及對應的推理功能如果從零實現非常復雜,飛槳模型壓縮工具庫 PaddleSlim 和飛槳高性能深度學習端側推理引擎 Paddle Lite 提供了一系列壓縮、推理工具鏈。飛槳 AI 推理部署工具 FastDeploy 對其進一步封裝,使開發者可以通過更簡單的 API 去實現模型壓縮、推理部署流程,適配多領域模型,并兼容多硬件。PaddleNLP 依托以上工具,提供 NLP 模型數據處理、訓練、壓縮、部署全流程的最佳實踐。
基于 PaddleNLP 提供的的模型壓縮 API,可大幅降低開發成本。壓縮 API 支持對 ERNIE、BERT 等 transformer 類下游任務微調模型進行裁剪和量化。只需要簡單地調用 compress()即可一鍵啟動裁剪量化流程,并自動保存壓縮后的模型。
下面會對壓縮方案(詞表裁剪、模型寬度裁剪、量化感知訓練、詞表量化)與部署工具進行介紹。
詞表裁剪
ERNIE 3.0 Tiny 預訓練模型的詞表參數量在總參數量中占比很大。在內存有限的場景下,推薦在下游任務微調之前,按照詞頻對詞表進行裁剪,去除出現頻次較低的詞,這樣能夠減少分詞后 [UNK] 的出現,使精度得到最大限度保持。例如,某數據集 4w 大小的詞表,高頻出現的詞不到 1w 個,此時通過詞表裁剪可以節省不少內存。
模型寬度裁剪
基于 DynaBERT 寬度自適應裁剪策略,通過知識蒸餾的方法,在下游任務中將 ERNIE 3.0 Tiny 的知識遷移到寬度更窄的學生網絡中,最后得到效果與教師模型接近的學生模型。一般來說,對于 4 到 6 層的 NLU 模型,寬度裁剪 1/4 可基本保證精度無損。
量化感知訓練
模型量化是一種通過將訓練好的模型參數、激活值從 FP32 浮點數轉換成 INT8 整數來減小存儲、加快計算速度、降低功耗的模型壓縮方法。目前主要有兩種量化方法:
? 靜態離線量化:使用少量校準數據計算量化信息,可快速得到量化模型;
? 量化感知訓練:在模型中插入量化、反量化算子并進行訓練,使模型在訓練中學習到量化信息 。
圖:量化感知訓練 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 規模化應用的產業價值。
文心大模型包含基礎通用大模型及面向重點領域和重點任務的大模型,同時有豐富的工具與平臺支撐高效便捷的應用開發。學習效率高,可解釋性好,大幅降低AI開發與應用門檻。
從技術研發到落地應用,大模型的發展已經進入產業落地的關鍵期,歡迎前往文心大模型官網了解詳情:https://wenxin.baidu.com/。也歡迎使用NGC,體驗文心大模型。
加入 PaddleNLP 技術交流群,體驗 NVIDIA NGC + PaddleNLP
入群方式:微信掃描下方二維碼,關注公眾號,填寫問卷后進入微信群隨時進行技術交流。
?
NGC 飛槳容器介紹
如果您希望體驗 PaddleNLP 的新特性,歡迎使用 NGC 飛槳容器。NVIDIA 與百度飛槳聯合開發了 NGC 飛槳容器,將最新版本的飛槳與最新的NVIDIA的軟件棧(如CUDA)進行了無縫的集成與性能優化,最大程度的釋放飛槳框架在 NVIDIA 最新硬件上的計算能力。這樣,用戶不僅可以快速開啟 AI 應用,專注于創新和應用本身,還能夠在 AI 訓練和推理任務上獲得飛槳+NVIDIA 帶來的飛速體驗。
最佳的開發環境搭建工具 - 容器技術
-
容器其實是一個開箱即用的服務器。極大降低了深度學習開發環境的搭建難度。例如你的開發環境中包含其他依賴進程(redis,MySQL,Ngnix,selenium-hub等等),或者你需要進行跨操作系統級別的遷移
-
容器鏡像方便了開發者的版本化管理
-
容器鏡像是一種易于復現的開發環境載體
-
容器技術支持多容器同時運行
最好的 PaddlePaddle 容器
NGC 飛槳容器針對 NVIDIA GPU 加速進行了優化,并包含一組經過驗證的庫,可啟用和優化 NVIDIA GPU 性能。此容器還可能包含對 PaddlePaddle 源代碼的修改,以最大限度地提高性能和兼容性。此容器還包含用于加速 ETL (DALI, RAPIDS),、訓練(cuDNN, NCCL)和推理(TensorRT)工作負載的軟件。
PaddlePaddle 容器具有以下優點:
-
適配最新版本的 NVIDIA 軟件棧(例如最新版本CUDA),更多功能,更高性能
-
更新的 Ubuntu 操作系統,更好的軟件兼容性
-
按月更新
-
滿足 NVIDIA NGC 開發及驗證規范,質量管理
通過飛槳官網快速獲取
環境準備
使用 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 萬的開發者。在過去五年里我們緊密合作,深度融合,做了大量適配工作,如下圖所示。
今年,我們將飛槳列為 NVIDIA 全球前三的深度學習框架合作伙伴。我們在中國已經設立了專門的工程團隊支持,賦能飛槳生態。
為了讓更多的開發者能用上基于 NVIDIA 最新的高性能硬件和軟件棧。當前,我們正在進行全新一代 NVIDIA GPU H100 的適配工作,以及提高飛槳對 CUDA Operation API 的使用率,讓飛槳的開發者擁有優秀的用戶體驗及極致性能。
以上的各種適配,僅僅是讓飛槳的開發者擁有高性能的推理訓練成為可能。但是,這些離行業開發者還很遠,門檻還很高,難度還很大。
為此,我們將剛剛這些集成和優化工作,整合到三大產品線中。其中 NGC 飛槳容器最為閃亮。
NVIDIA NGC Container – 最佳的飛槳開發環境,集成最新的 NVIDIA 工具包(例如 CUDA)
點擊 “閱讀原文” 或掃描下方海報二維碼,即可免費注冊 GTC23,在 3 月 24 日 聽 OpenAI 聯合創始人與 NVIDIA 創始人的爐邊談話,會議將由 NVIDIA 專家主持,配中文講解和實時答疑,一起看 AI 的現狀和未來!
原文標題:ERNIE 3.0 Tiny新模型,壓縮部署“小”“快”“靈”!歡迎在 NGC 飛槳容器中體驗 PaddleNLP 最新版本
文章出處:【微信公眾號:NVIDIA英偉達企業解決方案】歡迎添加關注!文章轉載請注明出處。
-
英偉達
+關注
關注
22文章
3748瀏覽量
90836
原文標題:ERNIE 3.0 Tiny新模型,壓縮部署“小”“快”“靈”!歡迎在 NGC 飛槳容器中體驗 PaddleNLP 最新版本
文章出處:【微信號:NVIDIA-Enterprise,微信公眾號:NVIDIA英偉達企業解決方案】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論