作爲近十幾年人工智能最熱門的研究領域之一,深度學習取得的突破進展有目共睹,甚至影響到人工智能行業整體的發展基礎。4月26日,2021年ArchSummit全球架構師峯會在上海召開,百度舉辦“深度學習技術解讀與實踐”專場,多位飛槳技術專家分享了核心框架2.0、開源模型庫、分佈式訓練技術、以及AI開發平臺的技術實踐經驗。


據瞭解,ArchSummit全球架構師峯會是重點面向高端技術管理者、架構師的技術會議,54%參會者擁有8年以上工作經驗。會議聚焦業界強大的技術成果,展示先進技術在行業中的典型實踐,以及技術在企業轉型、發展中的推動作用。
深度學習技術的廣泛應用得益於深度學習框架的建設。深度學習框架在智能時代起到了承上啓下的作用,下接芯片,上承各種應用,是“智能時代的操作系統”。而我國首個自主研發的產業級深度學習平臺飛槳,已涵蓋深度學習核心框架、基礎模型庫、端到端開發套件、工具組件以及飛槳企業版AI開發平臺,能夠助力開發者快速實現 AI業務創新,上線 AI 應用。

(飛槳產業級深度學習平臺全景圖)
飛槳核心框架2.0與開源模型庫解讀
活動當天,百度傑出研發架構師從飛槳的核心技術,飛槳核心框架2.0版本的升級特色,以及飛槳的產業級官方模型庫的能力和產業應用案例進行介紹。整體而言,飛槳訓練時以Python爲主,擁有非常簡單易用的編程界面,提供了多語言部署接口,可以順暢部署到各種各樣的研發環境。相對於其他框架,飛槳具備以下四大優勢:
開發便捷的深度學習框架:提供了易用的API,在飛槳框架2.0 API中表現明顯;
超大規模深度學習模型訓練技術:天然提供超大規模深度學習的模型訓練技術,包括異構參數服務器、多維混合並行等等方面;
多端多平臺部署的高性能推理引擎:飛槳模型在經過開發之後,會經過模型壓縮、量化、蒸餾等優化的策略,能夠在服務器端、移動端、網頁端等不同架構的平臺設備輕鬆部署。
產業級的開源模型庫
開源豐富算法和預訓練模型,包括國際競賽冠軍模型,快速助力產業應用。
今年初,飛槳框架2.0正式版發佈。飛槳框架2.0的性能和效率明顯提升,主要表現在以下方面:
動靜統一的開發體驗
飛槳框架2.0支持動態圖和靜態圖兩種開發模式,在API設計的時候,保持靜態圖和動態圖組網類API的統一,通過添加一行代碼,即可使得相同的網絡在動態圖和靜態圖兩種模式下執行。動靜統一的接口設計,使得飛槳在保持動態圖的靈活性的同時,兼具靜態圖的高效。飛槳提供了全面完備的動轉靜支持,在Python語法支持覆蓋度上達到領先水平。開發者在動態圖編程調試的過程中,僅需添加一個裝飾器,即可實現靜態圖訓練或模型保存。同時飛槳框架2.0還做到了模型存儲和加載的接口統一,保證動轉靜之後保存的模型文件能夠在動、靜態圖模式中加載和使用。
高低融合的API體系
飛槳框架2.0不僅完全兼容歷史版本,配套完善文檔和教程。高層API與基礎API還採用一體化設計,即在編程過程中可以同時使用高層API與基礎API,讓用戶在簡捷開發與精細化調優之間自由定製。

此外,飛槳官方支持超過270個經過產業實踐長期打磨的主流算法模型,涵蓋計算機視覺、自然語言處理、語音、推薦等多個領域,其中包含在圖神經網絡國際權威榜單OGB(Open Graph Benchmark)和文本圖推理比賽TextGraphs2020取得4項第一的飛槳圖學習框架(PGL)、頂會ECCV 2020比賽中斬獲兩個賽道冠軍的PaddleDetection等多個比賽奪冠模型。

飛槳模型庫具備很好的敏捷性,針對不同任務還提供了豐富的開發套件,除了圖像分類套件PaddleClas,還有包括目標檢測開發套件PaddleDetection、PaddleOCR開發套件、圖像分割開發套件PaddleSeg等等,覆蓋全面、應用效果顯著。
飛槳分佈式訓練技術架構剖析
當需要大規模的數據或使用大規模參數量進行模型訓練時,百度資深研發工程師還向大家介紹了飛槳深度學習平臺的分佈式訓練技術。其支持面對海量數據、大規模稀疏模型以及常規數據、大規模稠密模型的訓練,並提出了參數服務器模型和集合通信模式,兩個模式分別具備相應的優勢:
參數服務器模式 (ParameterServer)
特點:中心化參數存儲 + 同步當前節點的梯度
常見應用場景:IO密集型任務(數據大、參數稀疏),如點擊率預估
集合通信模式 (Collective)
特點:去中心化參數存儲 + 同步所有節點的梯度
常見應用場景:訓練密集型任務,如圖像分類
在實際操作中,飛槳分佈式訓練框架包括三層:
硬件部署層:支持CPU、GPU,還有如百度的崑崙、華爲的昇騰等國產AI芯片。針對原生的K8S,或者是各種雲都具備調度功能。
核心框架層:從硬件逐漸到基礎框架,再到二次開發的開發者層面、API層面,逐漸自下往上的過程。
應用產業層:支持各種不同的業務、提供不同飛槳開發套件支持。

