起個大早,趕個晚集:論英特爾(INTC.US)AI晶片Nervana的倒掉

2021-01-14 手機鳳凰網

美股 起個大早,趕個晚集:論英特爾(INTC.US)AI晶片Nervana的倒掉 2020年3月2日 12:19:13 智通財經網

本文來自 StarryHeavensAbove ,作者徐凌傑。

果不其然,Nervana終於被Intel(INTC.US)徹底關掉了 ,雖早已在預料之中,但也不勝唏噓。我見過Nervana未曾發布的產品,在當年諸多AI晶片逐鹿之初也算是一條好漢。然而,Nervana的倒掉,除了技術原因之外,團隊的組成和Intel組織架構也是重要的內在因素。「起個大早,趕個晚集」,算是對Intel之前4年AI晶片戰略的一個總結,我以為。

我不看好Nervana很多人都知道,也在2019年中預言了Intel收購Habana的大致劇本,在此分享一下對這個未來或許會成為AI晶片歷史上重要事件的思考,作為case study供大家參考。以下僅為作者個人觀點,不代表就職公司。

團隊組成

回撥到2016年中,當年北美最有名的AI「晶片」初創公司就數Nervana了。我們不妨來看一下Nervana被Intel收購之前的重要時間線:

2014年初成立,三個創始人,CEO Naveen Rao、CTO Amir Khosrowshahi(姓氏是否很熟悉?沒錯,他和Uber現任CEO是堂兄弟,均來自伊朗的望族)和算法負責人Arjun Bansal。

2016年2月,發布基於Neon框架,宣稱在GPU上可以達到10倍以上的深度學習訓練速度。

2016年6月,宣布開發名為Nervana Engine的AI晶片。

2016年8月,被Intel已4.08億美元收購,被收購時員工48人。

非常巧的是,當時的48名員工有3個是我之前的同事或同學(其中包括第48名員工,入職即被收購的那位),我當時就饒有興趣地在他們網站上把所有人的背景都過了一遍,看完之後驚奇地發現這不是一家傳統意義上的晶片公司!

首先是創始團隊,三個人均是2010前後畢業的神經科學博士,沒有任何硬體背景;48人中還有不少來自神經生物學界的。

負責硬體的Carey Kloss是DV(晶片驗證)出身,主架構師Andrew Yang(不是那個每人發1000刀helicopter money的總統候選人)背景是網絡通信晶片的ASIC design。

而其他絕大部分人,包括我認識的3個,都是軟體工程師背景。

皮衣教主一直強調NVIDIA是一家軟體公司,這一點都沒錯,晶片產品最終拼的是軟硬體聯調的服務能力。但在晶片公司草創之初,沒有有經驗的、來自計算晶片背景的主架構師,沒有成型的硬體團隊,也是絕對不可接受的。這也為Nervana第一代Lake Crest晶片的失敗埋下了伏筆。按照正常的邏輯就是,Nervana原本的主營業務是神經網絡算法和框架,而晶片硬體項目只是一個pet project,乘著2016年5月Google公開發布TPU一代的東風,立馬趕鴨子上架,而Intel正好缺乏合適的AI晶片產品和GPU叫板,一拍即合,賣了個不錯的價格。

可惜,當年nervanasys.com的網站已經沒有辦法考古,這幾天點擊打開之後映入眼帘的是巨大的Intel+Habana的logo。

相比之下,在初創團隊組成上,不得不說,Habana是非常值得稱道的:

CEO David Dahan是DSP設計背景,在CEVA幹過好多年,之前聯合創立了Prime Sense成功賣給了Apple(AAPL.US)。

VP R&D Ran Halutz,是Dahan在Prime Sense和CEVA並肩作戰多年的隊友,負責晶片硬體設計。

CTO Shlomo Raikin,原Mellanox的首席架構師,之前在Intel做過10年的CPU架構設計。

Chief Business Officer,Eitan Medina,通信/晶片行業的老兵,Galileo/Marvell/Cavium的CTO和VP。

