在這個 AI 技術還沒定論的時代,為何 NVIDIA 能登高一呼萬眾矚目

2017.06.05 05:56PM
是在這個 AI 技術還沒定論的時代,為何 NVIDIA 能登高一呼萬眾矚目這篇文章的首圖

最近在一群探討技術的朋友當中最熱門的話題就是” NVIDIA ”憑甚麼,在前幾年歷經 GPU 架構設計不如預期、跨入手機平板裝置後又淡出,卻同時也成功進軍車載,且在短短時間內執行長黃仁勳還被外界喻為 AI 教父,這一兩年只要談到 AI 幾乎都不會少談到 NVIDIA ,但對極早就投入 AI 相關技術的企業來說,看到 NVIDIA 如此風光,當然心底不是滋味。

 

AI 並不是一個全新的概念,在有電腦之後一直以不同的名詞出現在科技發展史中,從最早的 AI 人工智慧,到前幾年的大數據分析,演進到最近的機器學習/深度學習,指的都是 AI 在不同時代的發展型態。

是在這個 AI 技術還沒定論的時代,為何 NVIDIA 能登高一呼萬眾矚目這篇文章的第1圖

AI 技術之所能突破,是由於軟體與硬體相輔相成下的結果,整個電腦產業發展歷經由 CPU 萬能到了 GPU 加速輔助,現在開始談異質運算,還有為這些發展所鋪路的各式演算法,是使得科技能夠進步的關鍵。從今年 NVIDIA 執行長黃仁勳在 GTC 與 Computex 的主題演講都在論述唯異質運算才能使運算力持續倍增,可看到純 CPU 運算的世代已經遇到瓶頸。

 

NVIDIA 之所以能在近幾年大出風頭,除了 GPU 架構的提升外,另一個關鍵就是其耕耘了十年之久的 CUDA 指令集終於開花結果;對於 GPU 加速這一觀念來說, NVIDIA 並不是唯一一家,且以歷史來看 AMD 收購的 ATI 甚至在更早就提出這樣的概念,只是在兩家 GPU 技術公司不同的發展方向下, NVIDIA 最終能夠做出成果。

 

當初 NVIDIA 在提出 CUDA 平行運算指令集的時候,受到不少業界人士的批評,畢竟 CUDA 是一個封閉的語言,一開始僅限於支援 NVIDIA 的架構;或許是當初競爭對手 ATI 動盪不安,歷經被 AMD 併購等事件,並沒有餘裕去推廣 GPU 運算的指令,最終 Radeon 選擇採用開放的 OpenCL 作為其 GPU 加速的指令。

是在這個 AI 技術還沒定論的時代,為何 NVIDIA 能登高一呼萬眾矚目這篇文章的第2圖

照片為 DGX Station

開放組織固然是許多科技開發者理想的烏托邦,畢竟多半參與開放組織的熱血開發者都是希望靠自己專長能為自己熱愛的領域貢獻一己之力,但現實狀況卻是一旦組織有各式各樣的人員加入,尤其牽涉到有多家大規模公司層級的會員,那就會出現彼此之間的相互角力,導致規範的發展諸多阻撓。

 

CUDA 在這幾年內的發展漸漸成形,許多大專院校也有相關課程,更不用說大量的教學書籍與資源;當然讓 CUDA 一舉成名的還是在 2012 年多倫多大學的 Alex Krizhevsky 利用 CUDA 在 AlexNet 使影像辨識率由七成突破到八成,更開啟 2015 年的 AlexNet 大戰,微軟、 Google 與百度等皆以超過九成以上的辨識率作為目標。

是在這個 AI 技術還沒定論的時代,為何 NVIDIA 能登高一呼萬眾矚目這篇文章的第3圖

照片為 Google TPU 2

不過去年 Google AlphaGo 與人類進行圍棋對弈,可說是一個人工智慧發展的新高峰與轉捩點,因為 Google 在去年仍是透過雲計算的方式提供運算力, Google 確實在先前的異質運算,但 Google 私底下開發的 TPU 計畫也悄悄的開始進行,更在今年 Google I/O 大會作為重點發表。

 

以硬體的架構來說, TPU 的出現對於以 GPU 搭配轉譯語法支援的方式會是一大衝擊,因為 TPU 簡單來說就是為以 Google 所倡導的 TensorFlow 深度學習語法最佳化的一種硬體加速器,因為是針對特定應用與目的設計,故相較 GPU 還需要透過轉譯去支援語法的方式更為直接,在理論上的效率也更佳。

 

雖然看似深度學習將會因為如 TPU 一類加速器的誕生而被翻盤,不過此時還是要回歸到生態圈的問題,在目前深度學習的發展仍處於萌芽到起飛期的型態,也就是業界對於哪種架構是最適合深度學習發展還未有一個完整的定論,是個人人有機會、各個沒把握的情況。

 

不過就因為是處於發展的階段,生態鏈的成熟度將會是一個重要的關鍵,就像 GPU 加速的概念已經許久,卻也是近年在技術實證中確實發揮效用,才扭轉市場主流仍以 CPU 運算為主的想法,就像先前曾聽到原本過去是死忠 CPU 運算擁護者的台灣學界代表,這一兩年也終於開始接觸 GPU 加速。

是在這個 AI 技術還沒定論的時代,為何 NVIDIA 能登高一呼萬眾矚目這篇文章的第4圖

以現在來說, CUDA 的發展不僅是在深度學習方面,也包括許多運算、研究等都會利用 CUDA 進行加速,同時以跨平台能力亦提供從嵌入式( Jetson )、個人( GeForce )、高效能運算( Tesla )的使用可能性,現在又加上提供雲端平台資源,等同開發者可從個人電腦進行簡單的開發,亦可將開發的成果移植到嵌入式或是伺服器領域,使用的語法又是已經不難取得資訊的 CUDA 。

 

對於 TPU 來說,它是針對 TensorFlow 深度學習語法所做的加速器,固然 TensorFlow 是目前指標性的語法,不過市場上仍有包括如 Caffe 2 、 微軟  Cognitive Tookit 以及亞馬遜 mxnet 等語法,誰最終能夠成為主流,或是持續呈現各立山頭的局面也還是未知,這類專用的加速器能否在短時間顛覆更具通用性的 GPU 加速還是未知數。

 

而 NVIDIA 最新一代的高階 GPU 加速器 Tesla V100 所採用的 Volta 架構也更進一步強化對於深度學習的效能,在架構中導入 TensorCore 設計,雖然稱為 TensorCore ,不過實質上可支援多數主流的深度學習語法,也等同為新架構廣泛支援各類深度學習語法保留空間。

是在這個 AI 技術還沒定論的時代,為何 NVIDIA 能登高一呼萬眾矚目這篇文章的第5圖

照片為 Intel 人工智慧負責人 Peter Chen 

當然其它廠商也沒閒著,例如 Intel 除了自身開發基於 x86 架構的的 Xeon Phi 加速器外,也收購 FPGA 大廠 Atera ,並預計將可程式化達到多樣功能的 FPGA 用於深度學習領域,而 AMD 則市仍在設法整合其 CPU 與 GPU 資源盼能在深度學習佔有一席之地。

 

到底誰能在這場深度學習成為真正的勝出者還是未知數,不過可理解的是 NVIDIA 現在的利基就是以已經在市場上有大量開發者的 CUDA 語法與硬體架構作為後盾,率先在這場戰爭中取得先機,且就目前來看確實也發揮其軟、硬開發環境的優勢,其它深度學習相關廠商要在短時間能夠壓倒 NVIDIA 恐怕沒那麼容易。