而在飛槳框架2.0升級之後,飛槳分佈式訓練又具備了更多的新特性:
分佈式API Fleet全面升級
飛槳將一些主流的訓練模式,包括集合通信訓練和參數服務器訓練,做成統一的Fleet API(paddle.distributed.fleet),並在集合通信訓練功能下實現了動態圖和靜態圖訓練API的統一。
通用異構參數服務器
通用異構參數服務器可以對任務進行切分,讓用戶可以在硬件異構集羣中部署分佈式訓練任務,實現對不同算力的芯片高效利用,爲用戶提供更高吞吐,更低資源消耗的訓練能力。

千億語言模型多維混合並行訓練
飛槳可以支持對四種不同並行策略的任意選擇組合,充分考慮顯存、帶寬,並結合每一種硬件的特性和策略通訊量組合策略,降低超大規模的計算耗時,同時保證模型效果。

百度AI開發平臺的探索與實踐
除了架構與技術上的優勢與創新經驗外,根據百度與波士頓諮詢公司的聯合調研中,發現市場上約86%的企業需求都是定製化的AI需求,從平臺在2017年到2020年四年的數據也可以看出,定製化模型翻了六倍,整個產業的智能化正在跟AI技術做深度結合,這個需求也在不斷地增長。
爲了解決AI開發上的困難和挑戰,並且滿足企業針對場景的定製化應用需求,百度推出飛槳企業版,包括面向AI應用開發者打造的零門檻AI開發平臺EasyDL和麪向AI算法開發者的全功能AI開發平臺BML。

面向AI應用開發者的平臺——EasyDL
截止目前EasyDL已有超過80萬企業用戶,落地智能硬件、零售快消、安全生產等行業。EasyDL最快15分鐘即可獲取定製 AI 服務,滿足AI應用開發者的核心訴求:
豐富任務場景:支持圖像、文本、視頻、語音、OCR、結構化數據、零售行業版7大技術方向,圖像分類、視頻分類、情感傾向分析、OCR模版定製、語音識別、時序預測、商品檢測等16種任務類型。
便捷的數據服務:提供了EasyData智能數據服務,實現數據採集、評估、清洗、標註的一站式服務。極大降低用戶獲取與處理數據的成本。
超高精度訓練效果:EasyDL內置了百度自研的超大規模視覺預訓練模型和自然語言處理的預訓練模型文心(ERNIE)2.0,對比開源數據集訓練的預訓練模型可以有效全面提升模型效果。
靈活部署方案:提供了公有云 API、本地服務器部署、設備端 SDK、軟硬一體產品四大部署方式。在設備端 SDK上,適配了超過15種主流芯片與四大操作系統,實現了業界適配最廣。軟硬一體產品上,提供6款方案,模型識別速度最高達10倍提升。
面向AI算法開發者的平臺——BML
BML具有以下四個核心優勢,建模方式全面、自動搜索調優、靈活交付部署、提供多種國產化的解決方案,爲企業提供自主可控廣泛適配的AI開發平臺。
建模方式全面:BML提供預置模型調參、Notebook、多種框架的代碼開發、可視化建模等多種建模方式。
自動搜索調優:BML提供的自動超參搜索功能是創新基於隨機微分方程的無梯度優化的調參算法,收斂速度快,不依賴平滑性假設,並且可以支持大規模的並行搜索調參。在開啓自動超參搜索之後,BML線上多場景的模型精度平均可提升10%以上。
靈活交付部署:BML有四種滿足不同需求的交付方式,包括公有云、私有云、混合雲、一體機。
國產化的解決方案:BML全面支持從國產深度學習框架飛槳,到麒麟等國產操作系統,再到國產CPU和GPU以及長城、曙光、聯想、浪潮推出的各類硬件形態,構成了自主可控、適配廣泛的BML一體機,高性價比的算力資源滿足各類算力需求。


從全球架構師峯會上百度技術專家的分享可以看出,作爲擁有強大互聯網基礎的領先 AI 公司,百度正不斷突破關鍵技術,開源開放,生態共建,推動企業贏得產業智能化大勢商機。隨着AI業務的需求量、應用場景增多,未來在飛槳這類深度學習平臺的作用下智能經濟時代也將加速而來。

相關文章