以上都是在Habana網頁和LinkedIn上公開的信息。然而,鮮為人知的是Habana幕後的大boss,Avigdor Willenz,以色列晶片界教父般的傳奇人物,90年代中期就創立了Galileo,如今在AWS撐起半邊天的Annapurna Labs也同樣出自他的手筆。是他,看到了AI晶片市場的巨大潛力,通過強大的資源整合能力,把以上的牛人們聚在了一起,並有策略有步驟地逐步推行產品計劃。

精心撰寫的劇本和「腳踩西瓜皮,滑到哪裡算哪裡」的創業,在人員布局上就可見一斑。

技術路線

晶片產品,最終是要回歸到技術的。Nervana被Intel收購之後,馬上根據Intel的習慣把產品線重命名成Crest,而第一代晶片Lake Crest因為之前的匆忙已經是箭在弦上不得不發了。根據wikichip [2] 和其他公開信息,我們來看一下它的晶片設計。

Lake Crest架構圖

平心而論,Lake Crest的架構還是非常工整的,有著當時業界領先的HBM2配置和帶寬,晶片間12個ICL互連也是比較超前的意識。55T 16bit FLOPS的算力如果能在2017年初正常發布也是非常有競爭力的產品,但是,因為前面在團隊部分描述的原因,Lake Crest成為了一個徹頭徹尾失敗的產品:

首先,因為項目啟動是在被收購之前,受於資金限制,Nervana只能找eSilicon合作,而且只能做28nm的產品(NVIDIA 2016年初發布的P100已經是16nm了)。即使被收購之後,Intel在這代產品上也幫不上太多忙。而最終的結果是,由於晶片執行上的問題,導致最後功耗巨大,400W的產品無法在已經被NVIDIA很好定義的300W PCIE的主流機型上做適配。

其次,其實也是架構裡面最關鍵的,也是Nervana當時最引以為豪的發明,Flexpoint最終被證明是個大坑。這點我在去年AI Hardware Summit的Keynote上提過,想要了解技術細節的可以看Nervana團隊在2017年NIPS大會的paper。

Flexpoint在技術上是個看似聰明的拍腦瓜的方案,撇開模型在其之上很難收斂的事實,光是其tensor之間共享 exponent需要反覆來回和host通信同步就是一個很大的overhead,而團隊欠缺計算晶片、特別是通用處理器的架構背景,軟體算法想當然,我認識是造成這個局面的很大原因之一。岔開一句,「軟體定義硬體「是個非常時髦的詞,而Groq 最近公開的144路VLIW的架構也足夠行家們貽笑大方了。

Flexpoint示意圖

有人可能要問,Nervana的neon框架後來哪去了?有人在Reddit[4] 上的回覆非常到位,「Development speed is generally more critical than computational speed in research」,「I trust TensorFlow/Torch more than Neon, e4ven if Neon is faster」。沒有抓住訓練用戶的痛點是其一,退一步來說,晶片公司沒有長出基於晶片的核心能力,框架做得再好,也無法僅憑此就成為未來競爭的護城河。

其實Lake Crest的失敗還不是致命的,以Intel的資源和能力,在後一代Spring Crest儘快修正錯誤未為晚矣。然而,期望的改變並沒有發生:

Spring Crest依然沿用了錯誤的Flexpoint設計,直到內部仿真明確了實在不行之後,才決定全面轉向BF16(原話是,」Flexpoint16三個月converge不了一個網絡,而BF16一天就可以converge三個」)。這也為什麼在2018年中Intel的AI大會上 [5] ,宣布了Spring Crest會有兩個迭代,第一個只做硬體適配仍然是Flexpoint,而第二個tape out會使用和Google TPU一樣的BF16。

不過,非常遺憾的 是,Nervana團隊沒有抓住兩次tape out的機會,在中間再加強算力,B stepping 2019年底119T BF16的算力和NVIDIA 2017年中發布的V100相比,毫無優勢可言,更何況市場都在等待2020年3月更強更新的GPU產品。刻舟求劍,用在這裡再恰當不過。

錯誤的技術方案和產品路線,貽誤了Nervana和Intel戰機。而反觀Habana,戰術和打法就清晰很多了:

首先是埋頭苦幹,2016年底成立後一直保持stealth mode,直到2018年9月AI Hardware Summit發布第一代inference晶片Goya(晶片實體,而非紙面發布),以單卡15000 images/s的ResNet50性能一鳴驚人。

