世間有一種軟件,名叫“深度學習框架”。 在人工智能的江湖,常聽人言:得框架者,得天下。 多年以前,一面畫著大G的大旗在高處飄揚,美國谷歌公司的深度學習框架占據大半江山。萬萬沒有想到,一場大風暴來了。
2018 年,臉書公司“同款”對標產品把一款前輩產品吸納進來,聯劍并肩,威力大增。一年后,火力全開,專揀敵人的罅隙進攻。連沖數劍,殺開一個缺口,有守有攻,看看就可闖出。放眼學術圈,更是獨領風騷,頂級學術會議的勝利快報像雪片一樣飛來。
小心低頭,王冠易掉,谷歌框架的王者時代,結束了。 歷史總是吊詭,一些無名之處會發生極為有名的戰役。戰事殘酷而隱秘,高深晦澀的技術仿佛咒語,牢牢擋住人們的視線。 美國白宮《2019年國家人工智能研發戰略規劃》報告中,美國將中國視為人工智能主要對手,進行了深刻觀察。 “中國人工智能發展勢頭很猛。” 這話猛一聽,真讓人高興。
后半句是個打擊:“中國人工智能缺點亦十分明顯,硬件、算法、人才……人工智能框架創新能力薄弱。” “硬件” “人才”……這題我會,這題我會,“框架”是個啥? 假如人工智能深度學習是太平洋上的一個島嶼,算法是島上茂盛的植被,框架和芯片則是地質結構,算法建在框架和芯片之上。 深度學習框架,頭頂兩個光環亮閃閃,第一個,基礎軟件。 幾乎所有的深度學習開發者,都要用深度學習框架。幾乎所有的深度學習算法和應用,都是用其實現的。 作為一種復雜基礎軟件,有這樣一條原則:極少數人“造”輪子,大部分人“用”輪子。
框架研發門檻高不可攀,本質上,這類產品是大型科技企業才“配”擁有的基礎設施,小門小戶造不起。 多說一句,打敗圍棋大師李世石的人工智能阿法狗(AlphaGo)聽過吧,框架也是其背后的底層技術。 谷歌科學家的凡爾賽是:“我們讓阿法狗更順暢”。
(一)上半場:美國科技大廠的豪門恩怨 簡單地說,深度學習框架=深度學習操作系統。 世間最流行的兩個深度學習框架,谷歌公司的TensorFlow和臉書公司的PyTorch。
開發者壓力山大,需要“精通”這兩個,或至少“熟練”其中一個,甚至,“輔修”第三個框架,“選修”第四個。 谷歌與臉書,作為美國科技企業,其框架產品的流行度,像極了可口可樂和百事可樂。 快樂肥宅水統治世界,兵家必爭之地必屬梟雄。大型科技企業想盡一切辦法取得技術上的領先優勢,深度學習框架不會錯過,也無法繞過。 算法突破、數據爆發、算力增長的“鐵人三項”支撐了AI的浪潮,唯一能將“鐵人”整合的系統軟件,是深度學習框架。
它好比底座,對下,完成對底層硬件的調度;對上,支持模型搭建。
人工智能的一堆新玩(算)意(法):人臉識別、圖像分類、圖像檢測與分割、語音識別、廣告推薦、GAN、強化學習等等,被封裝在軟件框架里。 封裝,不是封印。 孫悟空沖著框架大喊:“人工智能,叫你一聲,敢答應嗎?”Siri(用機械女聲回答):穿豹紋超短裙的那位,你有事找我? 一般來說,只有超大型科技企業才能支撐“操作系統”的開發。 深度學習的“操作系統”萌芽于高等學府,但早期工業雛形出現在美國科技豪門,是大公司競爭的舞臺,也是全球計算機技術精英群體,最精銳部隊的角逐。
使用全國通用感嘆詞:“臥槽,深度學習框架是硬科技。” 把全球AI頂級精英俱樂部的會員分成兩類:一類是原創AI算法的發明者, 一類是AI框架的發明者。 前一類是加錢閱讀的部分,后一類是本文的重點。 請大家記住這些名字,因為這些“精神小伙”,對深度學習框架的發展至關重要。
現任阿里巴巴技術副總裁賈揚清,浙江紹興人,從初中三年級開始接觸電腦,他一直覺得自己學編程挺晚的。 2002年是他高考那一年,浙江省是高考界的領跑者,清華大學計算機系的分數線很高,他去了清華自動化系。
在科學界,瑞士是物理和數學領域的領跑者。也在2002年,瑞士戴爾莫爾感知人工智能(Idiap)研究所誕生了第一個機器學習庫Torch。 歐洲最高山脈阿爾卑斯山的雪頂千年不化,山腳下的瑞士名城馬蒂尼(Martigny),既是登山愛好者的天堂,又是葡萄酒產區。 這是個做學術的好地方,自1991年以來,這里的研究所就是全球人工智能和認知智能領域的領導者之一。 機器學習庫Torch,出自“葡萄酒產區”研究所的一份研究報告(三位作者分別是:Ronan Collobert、Samy Bengio、Johnny Mariéthoz)。
其中一位作者姓本吉奧(Bengio),沒錯,這位眉毛粗粗的科學家,就是深度學習三巨頭之一,約舒亞·本吉奧(Yoshua Bengio)的兄弟。
2007年他跳槽去了谷歌。 Torch意為火把,成為框架曠野的第一顆火種。 “庫”(Library)是一系列事先編寫好的代碼集合,在編程中調用,可以減少重復工作。 加拿大蒙特利爾大學的深度學習框架的開發,始于2007年,Theano是行業祖師爺。
框架和圖靈獎獲得者頗有淵源,約舒亞·本吉奧(Yoshua Bengio)和伊恩·古德費洛(Ian Goodfellow)都有參與Theano。 庫和框架的不同之處,在于境界。
庫是兵器庫,框架則是一套武林絕學的世界觀,程序員在這個世界觀的約束下去練(編)拳(程)法(序),結果被框架所調用。框架接管了程序的主控制流。 反正,框架比庫厲害多了。 有了框架,才能做到只關注算法的原理和邏輯,不用去費事搞定底層系統、工程的事。生命短暫,都想走捷徑。話不能這么說,都996了,生產隊里的驢也得歇歇。 轉眼間,賈揚清已經在美國加州大學伯克利分校攻讀博士學位。也是在此期間,他開啟了計算機視覺的相關研究。
那時候,他常被一個問題困擾:怎樣訓練和設計深度學習的網絡?為此,賈揚清想造一個通用工具。 著名的Caffe框架的發音和“咖啡”相似,是“快速特征提取的卷積框架”論文的英文簡稱。巧合的是,這個框架像咖啡一樣流行。 這是賈揚清第一個C++項目,多年以后,他在阿里巴巴回憶:“最開始的時候沒有測試,代碼糾錯(Debug)成了最痛苦的事。” 2013年的Caffe框架是他的成名之作。在工業場景的計算機視覺系統上,Caffe 穩健快速,是無可爭議的王者。
這一年,Parameter Server(參數服務器)的兩位著名教授走向臺前,邢波(Eric Xing)教授和Alex Smola教授,現在兩位均在美國卡內基梅隆大學(CMU)任教。 參數服務器是個編程框架,也支持其他AI算法,對深度學習框架有重要影響。 高校實驗室善于技術創新,深度學習框架的很多精髓創意源于此地。但是,深度學習框架復雜性高、工程量極大,長期負責復雜產品,高校并不擅長。 事實也證明,多年后,高校出生的深度學習框架,都以某種方式“進入”企業,或者被企業趕超了。 嗅覺敏銳者,業已出發。 2015年11月,TensorFlow開源,由谷歌大腦團隊開發。谷歌的搜索、油管、廣告、地圖、街景和翻譯的背后,都有其身影。
谷歌開源AI產品備受矚目。若論起名的原因,TensorFlow直譯,張量(tensor)在圖中流動(flow)。由此也可獲知,數據流圖是框架的重要技術。 再往細說,數據流圖由算子組成,算子又分為大算子和小算子。Caffe是大算子抽象,TensorFlow是小算子抽象。小算子好處是靈活,壞處是性能優化難。 TensorFlow原創者之一是谷歌天才科學家,杰夫·迪恩(Jeff Dean)。 為什么說他是天才? 贊美之詞就免了。在2000年下半年的時候,Jeff Dean的代碼速度突然激增了40倍,原因是他把自己的鍵盤升級到了USB 2.0。編譯器從來不會給Jeff Dean警告,但Jeff Dean會警告編譯器。 筆者承認,這確實是兩個段子,出處無考。 2015 年是一個重要的年份,何愷明等人的研究成果,突破了邊界,在準確率上再創新高,風頭一時無二。
谷歌AI研究員弗朗索瓦·喬萊特(Francois Chollet)幾乎是獨自完成了著名的Keras 框架的開發,為谷歌再添一條護城河,大有“千秋萬代,一統江湖”的勢頭。 這時候,喊一嗓子“深度學習是下一個重大技術趨勢”,已經沒有壓倒性的反對意見了。 美國西雅圖素有“阿拉斯加門戶”之稱,微軟公司總部位于西雅圖衛星城,從那里開車13個小時就能到達谷歌公司總部所在地山景城。在AI的跑道上,很多人在追趕谷歌,但是,微軟既沒有好車,也沒有彎道,壓力大了,方向盤也能捏碎。 按理說,背靠微軟的產品本應有個好前途,框架卻都沒有流行起來。 英文單詞Minerva的意思是“智慧女神”,這是微軟亞研院一個孵化項目的名字,由當時的副院長張崢發起,項目組成員有紐約大學王敏捷和北京大學肖天駿。
現在張崢在亞馬遜上海AI研究院做院長。兩名大將也隨之前往,現在均是張院長麾下主力。 后來,就沒有后來了。開源(Github)給女神畫上了句號。 2016年,從先后關系上講,CNTK(Cognitive Toolkit)伸手接過女神的接力棒,可惜魔障難消,用的人少,沒有推廣開,于2019年停止維護。 GitHub上的悼詞是:“在這個版本之后,沒有新功能開發的計劃。” 這意味著,微軟已經放棄了CNTK。 兩次前車之鑒,微軟仍沒有認輸的打算。
因為深知框架的重要性,也因為微軟的電腦里,絕不會長期使用貼著別人家logo的AI工具。 2016年,賈揚清從谷歌TensorFlow團隊離職,跳槽到了Facebook公司。與谷歌揮手道別,四載光陰(實習兩年,工作兩年),往事依稀,他的內心充滿感懷。 西雅圖作為美國的超一線城市,華盛頓大學是城市招牌之一,華人武術宗師李小龍就畢業于此。“天才少年”陳天奇也在這里取得了計算機博士學位。 陳天奇在AI圈的名氣,不比李小龍在武術界低,且都是少年成名。 陳天奇讀博士的第二年,一個叫做MXNet的項目開始了,這是一個名牌大學聯合學術項目。
僅僅一年時間里,就做出了完整的架構。團隊中還有一位聞名遐邇的大神,李沐(現任亞馬遜公司資深主任科學家,principal scientist)。 2016年5月,MXNet開源,濃縮了當時的精華,合并了幾個原來有的項目,陳天奇cxxnet、參數服務器、智慧女神、顏水成學生林敏的purine2。
所以,MXNet,讀作“mixnet”,mix是中文“混合”之意。 可巧了,從華盛頓大學到亞馬遜公司全球總部不到6公里,開車只消10分鐘。總部大樓抱著兩個“溫室大球”坐落于市中心。可能是近水樓臺先得月,這次亞馬遜公司火眼金睛,行動迅速。2017年9月,MXNe被亞馬遜選為官方開源平臺。 江山代有才人出,該退休時就退休。同一年,祖師爺Theano官宣退休。 這時候,賈揚清借鑒谷歌TensorFlow框架里面的一些新思想,實現了一個全新的開源Caffe2。三十而立的他,成長為遍歷世界級產品的第一高手。 谷歌TensorFlow在人間瀟灑走一回。未曾想一場大風暴正在醞釀。 2018 年,PyTorch接納Caffe2后,意外崛起,上演令谷歌框架王冠落地的戲劇性一幕。
易用性確實可以搶客戶,但谷歌沒有想到臉書搶了這么多。后來者確實可以居上,但谷歌沒有想到臉書僅用如此短的時間。 改旗易幟,有人嘩然,有人唏噓。 谷歌出發最早,為何沒有獨坐釣魚臺?為什么是臉書搶了市場? 谷歌野心非常大,初期想做很大很全的工具。雖然完備性很強,但是,系統過度復雜。雖然以底層操作為主,有很多基礎的功能,但是這些功能沒能封裝得很好,需要開發者自己解決(定義),手動工作過多。 三個AI開發者湊在一起,花生配酒,吐槽谷歌TensorFlow,十有八九。甲有點激動,說:“實在太難用了,想罵臟話。”乙表示贊同,說:“簡直就是一個縫合怪。”“一座屎山,還要往屎上堆屎。”丙說完,深埋頭,嘆口氣。 雖然TensorFlow可直接使用天下排名第一又易上手的Python語言來編寫程序,算子庫豐富,TPU加速,但是,一些個性化規定瑣碎,新概念層出不窮,開發者要視其為一種新的編程語言來學習。 再者,系統非常復雜,代碼又長又臭,難以維護。
更糟的是,API很不穩定,易變臉。API好比電腦鍵盤,鍵盤上的字母位置天天變,誰受得了?你想要一個活著的祖宗嗎? 僅僅是丟市場還不夠慘,PyTorch框架帶火了背后的技術(動態執行等),臉書開始左右技術趨勢。 谷歌仰天長嘯,潸然淚下,口中默念:“萬萬沒有想到。” 命運像水車的輪子一樣旋轉,有時高,有時低,而亞馬遜公司的MXNet從來沒高過。 知乎上有兩篇非常火的高贊帖,可一窺其端倪。李沐:《為什么強大的MXNet一直火不起來?》。賈揚清:《如何看待亞馬遜 AI 李沐團隊大批人員離職?》。
談起亞馬遜和MXNet框架的緣分,就不得不提起一位美國卡內基梅隆大學的高人,Alex Smola教授,他也是李沐在CMU的博士導師。 2016年7月,Alex Smola教授從CMU重返工業界,加入亞馬遜AWS擔任副總裁級別的科學家(職級為Distinguished Scientist)。大半年后,2017年3月,李沐加入AWS,直接向老師Alex Smola匯報。 師徒同框,雙手比V。 此時,巨頭已整裝列位,兵馬齊發。微軟豈能袖手旁觀,微軟在智慧女神和CNTK兩次滑鐵盧之后,依然斗志昂揚準備第三次入局。 這次,微軟思路清奇地設計了ONNX(全稱Open Neural Network Exchange),一種開放式深度學習神經網絡模型的格式,用于統一模型格式標準。
ONNX是臉書和微軟合作力推的,賈揚清也是發起者之一,目標劍指“標準和生態”。 說白了,一個PyTorch模型可以被導出ONNX文件格式的模型。 不止于此,隨后,微軟基于ONNX這個橋梁研發了一個推理用的ONNX Runtime框架,低調地在2018年最后一個月開源。 想做“標準”,得大家伙都同意。
ONNX沒成為標準,若論原因,可能是ONNX還做得不夠好吧。 ONNX Runtime框架的“新功能”暴露了巨頭之間的動態競爭關系。
這一次,微軟站隊臉書,給Pytorch機器學習庫做了幾個 “好用的部件”。
若論其中一個原因,可能是微軟和臉書沒有云上的競爭關系,這幾年臉書公司的定位依然還是互聯網公司,沒有發展云計算。 亞馬遜云(AWS)、谷歌云、微軟云則斗紅了眼。 第三次進軍框架,微軟的策略是,強攻不下,組隊打怪。若有一日,Onnx Runtime 框架有希望挑戰Pytorch框架,肯定調轉火力,支持自家。 真正的競爭激烈,不是玩家多,而是高手多。短短幾年之內,幾座技術巔峰,拔地而起,各有各的精絕。 其一,谷歌和亞馬遜是計算圖的擁躉。兩者都以更高的、令人贊嘆的工業級工程質量把計算圖抽象推向新高度,把表達能力推向新的里程碑。 其二,臉書公司在計算過程中沒有計算圖的概念。但在解決易用性上,超常發揮。 谷歌皇冠跌落,給后來者“跌出”希望,留給中國隊的時間不多了。
(二)下半場:中國隊的出征 2014年的某一天,北京海淀區丹棱街5號接待了一位特殊的客人。 這位來自美國CMU的教授,名叫邢波,此時任微軟亞研院顧問一職,他擅長的領域包括大規模計算系統。他也是AI科學家俱樂部的白(ding)金(ji)會(da)員(lao)。
恰在此時,微軟亞研院副院長馬維英(現任清華大學智能產業研究院講席教授、首席科學家)找到一位研究員,名叫袁進輝,他是清華大學計算機專業的博士,師從張鈸院士。 知識使人年輕,很多科學家,年逾不惑,雙肩包+步行,背影仍像學生。而袁進輝卻頭發花白,笑容謙和,像是在校園里散步的退休教授,其實他是1981年的。 馬維英副院長和袁進輝談起,谷歌較先起步,已將大規模主題模型的訓練系統技術,應用到谷歌廣告系統和推薦系統的關鍵組件中。邢波教授近期既然到訪北京,那不妨合作。 于是,邢波教授團隊和袁進輝團隊雙劍合璧。這場合作的成果,被表揚了。主管全球研究院的微軟副總裁周以真女士評之為該年度看到的最令人激動的成果,不過這是后話。 那時候的動力,一方面來源于超過谷歌,直道超,沒有彎道。另一方面,業界有多位知名科學家和資深工程師,已經在同一問題上醞釀已久。
難度可想而知,條件卻捉襟見肘。沒有可供使用的集群,沒有工程師團隊的支持。 按打游戲的說法,微軟想上分,那就要看一下配置。推算一下可知,即使是當時最先進的算法,在當時的硬件環境中訓練目標規模的模型,至少要半年時間。 再看一下,雙方陣容。 提起邢波教授的團隊,恐怕AI學術圈無人不知,其本人位列論文發表貢獻第一(2018),其學生很多已是名校教授,每年發表的論文數量,源源不斷地為CMU名列全球大學計算機科學與人工智能的排名第一“貢獻力量”。 “微軟代表隊”是袁進輝研究員,還有一個實習生高飛。 這個條件,這個目標,看了只想瞇眼說“呵呵”。 美國賓州匹茨堡和中國北京,時差十幾個小時。袁進輝后來回憶:一年多的時間里,每天郵件不斷,每周好幾次電話會議,技術難題不討論透徹不罷休。只要足夠幸運,就會在錯誤的道路上迅速挨揍,只要高手夠多,不足之處就不會被放過……馬維英和劉鐵巖兩位大佬,羽扇綸巾,幕后帷幄。 項目結束的時候,2014年已近尾聲。
大家伙的心聲是:“缺少任何一個人,結果都不是大家看到的樣子。” 那一次,袁進輝為破壞式創新的威力,窒息。 這次合作,成果是LightLDA。它的算法結果是一流的,系統實現是一流的,僅用數十臺服務器,完成之前成千上萬臺服務器才能做的事,所以得到周以真女士的高度評價。 民(zhi)間(hu)評價:“要我說,LightLDA那是真的正經貢獻,又smart,又是解決關鍵問題,又真work,正經把Topic Modeling(主題模型)在大數據時代的潛力大大地提高了。” 當時,北京大學計算機科學技術系網絡與信息系統研究所,研究分布式系統的肖臻教授也給與LightLDA相當的肯定。
這事,被肖臻的學生以敬仰袁進輝大神事跡的口吻在知乎講過。 而今復盤,大勢的端倪早已顯露,大數據、大模型、大型計算架構設計呼之欲出。而這個領域的學者,普遍在2018年才意識到這個問題的重要性。 微軟亞研院不愧為AI黃埔軍校,技術前瞻性極強,但是,復雜基礎軟件的成功,不是僅靠“單刀赴會”。 大公司必勝,那是夸海口。大公司必爭,才是真靈驗。 坐標北京西二旗,百度大廈和百度科技園。技術大牛背景的李彥宏,牽著搜索入口的現金牛,依著“牛脾氣”治理百度,他看不上云計算,這倒讓阿里巴巴笑了。 其實,看不上云計算的技術大佬不止一位,自由開源軟件GNU/Linux的鼻祖理查德·斯托曼(Richard Stallman)也多次在公開場合“懟”云計算。 巧合的是,他倆觀點出奇地一致:云計算不是技術創新,而是一種商業模式創新。 李彥宏睥睨云計算,卻對人工智能,滿眼小星星。 百度深度學習研究院(IDL)在人工智能的江湖里,是桃源仙境般的存在,處處大神,遍地高手。高水平科學家、研究人員、工程師密度之大,令人驚嘆,感覺連保安都要會編程才配在門口刷工作證。 昔日盛景,已成絕響。
時間拉回到2013年,百度第一位T11徐偉,同時也是百度深度學習框架PaddlePaddle的原創者和奠基人。 每一家科技巨頭的深度學習框架的首位指揮官,均非等閑之輩。徐偉也是Facebook早期研究員,Facebook產品矩陣豐富,他負責大規模推薦平臺,在多個產品背后顯神功。 可能是有法律文件約束,百度大神科學家的離職,大多不公開原因。徐偉離職加盟地平線,他將手中的接力棒交給了另一位神級技術大牛,擼碼一絕的王益。 見過王益的人會說一個詞,“聰明絕頂”,重音在后面兩個字上。 王益在知乎謙虛地自稱“四十歲老程序員”,言談之間一副老技術專家的低調本色。他在加入百度之前曾任谷歌研究員,是少見的“APAC創新獎”獲得者(參與開發一個分布式機器學習的工具)。
王益是清華大學機器學習和人工智能博士,師從清華大學周立柱教授。 有一次在知乎分享程序員成長經驗,他輕描淡寫地說了一句:“我有一位恩師,徐偉。” 細節總是讓人容易忽略,早年,王益曾向徐偉抱怨:“某某團隊好像就是想用他們自己研發的工具,不用PaddlePaddle?” 后來,王益在回復一位網友跟帖時解釋當時這一問題存在的合理性:“設計PaddlePaddle是技術換代的時候,步子大,當時來不及優化用戶體驗,不愿意用確實有道理。離開后,后來人持續優化了體驗。內部組織結構調整也促進了新技術的接納。” 這也印證了一位百度匿名AIG離職科學家高管對筆者的獨家透露:“百度內部曾經有兩個類似的產品,最后敲定PaddlePaddle的人,是陸奇。” 了解此事的人不多,也正因此,采訪前夕,這位科學家高管仍在反復向筆者強調——“請務給我匿名”。 百度最早出發,生態建設也最早起步。
2017年年末,百度市場部的朋友找筆者交(chi)流(fan),給PaddlePaddle出謀劃策。那時候,開源框架的運營和推廣已經全面拉開:北航軟件學院的教材出版、頂級學術會議模型復現、高校宣講…… 據說,陸奇離職前,仍然緊盯PaddlePaddle的進展。 一山行盡,一山青。框架的玩家,不止科技大廠。 人工智能獨角獸曠視科技是從2014年起內部開始研發框架。在2021年的采訪中,曠視天元的負責人田忠博告訴筆者:“原因很簡單,僅以當時的開源框架,沒有辦法真正做好科研,才會有自己做深度學習框架的想法。” 舉一例,就能說明問題。 曠視科技有一篇ShuffleNet的學術論文,僅用Caffe提供的“工具”,永遠也探索不到ShuffleNet這件事情的可能性。由此看來,曠視科技早已參悟,研究和工程的共振,離不開強大框架的支持。 百度PaddlePaddle開源時間點是在2016 年8月。
現在看來,這是歷史性的一刻,尤其在中美摩擦的歷史背景下回看,更不敢皺眉設想,一旦美國忌憚中國的人工智能發展勢頭,把深度學習框架徹底掐死。 百度的出征,代表著中國隊上場了,標志著中國科技企業參與到人工智能最殘酷的戰役之中。2017年,AI盛極一時,獨角獸頻現,融資快訊爆炸。而PaddlePaddle作為國內唯一的開源深度學習框架,此后兩年多,都是孤家寡人。 2018年7月,百度成立深度學習技術平臺部,由2011年就入職百度的馬艷軍總負責。 畢竟是國產框架,2019年,百度PaddlePaddle有了中文名,名叫“飛槳”。國外產品連個中文名都懶得起。 零的突破之后,新問題是,“用工業級的質量,把創新在框架上實現出來”。 2019年2月,一流科技獲得千萬級Pre-A輪投資,袁進輝是創始人兼CEO。此事之后,才有些小道消息傳出,早在2017年初,快手創始人宿華就投了一流科技,天使輪。
“小伙子睡涼炕,全憑火氣壯。”一家只有幾十人團隊的初創公司也來做復雜基礎軟件。投資人一臉懵逼地進來,一臉懵逼地離開。 誰都會挑用起來順手的錘子。框架在一家公司內部很難統一。
百度內部“軍令如山”,必須統一使用飛槳。
曠視科技內部可以用任何開源框架,員工中自發使用天元框架者居多。
微軟亞研院的情況是:很多工程實現是實習生完成,干活時會讓同學們繼續用熟悉的框架干活,很難強行統一用CNTK。 互聯網科技公司大多是軟件起家,華為則被戲稱為“泥腿子們”終于“洗干凈腳進城”的硬件廠商。是啥不重要,能打就行。所以,華為要拿出來單聊。 華為在開源軟件世界里,風評不高,前腳還有:“鴻蒙失火,殃及池魚” (禁止諧音梗,扣錢)。
華為MindSpore的行動頗為迅速,可惜,在群眾情緒上,被鴻蒙拖了后腿。 2018年10月10日,上海。華為全聯接大會上,肯德基外賣全家桶套餐,不對,講錯了,是AI戰略與全棧全場景AI解決方案。這是華為高層首次提起MindSpore這個事兒。 2019年,10月15日,14點02分,王益在網上突然發帖問了一句,這“開源框架”什么時候開源啊?有匿名采訪者告訴筆者:“賈揚清回了一句,‘Show me the code’。”筆者沒有找到原文或者截圖。 按工作流程,華為MindSpore官方進駐知乎,先發了一個“Read me文檔”(翻譯為“閱讀指南文件”)。結果,人在家中坐,禍從天上來,很多人誤以為“開源”只有“Read me”而已,熱度直接飛起。 最息事寧人的評論:“沸騰就完事了,想那么多干嘛。”最佳畫面感評論:“站在馬里亞納海溝里揮舞道德的內褲。”神評論:“按揭開源。” 網友的才華,從手機屏幕里噴出來。
哪怕華為員工看到這些評論,也笑出了豬叫,細一想,要克制,便在暗地里捂嘴笑。 一位老牌廠商高管在采訪時,告訴筆者:“華為不了解生態系統對軟件的影響。這就是為什么他們在發布手機操作系統時,沒有考慮如何構建生態系統。”受訪人要求筆者匿名。 這一評價,一針扎在要害上。 外國框架并不成熟,也不完美,這也是國產框架參戰的部分原因。 有人發問:“為什么要再做一個框架?”華為內部也有人捫心自問:“MindSpore解決的特色問題到底是什么?” 可能是2020年正式開源前夕,可能是華為中央軟件院總架構師金雪鋒博士、算法科學家于璠博士、開源社區運營團隊負責人黃之鵬等人第一次“齊聚”會議室,可能是一場“元老會”。 筆者了解到,在華為內部組織結構中,MindSpore屬于昇騰產品團隊,也歸屬于計算產品線。這是一個和華為“小云”同級別的BU。
匿名采訪者透露,MindSpore在內部也是要承接業務部門需求的。 MindSpore再早之前的研發時間線不得而知,因為“事關”華為最敏感的“部(xin)位(pian)”。 細細翻閱三位科學家的公開觀點,第一位,華為MindSpore首席架構師金雪鋒博士。第二位,一流科技創始人袁進輝博士。第三位,谷歌公司Waymo自動駕駛汽車感知和規劃任務機器學習平臺資深研發工程師、阿帕奇基金會MXNet項目委員會委員、Horovod(是Uber開源的一個深度學習工具)技術委員會委員袁林博士。 他們共同認為:“市場需求沒有很好地滿足,技術沒有收斂,創新還有空間。” 國外框架出發時,廣闊天地,大有可為,國產框架正好相反。好摘的果實都已被摘走,只剩高高樹頂上的,還有那零散摔落在地的。 國貨當自強,同情分不要也罷。
國產深度學習框架的建設者,藏好后退的發際線,在時代的噪音里,縱身一躍。 2020年,國產深度學習框架井噴。 3月20日,清華大學計圖(Jittor)。3月25日,曠視科技天元(MegEngine) 。3月28日,華為MindSpore。7月31日,一流科技OneFlow。 四家國產,同期開源。五家國產,旌旗列陣。這一年最有可能被追認為國產深度學習框架的“元年”。
守舊的經驗是,既然國外開源了,就抓緊學。既然人家成了事實工業標準,就盡力參與。總是慢了好幾拍,Linux這輪就是這樣。 引用某游戲廠商的經典臺詞是:“別催了,在抄了,在抄了。” 可惜競爭從來不是游戲。 深度學習框架的臺詞是:“不能照抄,不能舔狗,舔到最后,一無所有。” 2020年,國產框架在技術上不是單純的跟隨者角色了,也有很多創新點可圈可點。 飛槳作為國內最早的開源框架,模型庫是最豐富的。以模型庫的形式沉淀成深度學習框架生態的一部分,生態也起步早。 古人云:“不謀全局者,不足以謀一域” 。
有匿名采訪者認為:“華為是國內投入框架研發最堅定的大公司。” 可以觀察到,華為劍指全棧AI戰略,投入非常大。硬件算子庫、基礎軟件、平臺、產業基金、聯合項目、標準、論文專利、人才,幾乎所有的地方都發狠力。 華為內部技術高管(筆者被反復要求匿名)告訴筆者:“大廠發展深度學習框架一定不是為了賣錢,而為了發展生態。華為發展深度學習框架,一方面是自主可控,一方面是堅定地發展AI全棧能力。Mindspore并沒有拘泥于自家的芯片,不能僅僅視為一款產品,而是戰略級的平臺,這是明確公開說的。” 翻看所有的宣傳稿件,不難總結出,華為有全場景,端邊云協同,比如,華為自己有手機業務,方便對硬件做指令級優化。 但是,華為做的遠不止這些。 第一,在拿MindSpore 為抓手,來解決深度學習之外的、以前在超算領域關注的一些計算任務(科學計算)。
其它框架雖然也有這個目標,但華為想到了,也做到了。 第二,AI有個公開的槽點,即被黑盒問題所累。然而,牽扯到AI安全的問題,既基礎,又前沿,搞得人少,困難多。對于基礎軟件來說,又格外重要。 華為金雪鋒博士有一個表述:“按DARPA(美國國防部先進研究項目局)的說法,可解釋AI的目的,就是要解決用戶面對模型黑盒遇到的問題,從而實現:用戶知道AI系統為什么這樣做,也知道AI系統為什么不這樣做,用戶知道AI系統為什么做錯了。 這個問題被華為關注,無疑提高了國產框架段位。你在研究拳法,我在研究拳法背后的哲學根基。 華為MindSpore開源后,很多質疑的聲音消失了,醞釀了半天的道德制高點沒有罵出來,憋得怪難受。
不過,有些批評,華為確實該虛心接受,不是外人,都能過去。 (三)如何競爭? 滔滔江水,浪奔浪涌,摩爾定律卻日漸消失于地表。 需要在硬件層面對AI進行優化浮出水面,因為在微觀層面的編譯器優化,需要和硬件廠商合作。這是華為的獨家優勢。在所有框架公司里,唯獨華為有芯片。
官宣用語:“用昇騰+MindSpore,構建華為數字底座”。 華為被特朗普轟炸了幾輪,印象十分深刻。
在獨家硬件的加持下,MindSpore的名場面是,有開發者感受到“快到飛起”的興奮。 這也不是唯一的路,因為深度學習編譯器也登上了舞臺。巧不巧,這又是一個底層技術。
所以說,深度學習框架門檻高不可攀,算法、底層硬件、操作系統、分布式系統、編譯器,一個都不能少。 TVM編譯器在2017 年開源,能夠在任何硬件后端上有效優化和運行計算,可作為框架的后端。學術方面,進展也迅速,比如“如何利用TVM直接參與硬件設計過程的迭代,使得加速器設計在一開始的時候就可以直接獲得軟件的支持和目標的具體反饋”。 TVM的背后是陳天奇團隊,與其競爭的還是中國人民的老朋友,谷歌(MLIR)。 國產框架,萬箭齊發之勢。 創業公司代表隊唯一的隊員,一流科技袁進輝博士則放出豪言:“要做出世界上速度最快的。”
AI科學家的豪言壯語,比起羅永浩的那句“收購不可避免走向衰落的蘋果公司,并復興它”,也沒克制。 天下武功唯快不破。 他認為,第一,在分布式深度學習里,計算僅僅是一個方面,多個GPU上任務的協同需要頻繁地把數據在GPU之間傳來傳去。數據在數據流圖里行走(flow),想走得快,算得快,吞吐量得大,得將數據通信也設計成數據流圖的一部分,不能讓傳輸成了瓶頸。 第二,哪里需要數據通信,需要什么形式的數據來進行通信,都要開發者去編程實現,這很麻煩,框架應該自動實現。
袁進輝博士的總結是:“OneFlow有兩個創新點:一會自動安排數據通信。二把數據通信和計算的關系協調好,讓整體效率更高。” 2020年,多節點和多設備的訓練成為深度學習的主流,這一趨勢符合袁進輝創業之初的判斷,而這一思路可追溯到2014年他在微軟亞研院的思考。 袁進輝團隊的短板明顯存在,AI研發投入“壕無人性”,直白一點:創業公司窮。不過,2021年春節前,高瓴創投獨家領投一流科技A輪融資,總額5000萬元人民幣。 框架,A面是各有特色,B面是什么呢? 答案是,大規模。 這世界上唯一能夠碾壓國內一線城市房價增速的,只有AI模型的規模。雖然硬件和軟件的進步已經將每年的訓練成本降低了37%;但是,AI模型越來越大,以每年10倍的速度增長。 人工智能模型就像宇宙飛船飛向太空最遠處,正在探索能力的邊界,拓展人類的想象力。
大模型,跑步前進,工業級實現,拔腿直追。 邁入大型模型訓練時代,要求深度學習框架能夠在面臨數百臺、數千臺計算機的龐大規模時,有效地進行訓練。 比如,對于單個設備或多個設備數據并行這種簡單場景的支持已經足夠優秀,但在模型更大或者神經網絡拓撲更復雜時,通用框架的易用性和效率都大打折扣,有這種需求的工業級應用只好下血本研發定制方案。 大規模訓練是當前各廠商競爭的一個焦點,誰輸誰贏仍有變數。但可以肯定的是,只待“百團大戰”的第一槍打響后,就是全方位的比拼(易用性,完備性,高效性)。 壞消息是,國產在市場和生態上與美國巨頭依然有很大的距離。
好消息是,這不是一個完全被動的局面。 甚至,國產框架的競爭也在細分,分化出局部戰役。 框架分為訓練和推理兩部分,訓練框架難度大,推理框架次之。
華為推理框架已經做到了生產級別,交付到了華為手機上。在手機巨頭廠商中,框架的玩法,各不相同。
都知道,蘋果機器學習框架CoreML的代碼是高度商業秘密。 巨頭的動作出其不意地整齊劃一,端側深度學習推理框架,BAT已經全部出手。
百度Paddle Lite、阿里巴巴mnn、騰訊ncnn、華為移動端推理框架Bolt(華為諾亞方舟實驗室開源)、OPEN AI LAB的邊緣AI推理框架Tengine ,甚至連小米也有,MACE。 單論技術難度,這些同類產品比深度學習框架低很多,但也各懷絕技,各有千秋,只是誤放在一起比來比去,就不是內味兒了。 深度學習框架的戰場上,全行業最拔尖的團隊悉數上場。 (四)開源也競爭 做基礎軟件,一要決心,二要耐心,三要開源,因為是大投入、長周期、搶生態。 關于開源與生態,筆者最想采訪的是美國硅谷創投圈資深人士,思科云計算事業部研發老大徐皞。
多次聯系,終于得到他的回復。 他告訴筆者:“生態系統對操作系統而言,比操作系統本身更重要更難發展。這個道理很簡單:操作系統可以雇幾百個人寫出來,生態需要懇求幾萬、幾十萬、幾百萬的人去寫應用才算數。對手機電腦而言,多數用戶是為應用買單,而不是為操作系統買單;對框架而言,多數用戶是為能不能快速解決商業問題而買單。” 開源是一個隱秘的角落,“大教堂與集市”的比喻口口相告,代代相傳,是開發者眼中獨一無二的圣地,擠滿了來自全世界貢獻與分享的熱情,胸前佩戴“開源項目主要貢獻者”的獎章,是江湖地位的象征。 曾幾何時,開源軟件是對抗大公司的俠者。
而如今,大公司卻對開源軟件越來越青睞。巨頭對開源的投入,其背后是生態,是為了占領市場。開源軟件的開發,不再是開發者之間松散的合作。
開源軟件公司有更多主導,開源軟件的開發效率和質量都有所提升。 開源的“不競爭”是另一種形式的競爭。眼下這幾年,開源商業模式有變。徐皞認為:“開源軟件真正興盛,真正有突破,也就是五到十年的事情,開源軟件商業模式依然在非常早期。” 開源軟件的背后是競爭,是研發與工程的投入,不投入,怎么占領。
Linux是有很多家的貢獻,但是安卓代碼1200萬行,全部是谷歌工程師自己寫的。
看看美國公司對開源市場的投入力度,中國公司不能落后,更應該主動投入,占據,甚至主導。 開源和閉源,隔山兩相望,且看那密密麻麻的布防,哪個山頭都有重兵。 開源軟件世界里,框架雖為一隅,卻極盡奇觀。最好的思想,最好的代碼都悉數拿出來了。這是分享,也是一種較量。 前美國國防部咨詢顧問,史蒂夫·馬奎斯的說法是:“開源項目,來源于最純粹的競爭。如果一個開源項目在商業世界獲得了成功,那決不會是出于僥幸,決不會是因為其它競爭者恰好被規章制度所累、被知識產權法約束、被人傻錢多的金主拖垮。一個開源項目勝出了,背后只會有一個原因——它真的比其他競爭者都要好。” 有借有還,再借不難。“借用思路”是爽了,但又誘發更深層次的競爭。
上帝說,要有光。特斯拉說,要有電。開源說,要有代碼。 若問深度學習框架將帶來什么,得想清楚深度學習的未來在哪。 聽說過深度學習又被稱為軟件2.0嗎?
作為數據驅動范式的頂峰,從數據里自動推導出程序,而不是必須靠程序員絞盡腦汁手動書寫程序,這是一個劃時代的進步。 深度學習可能從一個小小島嶼,演進成一個大陸板塊。 在接下來的十年,深度學習軟件有機會變成每個軟件工程師醫藥箱里的必備“藥丸”(不要亂想,不是藍色的那種)。人類最重要的計算機軟件將由其創造,自動駕駛,藥物發現…… 開源軟件的玩法自由奔放,但也有公地悲劇、PR銅臭。深度學習框架是一款理解成本很高的軟件,群眾基礎薄(mei)弱(you)。于是,有人用“AI平臺”一詞,胡亂指代,張冠李戴,故意混淆,真令人作嘔……大過節的,算了算了。 有決心,就有私心,有瘋子,就有騙子。時間總能給出答案。 結語: 古人云,按經濟學的規律辦事。 大約兩百多年前,英國經濟學家杰文斯指出,技術成本降低,將提升技術的普及度,從而擴大市場規模。
起初,戴著大粗金鏈子,說錯了,戴著領結的大英煤老板十分擔心,掐指一算:第一次工業革命讓蒸汽機效率提升,每臺用煤量減少,總的用煤量會下降,生意要下滑。 結果事實正相反,用煤量大幅增加,好開心呀,因為蒸汽機使用成本降低了,使得蒸汽機用得更廣泛了。 框架的道理也一樣,降低了研發人力成本,降低了計算資源成本,帶動市場規模擴大。 兩百年后的今天,人工智能深度學習算法的大火,創造了算法軟件包史無前例的機會,軟件開發中的標準化就是把每個人都要干的活統一起來,成為工業化的環節。 深度學習框架牛就牛在把共性提煉抽象出來,用最簡約的代碼實現,代碼越簡單越牛。
軟件流水線提升整個行業的水平,徹底替代手工打造的落后局面。
搞深度學習框架的那群人, 他們,可能是同學同事同行,亦狂亦俠亦友。他們,必然是浩宇璀璨群星,風雷意氣崢嶸。
賈揚清,化身修羅,重回故里,現任阿里巴巴技術副總裁。
陳天奇,學府道場,CMU大學教書,投入深度學習編譯TVM。
李沐,蒲團打坐,駐守美國亞馬遜,現任資深主任科學家。
徐偉,開山老祖,現任地平線AI首席科學家。
王益,絕頂神僧,谷歌、騰訊、螞蟻金服美研主任科學家,2021年初去臉書公司。
袁進輝,苦煉金剛,網名老師木,清華博后,微軟科學家,窮酸創業。
林敏,羽化成仙,跳出三界,研究基礎理論去了。
無論是產品,還是生態,最終,市場會決定勝出者。
人工智能頭頂高科技花環,被高高捧起,又被左右開弓扇耳光,靈魂三逼問:到底行不行?啥時候突破?誰殺死那只獨角獸? 突破難規劃,創新難計劃,獨角獸不拼命也不行……此后,深度學習框架,對于國外開發者同樣重要。
需要發問的是:如何才能做出全球大流行的開源深度學習框架?網友質問的原話是:“你敢超過嗎?”
原文標題:搞深度學習框架的那幫人,不是瘋子,就是騙子
文章出處:【微信公眾號:人工智能與大數據技術】歡迎添加關注!文章轉載請注明出處。
責任編輯:haq
-
人工智能
+關注
關注
1791文章
47183瀏覽量
238260 -
深度學習
+關注
關注
73文章
5500瀏覽量
121113
原文標題:搞深度學習框架的那幫人,不是瘋子,就是騙子
文章出處:【微信號:TheBigData1024,微信公眾號:人工智能與大數據技術】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論