深度学习平台的未来:谁会赢得下半场?
今天這篇文章無意引戰,只想從歷史發展的角度來談談深度學習大背景下的開發工具變遷,以及對未來發展趨勢的想象。
TensorFlow:無力回天的深度學習里程碑
不知道有多少小伙伴是2017年以前入坑深度學習的,那時候人工智能概念火熱,煉丹術方興未艾,無論是學術界還是工業界,煉丹師們普遍處于在魔改神經網絡結構,瘋狂調參上分的階段。
那時候PyTorch還僅僅是個玩具,NLPer普遍鐘愛TensorFlow,CVer還在堅守Caffe。盡管當時TensorFlow存在API臃腫、靜態圖機制反人類、速度慢等種種槽點,但是總比用NumPy手寫反向梯度傳播來得強。而這個空窗期也正是TensorFlow最為巔峰的時期,一時間,CV、NLP、Speech乃至其他用到深度學習技術的應用領域的研究成果絕大多數都選擇了TensorFlow作為開源代碼。
那時候的深度學習開發者,是幸運的,也是不幸的。
幸運的是,人們不用糾結框架的選擇,學習TensorFlow基本不會出錯。
不幸的是,由于歷史包袱,TensorFlow的API過于臃腫復雜,哪怕是有NumPy等數值計算經驗的專業從業者也往往要耗費一兩個月的時間才能入門,對于普通開發者和學生群體而言,甚至會出現耗費近半年的時間來學習深度學習框架的使用的情況。
對于對學生來說,這是一個學期的珍貴時間,對從業人員來說,更是難以忍受的代價。有幾個公司能忍受自己的員工消耗半年時間去學習一個框架,之后再去干活呢?企業往往是投入大量人力和資源去搞人工智能,但是卻發現能在真實場景中應用的產品寥寥無幾。甚至連能夠真正運行的Demo都產出困難。
不過還好,幾年前的AI時代不太講求落地,能講好故事就好了。所以盡管深度學習框架的學習門檻極其高,真正熟練掌握能用于工業級模型產出的人不多,不過由于不需要大規模落地,大家學不會也沒關系,會做PPT就可以了。
PyTorch:贏了當下,難頂未來
有人說,PyTorch似乎解決了TensorFlow的痛點。
2018年-2019年,風云驟變,PyTorch憑借干凈的API、與Python完美融合的動態圖機制成功俘獲了大量開發者的芳心,開發者調整深度學習模型底層結構、調試模型的代價明顯降低了。不過事后開發者也發現了PyTorch的缺陷:多機多卡大規模訓練速度慢、實現復雜,模型部署困難,依然免不了學習底層理論等。因此可以說,PyTorch的突破更多的是造福了致力于深度學習底層創新的研究者,對于迫切需要將想法快速變成AI產品的業界從業者來說,PyTorch并沒有真正解決他們的痛點問題。而對于數學基礎較為薄弱的學習者和愛好者來說,PyTorch的實際使用門檻也無疑還是太高了。
安卓、IOS開發之所以能大規模普及帶來移動APP的爆發式增長,一個非常重要的原因就是安卓、IOS的開發者套件屏蔽了來自底層操作系統和硬件驅動的復雜細節,使得開發者能夠非常快速、低成本的將想法變成真實可用的APP。顯然,PyTorch并沒有完成這個重要的里程碑式的任務,它依然需要開發者去直面眾多繁雜的底層細節,且依賴足夠的人工智能理論、數學基礎和系統優化功底才能穩定完成各類可用的模型開發和部署。
總之,PyTorch相對TensorFlow是深度學習歷史上的一大進步,贏得了當下。但是從人工智能當下發展趨勢和對未來的預判來說,顯然PyTorch是無法支撐起未來時代的想象力的。
飛槳:厚積薄發,抓住預訓練時代
盡管PyTorch提升了框架的易用性和debug效率,但是隨著以BERT為代表的預訓練技術的誕生,開發者們很快就發現了問題:
預訓練模型幾乎限定死了模型結構,導致PyTorch的靈活性似乎變得無用武之地了
預訓練模型的訓練、微調和推理都要消耗大量算力,而速度慢、顯存開銷大、多機多卡支持差是PyTorch的天然劣勢
盡管深度學習社區在拼命為PyTorch打補丁,寫踩坑記錄,但是卻依然難頂PyTorch特性對預訓練時代的不適應。與此同時,TensorFlow卻在著急讓自己變得更像PyTorch,這無疑更讓開發者們頭大。學TensorFlow還是PyTorch?這是一個問題。
這時候,一個新的身影出現了——飛槳(PaddlePaddle)。作為深度學習框架的“國貨之光”,百度七年磨一劍,終于在這個預訓練時代厚積薄發,勢如破竹般地迅速俘獲了廣大開發者的芳心。
一方面,它兼具PyTorch的靈活易用,又具備完全不遜TensorFlow的大規模訓練與部署能力,此外,飛槳具有比PyTorch和TensorFlow更硬核且易用的顯存管理能力和多機多卡訓練能力,使得飛槳可以更加無壓力的訓練和部署大型預訓練模型。更加值得一提的是,飛槳還通過內置的混合精度訓練技術(2017年百度研究院提出)、顯存重計算技術、Sharding機制等,使得單張圖形卡訓練大型BERT Large也成為了可能。
可以說,學術界受限于算力資源,飛槳通過硬核的底層優化,很好的緩解了預訓練模型大量消耗計算資源問題,解決預訓練時代的學術界剛需;工業界需要業務落地和大規模部署,飛槳則通過易用性和禁得起百億流量沖擊的部署能力,解決預訓練時代的工業界剛需。
前不久,權威數據調研機構IDC也公布了2020年下半年深度學習框架平臺市場份額報告。數據顯示,在中國深度學習平臺市場綜合份額中,Google、百度、Facebook穩居前三,占據70%以上市場份額。其中,百度占比提升3.38%,增速第一,綜合市場份額位列第二,與位列第一的Google幾乎持平。
接下來,還有沒有更大想象力的劃時代產品呢?
我們先來探討開發者與研究者的區別,造成區別最重要原因是兩者的目標不同:
研究者的直接優化目標是人工智能基礎設施,包括具備一定普適性的模型結構研究、訓練方法優化、計算復雜度優化、理論模型完善等,使得未來人們開發人工智能產品的門檻盡可能低,效果盡可能好,速度盡可能快。
開發者的直接目標是人工智能產品,需要將預期的產品功能又快又好的開發實現,至于產品背后的理論優化工作和領域的普適研究工作,不應作為開發者的第一追求目標。
可惜的是,無論TensorFlow還是PyTorch,主要目標均放在了研究者,對于開發者更多是提供額外的模塊或工具來打補丁,反而進一步增加了開發者的學習和使用負擔。
如今,人工智能已經進行到了下半場,資本市場對人工智能技術的期待已經從PPT轉移到了實際產品的落地上。然而落后的生產工具卻讓開發者感到異常難頂,既缺乏精力和基礎來大力學習深度學習底層理論和PyTorch這類面向研究人員的復雜深度學習框架,又面臨繁重的AI產品、模塊開發壓力。
提高開發人員的生產力,真的沒有辦法了嗎?
AI圈子內流傳一句俗話:學術研究看谷歌,工業落地看百度。比如,盡管最早提出神經機器翻譯的不是百度,但是百度確是全球最早克服重重困難,將該前沿技術落地到機器翻譯產品的公司。百度早已在搜索、信息流、智能交互等AI技術的重要落地場景中遍地開花,CV、NLP、語音技術等基于深度學習再升級,賦予更多業務場景新的生命力。
如今在事關開發效率的深度學習平臺問題上,百度的落地意識也覺醒最早&實踐最深。先是成功躋身世界三大深度學習框架的“國貨之光”飛槳,憑借簡潔的設計和出色的大規模訓練&部署方面的性能優勢,在工業落地方面絲毫不輸TensorFlow和PyTorch,更加充分的發揮了工業界的算力優勢和部署資源優勢。
此外,其基于飛槳的BML全功能AI開發平臺(Baidu Machine Learning,簡稱BML)則似乎滿足了人們對人工智能產品開發的各種想象。它具備多種模型構建方式,開發者可以選擇盡可能少地屏蔽不必要的復雜的底層API,也能夠依靠自己的代碼能力打造AI模型,同時,在部署問題上最大化減輕開發者的壓力,強調“一站式部署應用”。一切為了幫助開發者最快速度完成一個人工智能產品模塊的開發和真正的落地應用。
基于BML將想法變成現實可以有多快呢?
在BML中選擇腳本調參模型構建模式,無需再像使用PyTorch、TensorFlow底層框架那樣自己定義網絡結構、從零開始手寫訓練流程等諸多細節,也無需再將訓練得到的模型剪枝、量化等,進而使用專用的部署工具部署。對于BML平臺來說,AI想法的從0到1只需要如下四步:
Step?1?創建訓練任務確定任務名稱,記錄希望模型實現的功能。Step?2?上傳并標注數據通過EasyData支持圖像、文本、音頻、視頻等多類數據的管理與標注,如:分類功能的模型:只需按分類(如合格圖片vs不合格圖片)上傳圖片即可檢測功能的模型:上傳數據后,需要在數據中標注出需要檢測的具體目標分割功能的模型:上傳數據后,需要在數據中標注出需要識別物體的輪廓Step?3?啟動訓練并校驗效果在這一步中,百度BML獨家預置了百度超大規模預訓練模型,包括視覺超大規模預訓練模型及NLP預訓練模型ERNIE 2.0。只需選擇預訓練模型及網絡,進行基本參數配置,即可啟動模型訓練。同時在這個環節里,腳本調參的建模方式還支持自動數據增強及自動超參搜索,減少工程師通宵達旦的調參成本,高效獲取高精度模型效果。Step?4?部署模型根據訓練時選擇的部署方式,將模型以云端API、設備端SDK、私有化等多種方式發布使用。特別是隨著端計算的成熟,端模型的轉換和部署成為很多開發者的痛點,目前BML的端部署方案上已經支持四大操作系統,15+芯片類型,在設備端的預測速度可提升10倍。使用百度BML,用戶可以根據自己的能力和需求選擇開發方式,在保證精度的前提下盡可能減少代碼調整,從數據上傳、模型訓練、模型管理到模型的部署,一站式的AI開發流程非常順滑。
如果腳本調參對與AI小白來說還是太難,飛槳還推出了EasyDL零門檻AI開發平臺,專門面向零算法基礎的AI應用開發者,零代碼、最快15分鐘搞定模型訓練與部署,進一步降低AI應用的門檻。
與BML不同,EasyDL提供了全自動化的模型訓練機制。擔心精度不夠?大可不必,因為EasyDL底層結合了百度 AutoDL/AutoML技術,針對用戶數據能夠自動獲得最優模型和最優超參組合,進而基于少量數據就能獲得出色性能和模型效果。可以說,使用EasyDL不僅可以快速實現?“95%+準確率模型”?,甚至連最后一公里的深度調參優化都能直接完成十之八九!
此外,EasyDL的想象力不僅在于徹底釋放了AI開發者的生產力,使其可以專注在idea的實現上,而且,EasyDL提供了非常豐富實用的模型部署方案。使得開發者得到的模型不僅具備驚艷的效果,還直接具備實用能力,創造真實價值。訓練完成后,開發者可將模型部署在公有云服務器、私有服務器上。通過使用EasyDL,已有來自工業、零售、政務、物流、互聯網等超過20個行業的用戶實現了智能化轉型,將人工智能的力量賦予生產生活的各種場景。
對了還有個事情,現在百度EasyDL還正在搞一個「萬有引力」活動,只要你通過EasyDL完成了業務模型的定制訓練、部署和應用,就可以領取萬元的專項代金券。如果你的模型落地效果還非常好,還有機會獲得最高十萬元的特殊補貼。
點擊閱讀原文或者自己百度直接搜索EasyDL,就能訪問他的官網參與活動,去釋放一下自己的想象力吧!
好了,只能幫你到這里了,快去試試吧!
后臺回復關鍵詞【入群】
加入賣萌屋NLP/IR/Rec與求職討論群
后臺回復關鍵詞【頂會】
獲取ACL、CIKM等各大頂會論文集!
總結
以上是生活随笔為你收集整理的深度学习平台的未来:谁会赢得下半场?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: NLP太难学了!?吃透NLP的方法来拿走
- 下一篇: BERT跨模态之后:占领了视觉常识推理任