同時宣布training晶片Gaudi將於半年之後面世,100個人不到的小團隊的戰鬥力吸引了全世界的目光,Intel Capital迅速投資。

2019年3月份,Facebook在OCP大會上發布OAM模塊標準之後,快速反應、迅速跟進,業界首個支持OAM標準,並第一時間在2019年8月在Hotchips大會現場演示。

再來看Habana的架構,無論是Goya還是Gaudi,其實都沒有任何fancy之處,兩顆晶片遵循了架構最大程度復用的原則,把一些普通的元素執行到了接近極致:

版圖上所謂的TPC,其實就是DSP,這是Habana團隊的強項。

畫得很小的GEMM矩陣加速但也其實是面積的主體,各家AI 晶片公司都有。

Local和Shared memory代表了大量的片上SRAM,其他AI晶片公司也都有。

Gaudi晶片集成NIC,概念上屬於Habana首創(NVIDIA後來也收購了Mellanox),但技術上並無特殊之處,片間互連帶寬遠低於NVIDIA的NVSwitch方案,但用比較低的成本實現all to all的connection也是充分發揮了其CTO來自於Mellanox的天然優勢

Habana的晶片架構雖然簡單,但勝在執行,把團隊每個人的優勢充分發揮,快速迭代,和Nervana相比絕對是技術和產品上的一股清流。

Habana Goya示意圖

Habana Gaudi示意圖

組織能力

有人說,Intel是把一手「好牌」打爛了,但我認為不然,Nervana從來就不是一手好牌,但Intel在組織架構上沒有很好地進行保障也導致了後來失敗的局面。

Intel內部團隊非常多也非常複雜,其中最大最重要的部門即為DCG (Data Center Group),而Nervana被收購之後即作為單獨的AIPG部門一度直接匯報給CEO,然後馬上又被掛在了DCG下面。然而,自2017年以來Intel內部的調整也一直沒有消停過:

2017年5月,主持收購Nervana的DCG部門負責人Diane Bryant離職,後加入Google負責谷歌雲。

2017年11月,Raja Koduri從AMD加盟Intel,主持GPU部門,並在2018年宣布會進軍discrete GPU市場和NVIDIA/AMD正面競爭。

2018年1月,Intel CEO Brian Krzanich因為私生活問題辭職。

2018年6月,CFO Bob Swan出任臨時CEO,2019年1月轉正。

從上述的時間線可以看到,Nervana自從被收購之後,除了在PR品牌上被Intel大肆宣傳之外,在內部並沒有被完全接受,AIPG的位置也一直在DCG內部飄忽不定,同時還面對Intel的GPU部門在產品定位上的全面競爭。

其實,從2018年以來,換掉Naveen Rao的聲音在Intel內外已經有不少了,但Intel遲遲沒有調整到位,也顯示了其作為大廠在組織架構上「擠牙膏」的慢節奏作風。

2017年中,Intel以色列團隊的負責人Gadi Singer調入AIPG,但只是讓他負責inference產品Hill (打Nervana的商標,但全是Intel原生技術),直到這周Naveen Rao離職才被扶正。

2018年中,Movidius(2016年被Intel收購)的前CEO Remi El-Ouazzane調入AIPG,但是只是讓他負責operation,沒有實際的架構和產品路線的管理權。

也就是說,從Crest產品線頹勢盡顯開始,Naveen Rao居然在AIPG的一號位上坐了兩年多,看起來不可思議,但其實也是公司內部不斷互相尋找平衡的大公司病的典型特徵。

最後來講一下我是如何大膽判斷Intel會棄子Nervana,收購Habana和其中timing的:

從財報來看,新任CEO上任之初通常會用big bath的手法把壞消息出盡,而通常CFO出身的CEO對砍人絕對不會手軟,只是時間問題。Bob Swan 2019年1月正式接任CEO,當月的財報抖了很多包袱,盤後跌了7% [6];同年4月的財報[7] ,他又表態「taking a more cautious view of the year」,然後盤後又跌了6%;而再過了幾個月,通過諸如把基帶生意關掉等一系列手段,把股價搞上去了,那就是時候來梳理最大的DCG部門了。

Intel一年股價走勢圖

