11 月 5 日,在 Wave Summit+2019 深度學習開發者峰會上,飛槳全新發布和重要升級了最新的 21 項進展,在深度學習開發者社區引起了巨大的反響。
很多未到場的開發者覺得遺憾,希望可以了解飛槳發布會背后的更多技術細節,因此我們特別策劃了一個系列稿件,分別從核心框架、基礎模型庫、端到端開發套件、工具組件和服務平臺五個層面分別詳細解讀飛槳的核心技術與最新進展,敬請關注。
今天給大家帶來的是系列文章之飛槳的端到端開發套件解讀。
飛槳全新發布包含語義理解(ERNIE),目標檢測(PaddleDetection),圖像分割(PaddleSeg)和點擊率預估(ElasticCTR)四大端到端開發套件,旨在通過模塊化的設計和端到端的體驗,滿足企業低成本開發和快速集成需求。核心內容3503字,預計閱讀時間4分鐘。
1.端到端開發套件的初心
飛槳發布端到端開發套件的初心,是為了更好滿足開發者的低開發成本、快速集成需求而來的。開發者的時間、人力非常寶貴,效率提升非常重要。為了要解放開發者勞動力,降低開發的成本,同時能夠快速的集成和部署,飛槳推出了端到端開發套件。
端到端開發套件具有以下三個通用特點:一是滿足真正的工業場景中性能要求,保持性能領先;二是開發簡單易用,高效解決問題;三是打通端到端流程,落地高效易部署。
對于端到端體驗的流程中,數據處理也是非常重要的環節,飛槳通過扎實打通端到端流程,模塊和的設計,提供一系列的工具箱輔助開發者去解決。目前發布的四大端到端開發套件,非常具有典型性,可以覆蓋主流一大部分任務。
2. 四大開發套件詳細解讀2.1.ERNIE 語義理解
ERNIE 全景圖,預置了包含 ERNIE 通用模型、ERNIE 任務模型、ERNIE 領域模型以及本次發布的 ERNIE Tiny 輕量級模型等系列預訓練模型。在此基礎上,構建了包含工具和平臺的飛槳語義理解開發套件。全面覆蓋了訓練、調優、部署等開發流程,具備輕量方案、能力全面、極速預測、部署靈活、平臺賦能等五大特色。
今年7月份,百度發布持續學習語義理解框架 ERNIE 2.0,在共計 16 個中英文任務上超越 BERT、XLNET,取得了 SOTA 的效果。同時ERNIE 2.0 發布以來,ERNIE 產業化應用進程不斷加速,易用性不斷提升,配套產品也不斷豐富和完善。目前ERNIE 2.0 在百度內部及行業內已取得了廣泛應用,在多種場景下都取得了明顯效果提升。這些場景的成功運用為ERNIE產業化應用積累了豐富的經驗。
特色1:輕量級解決方案,預測速度提升 1000 倍
ERNIE 2.0 擁有強大的語義理解能力,而這些能力需要強大的算力才能充分發揮,這為實際應用帶來了非常大的挑戰。為此,百度發布輕量級預訓練模型 ERNIE Tiny 以及一鍵式數據蒸餾工具 ERNIE Slim,預測速度提升達到 1000 倍。
特色 2:一鍵式高性能全類微調工具
ERNIE Fine-tune 微調工具旨在為給開發者提供一套簡單好用的 Fine-tune 框架,目前覆蓋 NLP 四大常用任務:單句分類、句對匹配、命名實體識別、閱讀理解。工具集支持多機多卡Fine-tune,同時使用 FP16 Tensor Core 技術在 Tesla V 系列 GPU 上獲得60% 的訓練速度提升。
特色 3:極速預測 API
ERNIE Fast-inference API 旨在解決產品應用的延遲敏感場景,為企業開發者提供極速預測的C++ API,便于開發者集成。該工具也充分借助了最新版飛槳的高速預測優勢,飛槳 1.6 通過 OP 聚合算法,有效加速了 ERNIE 的預測。
在延遲敏感場景下,對比競品在 GPU(P4) 設備 21% 的延遲降低,ERNIE Fast-inference API 在 CPU(Intel Xeon Gold 6148 CPU)設備上延遲降低 60%。
特色 4:向量服務器,支持跨平臺靈活部署
為進一步降低開發者使用成本,套件提供預測服務方案——ERNIE Service,來方便獲取 ERNIE 模型的向量分布以及預測打分。
ERNIE Service 是基于 Python 構建的多 GPU 預測服務,Client 端發送的請求會自動分發至 GPU 上執行 ERNIE Fast-inference API 來獲取 ERNIE 向量及打分。目前 ERNIE Service 支持不同平臺、不同設備、不同語言的靈活調用,具備預測性能高等特點,相比競品 BERT-as-service 在 QPS 上提升 13%。
特色 5:平臺賦能
此外,套件還包含了 ERNIE 的平臺化使用方案,開發者可通過 EasyDL 專業版一站式完成 NLP 任務的數據標注、處理、ERNIE 微調、優化、部署等全流程的功能,為開發者提供豐富的算法、算力服務,進一步降低ERNIE 的產業化應用門檻。平臺預置了常用的 NLP 文本分類、文本匹配等經典網絡,能夠快速滿足多層次開發者的需求。
綜合來看,ERNIE的語義理解開發套件依托百度在預訓練模型等自然語言處理技術和飛槳平臺領先優勢,為人工智能產業化大生產貢獻力量,賦能各行各業。
2.2.PaddleDetection 圖像分割
在計算機視覺領域,圖像分割有非常廣泛應用的場景。基于這樣背景,飛槳開發了圖像分割開發套件PaddleSeg,目標是降低開發門檻,更容易實現產業落地。圖像分割開發套件基于飛槳的核心框架,主要做了以下方向的建設:一是數據增強,將工業級常用分割算法開放出來;二是在模型層使用模塊化的設計,將整個分割的模型拆分成三塊,包括骨干網絡、分割網絡和模型損失函數。拆解之后,可以讓這些模塊自由組合,能夠解決特定場景的問題。三是在訓練場景上,PaddleSeg里面做了大量性能方面的優化,在顯存優化和預測速度上都做了大量的工作。四是易用性方面,通過實際的項目打磨驗證,找到使用過程當中的痛點并且解決掉。訓練模型工業級部署,開發套件也做了集成,可以幫助廣泛開發者使用。
特色1:豐富的數據增強
PaddleSeg提供10余種數據增強的策略,有效的訓練數據,大幅度提升模型的魯棒性,開發者可以根據實際的場景進行靈活組合,根據實際場景進行選用,讓整個分割模型應用泛化能力更強。
特色2:模塊化的設計
整個PaddleSeg開發套件都是模塊化設計的,無論是數據增強模塊里面的多種增強算法,主干網絡的多種Backbone模塊選擇,都可以讓開發者更好的根據實際業務場景需求使用。分割網絡包含了目前的4種主流網絡:醫療領域常見的U-Net,經典的DeepLabV3,面向實時場景的分割模型ICNet等。同時對于損失函數的模塊化設計,也可以更好的提升各個分類場景下的分割精度,例如小目標分割的效果。
特色3:高性能
PaddleSeg在性能優化方面開展了很多工作。包括訓練速度提升、GPU利用率提升以及顯存性能優化。同時支持較新的FP16混合精度的訓練。特別的,對于動態的Loss Scaling,在不損失精度的情況下,性能可以有30%的提升。PaddleSeg在英偉達特斯拉V100卡上,單卡訓練速度是對標產品的2.3倍,多卡上是對標產品的3.1倍。
特色4:工業級部署
根據產業的需求,PaddleSeg開發了高性能的C++預測庫。在多線程計算優化、算子硬件加速方面,而且依托于真實的項目實踐驗證做了大量優化工作,真正滿足工業級部署需求。
PaddleSeg目前已經在廣泛場景中應用,無論是工業質檢中的精密零件的智能分揀,以及經典的人像分割場景的應用,還有遙感領域的地塊分割,都可以很好的輔助完成行業的AI賦能。
2.3.PaddleDetection 目標檢測
PaddleDetection是基于飛槳核心框架,結合百度科研和業務的需求,構建的目標檢測開發套件。從全景圖可以看到,套件中主要不僅包含各個檢測算法實現,而且提供一系列的優化組件,以及更好的輔助調試的可視化的模塊。同時,還提供了加速訓練相關的混合精度的訓練模塊以及豐富的算法組件。
特點1:模型豐富
在算法層面,PaddleDetection支持了目前常用的主流檢測算法,單階段檢測算法包括:SSD,RetinaNet,YOLOv3,兩階段檢測算法包括:Faster-RCNN,Mask-RCNN,Cascade-RCNN,支持兩階段的FPN。在主干網、數據增強、在預訓練模型方面,都提供了很好的支持。
本次發布還進一步增強了YOLOv3,基于COCO的mAP再進一步提升至41.4%,GPU上的推理速度進一步提升。本次還發布了BlazeFace等系列人臉檢測模型,同時還發布了自研的搜索版本BlazeFace,模型大小壓縮三倍的情況下,大幅提升預測速度。特別強調一下,預訓練模型中的行人檢測和車輛檢測的模型,是基于百度內部的業務數據得到效果不錯的模型,值得推薦。
特點2:高性能
PaddleDetection在訓練速度、訓練顯存和推理速度上,大部分模型都優于對標產品的性能。
特點3:工業級部署
PaddleDetection基于飛槳高性能的引擎,提供了一套完備的部署方案。對于Linux和Windows都提供了良好的支持,GPU預測底層支持TensorRT加速以及FP16預測。CPU底層支持使用MKLDNN加速。再加上PaddleSlim提供的模型壓縮策略,可以提供更小的模型和更快的速度,滿足工業級部署的需求。
PaddleDetection目前已經廣泛的在智慧交通、安防監控和商品檢索上實現落地引用,并且取得了良好的應用效果。
2.4.ElasticCTR 點擊率預估
ElasticCTR個性化預估,是工業推薦場景下的常見需求,與工業實踐的關聯度非常高。以飛槳核心框架為核心,ElasticCTR實現了大量的技術突破:通過與資源調度平臺深度集成提高資源調度的效率;在分布式訓練的環節,提供全異步的參數服務器方案、流式訓練和高性能的IO接口;最終,通過高性能的KV預估和一鍵部署工具實現工業級部署。
ElasticCTR源自真實產業實踐,與原生K8S無縫結合,通過針對深度學習任務進行彈性調度的處理,可以大幅節約資源消耗。性能方面,全異步分布式CPU訓練速度是對標產品的6倍,工業級部署性能是對標產品的13倍,非常適合大規模CTR的應用場景。
想與更多的深度學習開發者交流,請加入飛槳官方QQ群:796771754。
如果您想詳細了解更多飛槳PaddlePaddle的相關內容,請參閱以下文檔。
官網地址:https://paddlepaddle.org/
項目地址:
ERNIE語義理解:
https://github/PaddlePaddle/ERNIE
PaddleSeg圖像分割:
https://github/PaddlePaddle/PaddleSeg
PaddleDetection目標檢測:
https://github/PaddlePaddle/PaddleDetection
ElasticCTR個性化預估:
https://paddlepaddle.github.io/Serving/doc/ELASTIC_CTR.html
飛槳系列文章之核心框架揭秘(點擊查看)
飛槳系列文章之基礎模型庫解讀(點擊查看)
— 完—
大咖齊聚!參會嘉賓重磅揭曉
量子位 MEET 2020 智能未來大會啟幕,李開復、倪光南、景鯤、周伯文、吳明輝、曹旭東、葉杰平、唐文斌、王硯峰、黃剛、馬原等AI大咖與你一起讀懂人工智能。觀眾票即將售罄,掃碼報名預定席位 ~
量子位 QbitAI · 頭條號簽約作者
?'?' ? 追蹤AI技術和產品新動態
喜歡就點「在看」吧 !


