2016年人工智慧最吸引眼球的事件莫過於Google旗下的DeepMind依靠人工智慧演算法的AlphaGo在圍棋比賽中大勝人類頂尖選手。但要算商業價值的落地,2016年人工智慧的贏家則非Nvidia(英偉達)莫屬。
這家全球領先的顯示卡公司最新一季的財報(截至2016年10月30號)顯示該公司的營收比去年同期增長54%,尤其是在資料中心業務方面有了兩倍多的增長。該公司的股票在過去的一年中也增長了4倍多,穩坐了標普500的榜首。
Nvidia在人工智慧晶片市場的真實統治力,可能比股票市場上的亮眼成績更為顯著。儘管市場上也存在其他深度學習訓練(training)和預測(Inference)的解決方案,但試問各家AI企業,無論其內部的模型訓練,還是銷售給最終客戶的智慧產品,絕大多數還是採用了Nvidia的GPGPU方案。
在Nvidia不斷從各個角度(伺服器、PC、嵌入式、汽車、訓練專用和預測專用)推陳出新的時候,其他各家競爭公司基本上還處在嘗試初次產品化的過程中。據我粗略估計,Nvidia在人工智慧晶片領域,領先最接近的競爭者至少有2年的時間。
今天Nvidia在人工智慧領域的優勢絕對不是一日之功。事實上整個深度神經網路技術在過去三年的崛起,除了大規模資料(如ImageNet)提供了訓練深度網路的基礎條件,通用圖形運算單元(GPGPU)技術提供的強大運算能力也功不可沒。如果沒有Nvidia的CUDA平臺,科學界證實深度學習巨大潛力的時間不知道還要推遲多久。
更難能可貴的是,GPGPU技術使得在PC級別的電腦上進行高密度的高性能運算成本大幅降低,以至於一個普通科學研究人員案腦都有可能部署上萬個並行處理內核。這使得深度學習技術迅速地在科技界發展和普及起來。可以這麼說,如果沒有GPGPU,堅持研究了二十多年神經網路演算法的Yann LeCun和Hinton教授們,恐怕還得繼續在學術界被繼續埋不少年。
而是什麼原因使得一家以提供3D遊戲渲染的顯卡公司,在這個重要的歷史節點,扮演了救世主的角色呢?
本文基於我個人的經歷和觀察,提供一些相關的線索和理解。在這個過程中有兩個關鍵性的人物,分別是英偉達的CEO黃仁勳(Jen-Hsun Huang),以及英偉達的前首席科學家David Kirk。
Nvidia的CEO Jen-Hsun Huang(黃仁勳)大名鼎鼎,在矽谷可能是最有成就的華裔企業家。關於David Kirk的官方報導卻很少,在Nvidia Research的網站上可以看到他從1997年到2009年擔任Nvidia的首席科學家(Chief Scientist),是美國工程院院士,目前是Nvidia fellow。
事實上瞭解Nvidia歷史的人都知道,這家1993年創立的公司,真正的爆紅產品GeForce系列就是1999年上市並且打響了國際聲譽的。也就是說,David Kirk任職期間,他帶領NV創造了至今仍是全世界最暢銷的獨立顯是卡產品。
對於高性能運算以及人工智慧領域的學者來說,David Kirk最偉大的功績則是他促成了GPU通用化,推廣了CUDA平臺以及OpenCL標準。在摩爾定律面臨時鐘頻率無法繼續進步的時代,GPGPU這種低成本大規模的SIMD並行處理架構,讓很多普通人的電腦變成了超級電腦,也讓本該壽終正寢的摩爾定律繼續發光發熱。他發明的GPGPU科技,給歷經苦難的神經網路技術,鋪墊了一條通往苦盡甘來的道路,也成就了人工智慧當前大發展的局面。
我有幸於2008年在Nvidia Research任職實習生。那時我還是一枚電腦視覺專業的博士候選人。當時從事人工智慧研究專業的博士生,日子過得可不像今天的師弟師妹們那麼痛快。整個領域整體還處在不知該往哪走的狀態,也沒有專門針對電腦視覺而設計的專用晶片。
學生時期的我,為了視覺訊號即時處理,鑽研過嵌入式CPU、DSP、FPGA等方案。這些方案要嘛性能不足,要嘛開發流程複雜不便。我甚至嘗試過同時使用十幾台伺服器並行處理一路即時影片的視覺理解(也真是土豪極了)。
2007年Nvidia推出了CUDA beta版,我在EPSON實驗室自己摸索著用一塊普通的遊戲顯卡,把一個視角轉換功能(使得一台投影儀在任意形狀和顏色的背景上顯示出理想畫面)的性能,相比最好的桌上型電腦CPU解決方案,提高了整整50倍。從此以後我就認定了GPGPU是人工智慧的重要解決方案,我的研究人生就此走上了康莊大道。EPSON的實習結束後,我申請了Nvidia Research lab的實習生,希望深入研究一下GPGPU在電腦視覺訊號處理中的應用。
很幸運的是,我實習期間的名義導師就是Nvidia首席科學家David Kirk。不過由於Kirk先生太忙,整個實習期間我和他其實也只見面交流了幾次而已。Kirk先生教導學生的方式挺有意思。我進公司第一次見到導師,問我的任務是什麼。
Kirk先生說你有兩個任務:第一個任務是花兩周的時間想清楚自己想解決什麼問題;第二個任務就是用實習剩下的時間完成那個任務(這不就是放羊嗎?)。
Kirk先生一方面組織科學研究,一方面花很多時間研究公司未來的產品策略,近在咫尺卻實在沒有時間指導學生,於是就委託了遠在明尼蘇達的Michael Garland博士和佛吉尼亞的David Luebke教授遠程指導在矽谷實習的我。
Nvidia的CEO Jen-Hsun Huang工作很忙,但是他對於研究院的工作極其感興趣。我親眼目睹黃總在實驗室和研究員們討論問題時的認真和耐心。2008年夏天有個專為實習生安排的demo展示會。沒想到那天Jen-Hsun也來參觀,並且很耐心地巡視實習生作品。
6年之後的2014年,當我在Nvidia北京辦公室代表我的創業公司再次見到Jen-Hsun時,他竟然一口叫出了我的名字並回憶起當年我給他做的展示。這樣的記憶力和洞察力,讓我印象深刻。
那幾年,David Kirk的主要精力都在試圖把原來只用來作3d渲染加速的GPU技術通用化,讓更多的應用分享到大規模SIMD運算陣列的性能優勢。在一次聊天中,Kirk跟我說他從2003年就開始琢磨這個問題:那時Intel剛剛推出了四核的CPU處理器,NV就已經推出包含了100多個SIMD內核的GPU了。
Intel的處理器可以透過多執行緒技術被所有電腦應用分享;但是GPU基本上還是只能通過OpenGL/DirectX等高等繪圖渲染介面,或者使用極度麻煩的Shader Program介面跟使用者交互。如果能夠提供合適的程式設計模型,把豐富的GPU並行運算資源給開發者分享出來,那麼每一個用戶的GPU,都可以變成一臺上百核的大規模高性能電腦。
讓每一台個人電腦變成一座大規模超級電腦!
這個想法雖好,但是需求在哪裡呢?普通民眾為什麼要花錢(即使是幾百塊美元)去購買一台超級電腦呢?除此以外,全世界所有的電腦軟體工程師幾十年來已經適應了在CPU上編寫程式,該怎麼去培養懂得在超級電腦上編寫並行處理常式的軟體工程師呢?畢竟,理想是理想,現實是現實。
但是David Kirk先生,竟然就說服了Jen-Hsun,投入很多資源研發出了能夠讓GPU變得通用化的CUDA技術。等到這個技術成熟以後,David Kirk又向CEO提出要求:NV未來所有的產品,每一顆GPU,無論是賣到哪個產品線的,都必須支援CUDA!
David Kirk的理由是這樣的:如果僅僅是資料中心版本的GPU支援CUDA,那麼只會有很少的工程師擁有合適的硬體來學習和研發CUDA程式;如果普通消費者的顯卡不支援CUDA程式,那麼這種技術永遠不可能變成一種普惠的、能夠影響大多數人的成果。因此要嘛不幹,要嘛就徹底地大幹特幹!
即便是今天回想起來,這仍然是一個風險極高、形同瘋狂的決定。要知道,那個年代的Nvidia,幾乎100%的收入都來自電腦遊戲或者美工設計等傳統應用。這意味著面對這些尚沒有高性能運算需求的傳統客戶,Nvidia都必須在硬體產品的設計中增加相關的CUDA邏輯電路,這使得晶片面積增大、散熱增加、成本上升、故障幾率增加;同時,對於每一款產品,相關的軟體驅動都必須保障對CUDA的完美支援。
要知道,CUDA本身的升級換代,使得對過去每一款硬體產品的相容性支援變成了海量工作(我想NV至少有幾百名驅動程式工程師哭暈在廁所)。最要命的是,誰也說不清這些額外的工作,除了要成就把每一台PC都變成超級電腦這樣遙遠的科學理想,到底對消費者有什麼具體的價值。
很顯然,這樣的決定如果放在一般的把風險控制和短期利益看得很重的公司,是絕無可能發生的。但Jen-Hsun Huang不是一位普通的CEO。他支持了這個偉大的、同時也伴隨巨大風險的決定。於是,2007年,從Nvidia的Tesla架構(內部代碼G80)開始,NV出的每一款GPU晶片(除了Tegra1-4等移動嵌入式系列),都完全支援GPGPU的CUDA架構。
和今天Nvidia的繁榮景象不同,2008年的Nvidia處在水深火熱中。一方面CPU大咖AMD收購了NV的老對手ATI,形成了CPU整合GPU的新解決方案;一方面Intel中斷和Nvidia之前在集成顯卡方面的合作,把三維圖形加速功能集成進了自家的晶片組。面對兩大CPU巨頭的合力夾擊,NV的局面異常緊張,只剩下高性能的獨立顯卡一條路。
然而屋漏偏逢連夜雨,NV主打的高端筆記型電腦獨顯產品8600M系列出現了和散熱有關的品質問題,很多採用了這款顯卡的筆記型電腦(所有的主流品牌包括蘋果的MacBook Pro)出現了黑屏甚至是燒機等故障。這時,NV除了面臨用戶和股民們潮水般的譴責和質疑,還要面對整機廠商的訴訟和賠償要求。
對於重大的產品品質事故,當時在公司內外部都流傳著這麼一種質疑:雖然事故的直接原因是晶片製造商台積電(NV是一家fabless的晶片公司,也就是只設計晶片,把晶片生產外包給其他公司)採用的一種沒有經過長期充分驗證的封裝材料導致晶片散熱出現問題。但是如果不是每個晶片都支援CUDA,那麼散熱的壓力原本可以輕鬆一點,製造部門也就沒有必要鋌而走險採納台積電的不成熟方案。
與此同時,競爭公司Intel和AMD的攻擊一波一波來襲。Intel計畫推出的GPCPU方案Larrabee採用了大規模支援x86指令集的陣列,號稱能讓Legacy Software順利運行(後來該方案在2010年由於性能不如預期等原因被Intel取消);AMD則在競爭激烈的遊戲顯卡市場推出遊戲性能強大並且功耗和散熱更優的純粹GPU產品直接競爭。
一時間,Nvidia頗有些四面楚歌的感覺。在2007到2008年度,NV的股價從最高37美元跌落到最低6美元左右。
而就在2009年1月,David Kirk離職了。他離職後去了UIUC和Wen-mei W. Hwu教授一起開了一門關於CUDA的程式設計課。我也應他們的要求幫他們的教科書寫了一點東西。那時我聽到一些謠言,說Jen-Hsun Huang後悔支持CUDA了。
不過接替Kirk的是史丹佛大學電腦系主任Bill Dally教授。Dally教授是並行運算領域的頂尖專家,而且是Kirk在加州理工的校友。這個人事任命消息使得我確信之前聽到的傳聞都是謠言。Dally是增強版的Kirk,Nvidia並沒有放棄讓每一台PC成為超級電腦的理想。
從2009年的GTC開始,CUDA、高性能科學運算和個人超級電腦變成了一家遊戲顯卡公司最顯著的主題。來自電腦視覺、自然語言處理、語音辨識、生物、醫療、天文地理、腦神經科學,甚至是社會科學的研究者們,基於CUDA,在他們的個人電腦上不斷挖掘出驚人的計算力。
這些成果發表在各個領域的各種重要期刊上,推動著這些領域的快速發展。2011年,我在GOOGLE的同事們發起了一個叫做Google Brain的項目,大量地使用GPGPU技術把深度神經網路技術應用在幾個重要的人工智慧應用領域裡。
2012年的CVPR,他們探索出只用一個模型就可以在不同圖片中區分10萬種物體的檢測演算法,並成為CVPR最佳論文。在我看來,這一年是人工智慧技術發展的分水嶺。從此這個領域的進展真的可以用日新月異來形容。2013年,我離開山景城的Google研究院,回到北京創立了格靈深瞳,中國最早的一批人工智慧公司。
今天,格靈深瞳的所有產品(硬體部分)都採用了Nvidia的GPGPU處理器。格靈深瞳能夠有今天的機遇,離不開這家令人尊敬的顯卡公司,離不開Jen-Hsun、David Kirk這些有遠見和魄力的企業家和科學家。
有人說是深度學習技術成全了NV的GPGPU,要不然NV這麼多年對科學運算大規模的投入可能就打水漂了。其實我認為,反而是GPGPU技術,成全了深度學習技術。資料運算的能力,對於人工智慧領域,就像空氣和水對生命的重要性一樣。
2015年夏天在廣州的一個活動上,我很高興地再次遇見了David Kirk。那時他已經全職回到了Nvidia工作。人工智慧領域經過幾十年的發展,道路曲折坎坷。很幸運我們這個領域總是被一些有遠見的人預見和引導。遠見很重要,但堅持理想,讓遠見落地變成現實是需要勇氣與魄力的。
關於格靈深瞳:
一家具備電腦視覺和深度學習技術以及嵌入式硬體研發能力的人工智慧公司,作為一家影片大數據產品和方案提供商,公司主要關注的領域包括公共安全、智慧交通、金融安防等,同時公司在無人駕駛、機器人和智慧醫療方面也進行了深入的佈局,目前已經推出了深瞳人眼攝像機、威目視頻結構化系統、威目人臉識別系統、威目車輛大資料系統、威目視圖大資料平臺以及皓目行為分析儀等產品。
本文授權自《36氪》,作者:36氪的朋友们