作為Intel最賺錢的DCG部門,AI相關的營收一直是掌門人Navin Shenoy的痛,算上CPU,AI based的晶片營收才勉強超過NVIDIA,而AI硬體產業在未來幾年是幾百億美元的大市場,大有可為卻沒有很好的抓手:之前過於擔心對核心CPU市場的cannibalization沒有大力發展inference專用晶片,而Nervana又無法扛起訓練的大旗,確實頭痛。

北美big4,AWS只用最成熟的產品(訓練用GPU,推理開始推自研的inferentia),Google(GOOG.US)自然有了TPU,微軟(MSFT.US)鍾情於FPGA,而Facebook(FB.US)是唯一的空白。Facebook作為非雲廠商的hyperscaler,有一個特點就是喜歡逗人玩,沒事通過OCP發布行業標準來讓標準模塊商品化達到降低成本的目的。

剛才提到的OAM就是訓練加速卡的專用模塊,2019年只有Intel的Nervana Spring Crest和Habana的Gaudi具備了OAM的產品化能力,看看自己口袋裡的Nervana不一定爭氣,為了鎖定Big4中的最後一家,20億美金收購Habana我認為還是值得的。所以如果下周OCP大會,Intel和Facebook聯合發布產品,用足這20億的廣告費,是一點都不奇怪的。

2019年9月 OCP阿姆斯特丹大會

2019年6月,Intel的GPU團隊發布One API編程模型,其重點自然在One上面,號稱全Intel通用,而其對外的市場宣傳也把AI訓練作為其Ponte Vecchio晶片的主打,大有捨我其誰之勢。外部沒了市場還好,內部沒了面子怎麼行,DCG肯定坐不住。

綜上,砍掉Nervana,收購Habana,勢在必行。而Nervana團隊內部看得清形勢的人,在2019下半年也陸續出走了。

當Habana在2019年Hotchips現場demo樣機的時候,NVIDIA的Tesla線產品經理問我最看好哪家AI晶片公司,我答「Habana」;又問我如何解,我再答「被Intel收購「;我倆相視一笑。當然,這是玩笑,我還是真心希望能看到市場上出現能和NVIDIA正面PK的產品,希望Habana不要重蹈之前那些被Intel收購公司的覆轍。

Nervana帶來的啟示

Habana不是一個完美的例子,以色列團隊傳統也是硬體強,軟體偏弱,但人家畢竟在沒有把產品賣出去的情況下先把自己賣了,從思路到執行力還是值得好好研究的。

Nervana的倒掉,在我看來,標誌著AI晶片的競爭即將從從春秋進入戰國階段。雖然皮衣教主還有著絕對的統治力,但無可否認越來越多資金雄厚的玩家會更加重視這個市場,面對幾百億美元的大市場,資金、技術、產品能力還有眼光缺一不可。根據上述Habana和Nervana的對比,一個成功的AI晶片需要做到的點:

完整的團隊:功力深厚的(軟硬體)架構師、經驗豐富的執行團隊、能精準把握市場趨勢的產品團隊。

前瞻的眼光:產品定義要有足夠的高度和包容度,保持對技術趨勢的敏銳度,Habana的一鳴驚人和第一時間擁抱OAM就是最好的例證。

完美的執行:速度和迭代能力也將會是核心競爭力,特別是AI算法日新月異的今天,軟體和硬體周期不匹配日益突出,我認為這將是中國公司短期內競爭力所在。

現實的兼容:與現有產品實現平滑過渡(無論是軟體還是數據中心基礎設施),作為硬體廠商不要幻想一朝一夕就能改變頂層用戶習慣(Flexpoint的反例),同時保留通用性適應未來的發展和建立自己的生態。

貼身的服務:軟體能力(其實是軟硬體聯調能力)決定晶片的成敗已經成為一個共識,而能夠本地化服務於客戶,提供優秀解決方案的服務能力也會是晶片技術之外的分水嶺。

充裕的資金:我在AI Hardware Summit上曾把AI晶片的競爭比喻成長徵,晶片的長周期和快速迭代之間的矛盾就決定了需要更大資金的投入,這也是未來競爭力的關鍵所在。(編輯:孟哲)

