由 [GeForce] 到人工智能 [AI]:[NVIDIA] 圍繞 [CUDA] 嘅決定點解改變咗一間公司嘅未來?

引言:可唔可以放棄今日嘅利潤,去建立聽日嘅計算世界?
一間公司為咗客戶並冇即時要求嘅功能投入巨資。加入呢項功能推高咗生產成本,但客戶並唔願意為佢多俾錢。儘管如此,呢間公司冇退縮,因為佢唔只係想賣一件新產品;佢想搭建一個計算平台,等未來其他人可以喺上面創造自己嘅作品。
呢個正係 [NVIDIA] 喺 [GeForce] 圖像處理器 [GPU] 入面引入 [CUDA] 功能時所作決策嘅核心。正如黃仁勳 [Jensen Huang] 所解釋,呢個決定並冇為公司帶嚟立竿見影嘅成功;相反,佢帶嚟咗成本、利潤壓力同漫長嘅等待。但後嚟,佢成為咗深度學習 [Deep Learning] 發展嘅基石之一。
1. 由單一任務嘅加速器到廣闊嘅計算平台
起初,[NVIDIA] 係一間將某一項特定任務做得好好快嘅公司。呢種專長俾咗佢力量;但同時,只依賴一個狹窄嘅市場,亦可能限制佢嘅研發 [Research and Development] 能力。
呢度存在一個矛盾:如果過度針對專門任務嚟設計,通用計算任務就可能難以完成;如果樣樣都想做,又可能失去最初嘅專長。黃仁勳嘅做法,係喺兩者之間循序漸進。
佢解釋話,第一步係可編程像素著色器 [Programmable Pixel Shader]。隨後,著色器 [Shaders] 入面引入咗符合標準嘅32位浮點運算 [IEEE-compatible FP32]。呢樣令研究者提出咗一個問題:為圖像而打造嘅處理器,可唔可以用喺其他計算上?
之後出現咗以 (C) 編程語言為基礎嘅 [Cg]。呢段旅程最終走向咗 [CUDA]。所以,呢個唔係一日之內誕生嘅神奇方案,而係一段將一項技術能力同下一項能力連接起嚟嘅持續旅程。
2. 比創造 [CUDA] 更重要嘅,係將佢帶到咗邊度
創造出一項優秀技術,並唔意味住人哋就會開始用佢。呢個需要編寫程式嘅開發者 [Developers],亦需要能夠使用呢啲程式嘅大量用戶。
一個計算平台 [Computing Platform] 嘅力量,唔只喺於佢嘅設計之美,仲喺於佢已經覆蓋咗幾多人。黃仁勳將呢點解釋為裝機基礎 [Installed Base] 嘅重要性。
佢舉嘅 [x86] 架構儘管飽受批評,卻憑藉廣泛使用嘅力量屹立不倒;同時佢指出,一啲設計精簡嘅精簡指令集架構 [RISC Architectures] 並未獲得預期嘅成功。呢個並唔係話所有 [RISC] 設計都失敗咗;關鍵在於,技術上嘅精巧本身並唔能保證一個平台嘅成功。
嗰陣時,[GeForce] 已經以每年百萬計嘅銷量出售。因此,[NVIDIA] 手上已經有一條現成嘅路,可以將新嘅計算能力帶俾大眾。
3. 每一粒 [GeForce] 處理器入面嘅 [CUDA]:喺用戶開口之前就已經起好嘅地基
佢哋本可以將 [CUDA] 功能只放喺少數高價嘅研究機器入面;但咁樣一嚟,能夠接觸到佢嘅人數會非常少。
相反,公司決定透過 [GeForce],將呢項能力帶入廣泛普及嘅個人電腦 [PC]。為打機而買嘅產品入面,亦有咗用於研究嘅可能。學生、大學實驗室,或者獨自砌電腦嘅研究者,都能夠用手上已有嘅工具嘗試新嘅計算。
呢個並唔意味住 [CUDA] 喺每一部電腦上都真正運行起嚟。要點係:佢哋以 [GeForce] 嘅裝機基礎為起點,令呢項能力俾更多人觸手可及。
黃仁勳話,佢哋唔止於提供工具,仲走入大學授課、寫書、開班。建立一個平台,並唔止於賣出佢嘅產品;仲必須培養識得使用佢嘅知識同社群。
4. 眼前嘅代價:上升嘅成本同受壓嘅利潤
呢一決策嘅經濟負擔並唔輕。黃仁勳回憶道,加入 [CUDA] 能力令該處理器嘅成本上升咗約50%,而當時公司嘅營運毛利率 [Gross Margin] 約為35%。
遊戲用戶唔會為自己用唔到嘅計算能力多俾錢。因此,公司只可以自己承擔呢部分成本;佢形容話,嗰幾乎吞咗公司嘅全部毛利額 [Gross Profit Dollars]。
唔可以直接將呢兩個百分比相減嚟斷定公司嘅財務狀況:一個嘅基礎係生產成本,另一個嘅基礎係由收入計出嘅利潤比率。佢強調嘅唔係簡單嘅算術,而係當時嘅艱難處境:必須為聽日嘅平台犧牲今日嘅收入。
佢大致話,當時公司嘅市值 [Market Capitalisation] 約為六十億至八十億美元,後嚟跌到約十五億美元。呢啲係佢憑回憶俾出嘅估算,亦唔能夠據此斷定 [CUDA] 係嗰段變化嘅唯一原因。
不過,佢嘅另一個睇法好重要:預期嘅成果花咗大約十年先嚟到。呢個決定唔係為下一個季度嘅收入而做嘅。
5. 點解呢個決定成為咗深度學習嘅地基?
新研究面對嘅一大障礙,係獲得工具所需嘅成本同困難。如果可以喺好多人已有嘅工具上開始新嘅嘗試,呢道障礙就少咗一截。
透過 [GeForce] 普及開嚟嘅 [CUDA],起咗一個等研究者喺相同嘅編程環境 [Programming Environment] 入面做實驗嘅地基;喺其上累積嘅知識、程式同經驗,亦服務於一輪又一輪嘅新嘗試。
當深度學習 [Deep Learning] 興起嗰陣,適合佢所需大規模並行計算 [Parallel Computing] 嘅工具,同埋識得使用呢啲工具嘅人,都已經就位。呢個係關鍵嘅先發優勢。
深度學習嘅全部歷史,並唔只依賴於一間公司或者一件工具。但喺等佢所需嘅計算平台廣泛可得呢一點上,呢個決定佔有重要位置。正因如此,黃仁勳強調:[NVIDIA] 係 [GeForce] 起出嚟嘅屋企。
6. 喺技術決策之前建立起嚟嘅信任
一位領導者嘅腦海入面,未來或者清晰可見;但如果董事會、管理層、員工、客戶同股東唔能夠接受,僅有呢份清晰係唔夠嘅。
黃仁勳將自己嘅方法描述為循序漸進嘅解釋。每當出現新嘅資訊、研究進展或者工程成就,佢都會向周圍嘅人說明,佢哋同未來嘅方向有何關聯。
喺宣佈重大決定嘅嗰一日,佢對任何人都唔應該係突如其嚟嘅驚雷;相反,佢嘅地基應當早已打好,好到人哋反而會諗:點解花咗咁耐?呢個係佢嘅諗法。
[CUDA] 決定嘅背後,亦有住呢種長期嘅信任同耐性。選定技術路線嘅同時,仲必須等承擔其成本嘅公司為呢段旅程做好準備。
7. 唔係一件產品,而係一個等夥伴共同創造嘅平台
[NVIDIA] 將自己視為一間平台公司 [Platform Company] 嘅思路,喺呢度同樣重要。呢種方式嘅核心,係喺自己嘅每一層上,都為其他公司留出貢獻同共同創造嘅空間。
呢個並唔意味住佢嘅所有軟件都以開源 [Open Source] 方式提供;為夥伴提供共同創造嘅機會,同將源代碼完全公開,係兩回事。
一個好嘅平台,唔只靠創造佢嘅公司成長;研究者、開發者、企業同教育機構喺其上構建嘅應用,同樣等佢成長。[CUDA] 相關嘅決定,打開咗通往呢種成長嘅大門。
8. 今日嘅啟示:只加速一粒處理器係唔夠嘅
喺大規模分擔嘅計算任務 [Distributed Workloads] 入面,只加速其中一個部分,成個系統並唔會以同樣嘅幅度變快。阿姆達爾定律 [Amdahl's Law] 解釋咗呢一點。
假設我哋只可以改進一項任務入面一半嘅時間:無論將呢一半加速幾多,未被改變嘅另一半依然存在;即使被改進嘅部分快到幾乎唔花時間,成項任務最多亦只可以快一倍。
正因如此,圖像處理器 [GPU]、中央處理器 [CPU]、網絡 [Networking]、記憶體 [Memory]、供電 [Power] 同散熱 [Cooling] 必須被設計成彼此配合嘅整體。黃仁勳將此稱為極致協同設計 [Extreme Co-design]。
喺呢度,可以睇到佢同早期 [CUDA] 決定之間嘅延續:僅有單個工具嘅能力係唔夠嘅,使用佢嘅成個生態亦必須一齊成長。
結語:一個創造咗未來用途嘅決定
[CUDA] 面世嘅重要性,唔只在於多咗一項新嘅編程功能;佢更深層嘅意義在於,佢哋將呢項功能同已經喺大量銷售嘅 [GeForce] 結合埋一齊,提前將佢送到咗未來將會使用佢嘅人哋手中。
如果只睇當時嘅成本,呢個決定或者顯得錯誤;但 [NVIDIA] 明白,一個計算平台嘅價值,亦存在於別人將喺其上構建嘅應用之中。
當技術、廣泛嘅使用、教育、開發者社群同企業嘅耐性行到埋一齊,一個新嘅機會誕生咗;而呢個機會,後嚟同人工智能 [AI] 世界嘅成長匯合。[CUDA] 嘅決定話俾我哋知嘅係:為咗聽日嘅大變革,今日就需要一個好多人能夠共同搭建嘅地基。
Powered By K7
