世間有一種軟體,名叫“深度學習框架”。
在人工智慧的江湖,常聽人言:得框架者,得天下。
多年以前,一面畫著大G的大旗在高處飄揚,美國谷歌公司的深度學習框架佔據大半江山。萬萬沒有想到,一場大風暴來了。
2018 年,臉書公司“同款”對標產品把一款前輩產品吸納進來,聯劍並肩,威力大增。一年後,火力全開,專揀敵人的罅隙進攻。連衝數劍,殺開一個缺口,有守有攻,看看就可闖出。放眼學術圈,更是獨領風騷,頂級學術會議的勝利快報像雪片一樣飛來。
小心低頭,王冠易掉,谷歌框架的王者時代,結束了。
歷史總是弔詭,一些無名之處會發生極為有名的戰役。戰事殘酷而隱秘,高深晦澀的技術彷彿咒語,牢牢擋住人們的視線。
美國白宮《2019年國家人工智慧研發戰略規劃》報告中,美國將中國視為人工智慧主要對手,進行了深刻觀察。
“中國人工智慧發展勢頭很猛。” 這話猛一聽,真讓人高興。
後半句是個打擊:“中國人工智慧缺點亦十分明顯,硬體、演算法、人才……人工智慧框架創新能力薄弱。”
“硬體” “人才”……這題我會,這題我會,“框架”是個啥?
假如人工智慧深度學習是太平洋上的一個島嶼,演算法是島上茂盛的植被,框架和晶片則是地質結構,演算法建在框架和晶片之上。
深度學習框架,頭頂兩個光環亮閃閃,第一個,基礎軟體。
幾乎所有的深度學習開發者,都要用深度學習框架。
幾乎所有的深度學習演算法和應用,都是用其實現的。
作為一種複雜基礎軟體,有這樣一條原則:極少數人“造”輪子,大部分人“用”輪子。
框架研發門檻高不可攀,本質上,這類產品是大型科技企業才“配”擁有的基礎設施,小門小戶造不起。
多說一句,打敗圍棋大師李世石的人工智慧阿法狗(AlphaGo)聽過吧,框架也是其背後的底層技術。
谷歌科學家的凡爾賽是:“我們讓阿法狗更順暢”。
(一)上半場:美國科技大廠的豪門恩怨簡單地說,深度學習框架=深度學習作業系統。
世間最流行的兩個深度學習框架,谷歌公司的TensorFlow和臉書公司的PyTorch。
開發者壓力山大,
需要“精通”這兩個,
或至少“熟練”其中一個,
甚至,“輔修”第三個框架,“選修”第四個。
谷歌與臉書,作為美國科技企業,其框架產品的流行度,像極了可口可樂和百事可樂。
快樂肥宅水統治世界,兵家必爭之地必屬梟雄。大型科技企業想盡一切辦法取得技術上的領先優勢,深度學習框架不會錯過,也無法繞過。
演算法突破、資料爆發、算力增長的“鐵人三項”支撐了AI的浪潮,唯一能將“鐵人”整合的系統軟體,是深度學習框架。
它好比底座,對下,完成對底層硬體的排程;對上,支援模型搭建。
人工智慧的一堆新玩(算)意(法):人臉識別、影象分類、影象檢測與分割、語音識別、廣告推薦、GAN、強化學習等等,被封裝在軟體框架裡。
封裝,不是封印。
Siri(用機械女聲回答):穿豹紋超短裙的那位,你有事找我?
一般來說,只有超大型科技企業才能支撐“作業系統”的開發。
深度學習的“作業系統”萌芽於高等學府,但早期工業雛形出現在美國科技豪門,是大公司競爭的舞臺,也是全球計算機技術精英群體,最精銳部隊的角逐。
使用全國通用感嘆詞:“臥~槽~,深度學習框架是硬科技。”
前一類是加 錢閱讀的部分,後一類是本文的重點。
請大家記住這些名字,因為這些“精神小夥”,對深度學習框架的發展至關重要。
現任阿里巴巴技術副總裁賈揚清,浙江紹興人,從初中三年級開始接觸電腦,他一直覺得自己學程式設計挺晚的。
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 Serve(引數伺服器)的兩位著名教授走向臺前,邢波(Eric Xing)教授和Alex Smol教授,現在兩位均在美國卡內基梅隆大學(CMU)任教。
引數伺服器是個程式設計框架,也支援其他AI演算法,對深度學習框架有重要影響。
高校實驗室善於技術創新,深度學習框架的很多精髓創意源於此地。但是,深度學習框架複雜性高、工程量極大,長期負責複雜產品,高校並不擅長。
事實也證明,多年後,高校出生的深度學習框架,都以某種方式“進入”企業,或者被企業趕超了。
嗅覺敏銳者,業已出發。
2015年11月,TensorFlow開源,由谷歌大腦團隊開發。谷歌的搜尋、油管、廣告、地圖、街景和翻譯的背後,都有其身影。
谷歌開源AI產品備受矚目。若論起名的原因,TensorFlow直譯,張量(tensor)在圖中流動(flow)。由此也可獲知,資料流圖是框架的重要技術。
再往細說,資料流圖由運算元組成,運算元又分為大運算元和小運算元。Caffe是大運算元抽象,TensorFlow是小運算元抽象。小運算元好處是靈活,壞處是效能最佳化難。
為什麼說他是天才?
讚美之詞就免了。在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)在人工智慧的江湖裡,是桃源仙境般的存在,處處大神,遍地高手。高水平科學家、研究人員、工程師密度之大,令人驚歎,感覺連保安都要會程式設計才配在門口刷工作證。
昔日盛景,已成絕響。
每一家科技巨頭的深度學習框架的首位指揮官,均非等閒之輩。徐偉也是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年初去臉書公司。
袁進輝,苦鍊金剛,網名老師木,清華博後,微軟科學家,窮酸創業。
林敏,羽化成仙,跳出三界,研究基礎理論去了。
無論是產品,還是生態,最終,市場會決定勝出者。
人工智慧頭頂高科技花環,被高高捧起,又被左右開弓扇耳光,靈魂三逼問:到底行不行?啥時候突破?誰殺死那隻獨角獸?
突破難規劃,創新難計劃,獨角獸不拼命也不行……此後,深度學習框架,對於國外開發者同樣重要。
需要發問的是:如何才能做出全球大流行的開源深度學習框架?網友質問的原話是:“你敢超過嗎?”