相關焦點

  • 起了個大早趕了個晚集——單搖臂的飛肯FK250-GP終於準備上市了
    單搖臂幾年前還是個稀罕玩意兒,如果飛肯的這款小跑車能早幾年上市,憑藉著「一招鮮吃遍天」的賣點,能大大提升飛肯在行業內和用戶群體中的知名度,甚至有可能在品牌影響力上一舉達到與奔達,龍嘉等等二線品牌並駕齊驅的高度,不過,飛肯也是命運多舛,起了個大早趕了個晚集,最先提出單搖臂的概念,卻還是被別人搶了先機,合作的奧古斯塔也分道揚鑣,到底飛肯是怎麼了,我們不得而知,但是還是希望腳踏實地地做實業
  • 全球智能手錶銷量排名:蘋果第一,華為第二,小米起大早趕晚集
    而在國內較早推出可穿戴設備的小米,卻並沒有保持先發優勢,被網友吐槽「起大早趕晚集」,至於小米落榜的原因,筆者認為這或許與其智能手錶的發布時間有關。據筆者了解,小米在2019年11月才推出首款智能手錶,該產品上市至今不過7個月的時間,既沒有蘋果的影響力和多年布局,也沒有華為的自研優勢,再加上發布時間較短,產品種類和數量不夠豐富,落榜也不足為奇。
  • 影迷:起了大早,趕了個晚集!
    原因其實很簡單,有3點:【1】星球大戰「起了個大早,趕了個晚集」!熟悉漫威的影迷應該都清楚,漫威在國內爆火的時間基本上也就是2008年開始的,這個時間段,先不說國內電影市場對於外來電影的包容性多高,但起碼也是給足了公平合理的競爭環境。
  • 英特爾20億美金收購Habana,AI副總裁Rao宣布離職,Nervana被淘汰
    有網友問Rao下一步是自動駕駛、大腦植入還是新的晶片,Rao表示「大腦植入很有趣,自己很樂意加入這一領域,但需要看看是否準備好生產。」英特爾表示已經結束了Nervana NNP-T訓練晶片的開發,並將對當前的客戶履行之前Nervana NNP-I推理晶片的承諾。英特爾在1月31日的一份聲明中說:「Habana產品線在統一的,高度可編程的推理和訓練架構方面,提供了強大的戰略優勢,我們的工程團隊可以齊心協力,專注於更快地為客戶提供更多創新。」
  • C語言基礎(下)
    比如手機由電池、屏幕、晶片等很多個部分組成。同時對於一個電池它又是由很多的其他東西組成。結構體就是把這些東西組合在一起,進行統一的訪問和管理。可以理解成是對現實世界的抽象結構體不僅可以記錄不同類型的數據,而且使得數據結構是「高內聚,低耦合」的,更利於程序的閱讀理解和移植,而且結構體的存儲方式可以提高CPU對內存的訪問速度。
  • 英特爾(INTC.US)跌超6%,此前消息指出微軟(MSFT.US)計劃自主設計晶片
    消息指出,微軟(MSFT.US)計劃自主設計晶片,用於運行該公司雲服務的伺服器,加入全行業減少對英特爾依賴的趨勢。此前蘋果(AAPL.US)宣布開始銷售使用自家M1處理器而非英特爾晶片的個人電腦。知情人士指出,微軟正在通過Arm Ltd設計一款用於數據中心的處理器。該公司也在考慮為Surface系列個人電腦配備另一種晶片。
  • 下一個倒下的會不會是英特爾(INTC.US)?
    這個和半導體行業幾乎同齡的晶片巨頭,是否如諾基亞一樣處於被碾壓的前夕?1 英特爾碰壁2020年,英特爾不順。1月24日,英特爾憑藉不錯的2019年年報,創下其最高市值紀錄——2978億美元。半年後的7月23日,英特爾卻宣布:由於生產上遇到「缺陷」,7nm製程處理器上市時間將延遲6個月,最晚於2023年上市。
  • 被蘋果(AAPL.US)拋棄兩次的英特爾(INTC.US),差在哪裡?
    矽谷的主流觀點認為,英特爾「擠牙膏」般的晶片升級速度已經不能滿足蘋果的訴求,拖累了蘋果的產品戰略,現在改用自家基於ARM架構的晶片,會大幅改進蘋果的生產效率,為軟體開發帶來新的動力,並真正實現iPhone、iPad和Mac三個平臺的無縫兼容,讓一些強大的應用功能更好地實現。
  • 編程筆記:int main和 int main(void)的區別?
    考慮 main()的以下兩個定義: int main() >{ /* */ return 0; } 和 int main(void)
  • 起了個大早趕了個晚集,蘇57已首飛十年,會成俄空軍未來主力嗎?
  • java算法之尋找最小的k個數
    題目描述輸入n個整數,輸出其中最小的k個。分析與解法解法一要求一個序列中最小的k個數,按照慣有的思維方式,則是先對這個序列從小到大排序,然後輸出前面的最小的k個數。這時,咱們想到了用選擇或交換排序,即:1、遍歷n個數,把最先遍歷到的k個數存入到大小為k的數組中,假設它們即是最小的k個數;2、對這k個數,利用選擇或交換排序找到這k個元素中的最大值kmax(找最大值需要遍歷這k個數,時間複雜度為O(k));3、繼續遍歷剩餘n-k個數。
  • 完美體現華為麒麟810晶片的超強實力 升級版AI跑分高達41838分
    近日,知名跑分網站 ai-benchmark 上公布了麒麟 820 晶片的 AI 跑分,高達 41838 分,僅次於麒麟 990 5G 與聯發科的天璣 1000,排在第三位。據悉,麒麟 820 5G SoC 晶片,在「一代神 U」麒麟 810 的基礎上再次升級:強勁 8 核 CPU 性能提升 27%、新架構 GPU 圖形能力提升 38%、新升級 NPU AI 性能提升 73%。值得注意的是,麒麟 820 採用麒麟 990 同款 Kirin ISP 5.0,支持 BM3D 單反機圖像降噪和視頻雙域降噪。
  • C語言程序設計試題及答案
    A) &(*x)   B) x C) *x D) &*x13、設a,b,c都是int型變量,且a=3,b=4,c=5,則下面的表達式中,值為0的表達式是( )。
  • 起了大早趕個晚集!搶在殲20前首飛的蘇-57,竟才入列俄空天軍
  • C語言經典題型NO.2
    =%d\n",i,fact(i)); }}int fact(j)int j;{ int sum; if(j==0){ sum=1; } else { sum=j*fact(j-1); } return sum;}38、利用遞歸函數調用方式,將所輸入的5個字符,以相反順序列印出來
  • Arrays.sort() 為什麼可以對 int 等數組進行排序?我跟面試官扯了...
    int[] ints = {50,1,4,8,3};String [] strings = {"q","a","c"};Arrays.sort(ints);for (String val: strings) { System.out.print(val
  • 英特爾(INTC.US)等頂級半導體公司在中國大陸布局情況如何?
    英特爾將打造「五個一工程」:從人才培育、項目孵化、應用展示、峰會大賽、產業聚集五個方面培育FPGA生態。6、中國投資和合作英特爾投資設有專門針對中國的投資基金,在中國投資了數十家高科技公司。英特爾還入股紫光展銳6億,持股14.29%;和大華股份戰略合作,加速物聯網布局。
  • 使用Tensorflow+OpenCV構建會玩石頭剪刀布的AI
    我們需要收集石頭,布和剪刀的符號圖像,我沒有下載別人的數據並在上面進行訓練,而是製作了自己的數據集,鼓勵你也建立自己的數據集。之後嘗試更改數據並重新訓練模型,以查看數據對深度學習模型究竟有怎樣的影響。>try: os.mkdir(SAVE_PATH)except FileExistsError:passct = int(sys.argv[2])maxCt = int(sys.argv[3])+1print("Hit
  • C語言寫個貪吃蛇遊戲
    貪吃蛇是個非常經典的遊戲,用C語言來實現也是一個好玩的事情。這個遊戲我寫完後放在知乎,竟然點讚的人數超級多。我覺得大家喜歡,一個方面是因為寫得簡單,大家都能看得懂,一個可擴展性還是非常強的。還有一個枚舉類型 這個結構體用來設置蛇的幾個狀態,我覺得這個也是面向對象編程的一個思想,把蛇的狀態都封裝成一個枚舉類型。