透過 GPU 加快人工智慧運算速度:嶄新的運算模型

作者 Crowd Favorite

Yann LeCun 邀請我出席本週在紐約大學舉行的首屆「人工智慧的未來」學術研討會,人工智慧領域的多位重量級人士齊聚一堂,討論這項技術的現況及未來發展。我在此想要說的是,深度學習這項新的軟體模型為何需要搭配新的運算模型;人工智慧研究人員採用 GPU 加速運算技術的原因;隨著採用速度快速增加,NVIDIA 不斷致力於推動人工智慧領域的發展,以及在經過這些年後,人工智慧蓬勃發展的原因。

1-bang-web

大爆炸般的發展

在設計電腦的悠久歷史過程中,人工智慧是最後一個待開發的領域。在過去五十年間,電腦科學家致力打造能像我們一樣理解四周環境、瞭解我們的語言、從各種例子進行學習的智慧機器。電腦科學家集合 Yann LeCun 的卷積神經網路、Geoff Hinton 的反向傳播法,以及 Stochastic 的梯度下降(Gradient Descent)訓練法,加上吳恩達(Andrew Ng)大規模應用 GPU 來加快深度神經網路(DNNs)的運算速度,促進「深度學習」這項現代人工智慧技術出現大爆炸般的發展。

當時 NVIDIA 忙著促進 GPU 加速運算技術的研發腳步,這項新的運算模型大量採用平行圖形處理器,以平行運算方式加快應用程式的處理速度。科學家和研究人員紛紛使用 GPU 來進行分子等級的模擬運算內容,以判斷能挽救生命之藥物的效果、以 3D 立體方式來呈現人體器官(藉由微量劑量的電腦斷層掃描結果進行重建),或是模擬銀河星系以發現宇宙運行的規則。一名使用 GPU 進行量子色動力學模擬內容的研究人員對我說:「憑藉 NVIDIA 的出色作為,讓我在有生之年能成就畢生事業。」這真是莫大的鼓勵。我們的使命就是讓人們有能力去開創更美好的未來。NVIDIA 的 GPU 讓人人都能享有超級電腦般的運算能力,而研究人員如今已經發現它的威力。

2011年,人工智慧研究人員發現 NVIDIA GPU。Google 的「Brain」計劃創下極為驚人的成果,通過觀看 YouTube 上影片的方式學會如何辨識貓和人,但背後需要使用 Google 的一處巨型資料中心,在多具伺服器裡安裝 2,000 顆 CPU,並且設法冷卻這些 CPU。只有極少數單位擁有這般規模的計算機。再來就是進入 NVIDIA 與 GPU 的時期。NVIDIA 研究中心的 Bryan Catanzaro 與史丹佛大學的 Andrew Ng 團隊合作,將 GPU 用在深度學習上。12 顆 NVIDIA GPU 的深度學習運算實力相當於 2,000 顆 CPU 的表現。紐約大學、多倫多大學及瑞士人工智慧實驗室的研究人員使用 GPU 加快其 DNNs 的運算速度,而大爆炸時期就此揭開序幕。

深度學習技術施展魔法

多倫多大學的 Alex Krizhevsky 是2012年 ImageNet 電腦影像辨識競賽(1)的冠軍,他的電腦將電腦視覺專家以人工方式編寫出的軟體狠狠甩在腦後。Krizhevsky 跟他的團隊並未編寫任何電腦視覺程式碼,而是使用深度學習技術讓電腦自行學習辨識影像。他們設計一個名為「AlexNet」的神經網路,用上百萬個範例影像來訓練它,這得在 NVIDIA GPU 上運行數兆次的數學運算作業。Krizhevksy 的 AlexNet 打敗了人工編寫出最優秀的軟體。

2-milestone-web人工智慧的競賽戰火已點燃,2015年達到另一項重大里程碑。

Google 與微軟運用深度學習技術,在 ImageNet 競賽(2、3) 裡擊敗人類的辨識成績,並且他們擊敗的對象不是人工編寫的程式,而是真人。不久後,微軟與中國科學技術大學宣布所開發的 DNN 達到大學畢業生的智商水準(4)。百度也宣布一項稱為「Deep Speech 2」的深度學習系統,使用單一演算法來學習中英兩種語言(5)。2015年 ImageNet 競賽的優勝者皆是使用深度學習技術、在 GPU 加速深度神經網路上運行,其中多項還擊敗人工辨識的準確度。

2012年,深度學習技術打敗了人工編寫的軟體,而2015年時,深度學習技術在感知理解能力方面達到「超越人類」的水準。

用於新軟體模型的全新運算平台

在電腦程式裡包括了大部分是依順序執行的指令,而深度學習是一項根本上截然不同的嶄新軟體模型,以平行方式訓練數十億個軟體神經元和數兆個鏈結。運行 DNN 演算法且從範例中學習,電腦會編寫出自己的軟體。這項與眾不同的軟體模型需要一項新的計算機平台,以提高其運算效率。dlboost-3-web加速運算是一項理想的方法,GPU 也是最速配的處理器。英國著名《自然》雜誌日前提出早期深度學習技術有所進步,原因在於「出現便於編寫程式的高速圖形處理單元(GPU),讓研究人員將訓練神經網路的速度提高10到20倍」(6)。集合效能、程序設計生產力及開放存取性這些因素,創造出新的運算平台。

效能。NVIDIA GPU 在平行處理工作負載方面擁有優異表現,可將 DNNs 的速度提高10到20倍,將個別反覆訓練的週期從數週減少到數日。我們並不以此而自滿。NVIDIA 與人工智慧開發人員合作,不斷改善 GPU 的設計方式、系統架構、編譯器和演算法,不過三年的時間就將訓練深度神經網路的速度提高50倍,比摩爾定律所提出的時間還要快。我們期望在未來幾年內能將速度再提高10倍。

可編程性。產學界持續以爆炸性的速度提出創新的人工智慧技術,在可編程性和開發人員生產力方面皆呈現出無比燦爛的局面。NVIDIA CUDA 平台的可編程性及豐富性讓研究人員能快速提出創新項目,打造 CNNs、DNNs、深度初始網路、RNNs、LSTMs 及強化學習網路等新的配置內容。

3-acellerate-web

可存取性。開發人員無論何時何都想創作,也希望將成果部署到各個地方。從全球各地的每部 OEM PC;無論是桌機、筆電、伺服器或超級電腦,還是 Amazon、IBM 及微軟雲端環境,開發人員都可以發現NVIDIA GPU 。所有重大人工智慧發展架構皆採用 NVIDIA GPU 來加快運算速度,從網路公司、研究單位到新創公司。無論喜好使用哪一種人工智慧開發系統,透過 GPU 均能提高運算速度。我們也為每種尺寸的電腦開發 GPU,讓各類智慧機器都能享受到 DNNs 的能力,像是 GeForce 用於 PC、Tesla 用於雲端和超級電腦、Jetson 用於機器人和無人機,而 DRIVE PX 則是用於車輛,這些 GPU 皆採用相同架構,能加快深度學習的運算速度。

每個產業皆想要智慧

百度、Google、Facebook、微軟是第一批將 NVIDIA GPU 用在深度學習方面的業者,這項人工智慧技術用於回應你說出的話、將口語或文字翻譯為另一種語言、辨識影像並自動加上標籤,以及按照我們喜歡和關心的項目,推薦新聞、娛樂跟產品。產業界裡的業者無論新舊,競相運用人工智慧技術來開發新產品和服務,或是改善營運方式。只不過兩年的時間,與 NVIDIA 合作進行深度學習企劃案的業者數量成長近35倍,超過3,400家。醫療、生命科學、能源、金融服務、汽車、製造及娛樂等產業透過從海量資料中窺見未來趨勢,而從中獲益不少。再加上 Facebook、Google 與微軟開放自家的深度學習平台供眾人使用,採用人工智慧技術的應用項目將會快速擴散,《Wired》雜誌據此預告「GPU 的興起」一事。

4-survey-web

自動駕駛車。無論是為駕駛人增添一名擁有超凡能力的副駕駛、為個人行動服務帶來革命性變化,或是減少對市區雜亂無章的停車場之需求,自動駕駛都可為社會帶來好處。駕車這件事相當複雜,時常都會發生意外,冷冰冰的雨將道路變成溜冰場、前往目的地的道路封閉,一名孩童突然衝出巷弄出現在車頭,你無法製作出一套能預測自動駕駛會遇到之各種路況的軟體,而那正是深度學習的價值所在;它會學習、調整和改善。我們正在開發一套稱為 NVIDIA DRIVE PX 的自動駕駛車用端對端深度學習平台,涵括從訓練系統到車內人工智慧電腦的每個層面,而成果十分令人興奮。未來車內搭載超越電腦副駕駛和無人交通車,再也不是只會出現在科幻作品裡的劇情。

6-driving-web

機器人。首屈一指的知名機器人製造商 FANUC,日前展示一具組裝線機器人學會從籃子裡「撿取」任一方向的物體。這具採用 GPU 技術的機器人從嘗試及錯誤中汲取經驗,而其中的深度學習技術是由日本 Preferred Networks 公司所開發,《華爾街日報》透過《Japan Seeks Tech Revival with Artificial Intelligence》這篇專文介紹了這家公司。

醫療與生命科學。深度學習基因(Deep Genomics)技術運用以 GPU 為基礎的深度學習技術,來瞭解遺傳變異如何會產生疾病。Arterys 運用以 GPU 為基礎的深度學習技術來加快分析醫療影像的速度,這項技術會用在 GE Healthcare MRI 機器上以協助診斷心臟相關疾病。Enlitic 運用深度學習技術來分析醫療影像來找出腫瘤、近乎看不到的破裂處及其它病況。

以上只是舉出一些例子,未來尚有無數潛在應用情況。

通過 GPU 加快人工智慧的發展腳步:全新的運算模型

在深度學習技術方面的突破性進展,為人工智慧的發展帶來革命性的變化。搭載人工智慧深度神經網路的機器,解決了對人類程式設計師而言過於棘手的問題。這些機器從資料中學習經驗,並且隨著實際應用進行改善,就算不是程式設計師也能訓練同一套 DNN 來解決新的問題。發展進度愈來愈快,採用數量愈來愈多,我們認為這也會為社會帶來極大的影響力。一項日前由 KPMG 進行的研究預測在20年間,電腦化駕駛輔助技術將有助於減少八成的行車意外事件,相當於一年可挽救近百萬人的生命,而深度學習人工智慧將會是其中的關鍵技術。

深度學習對於電腦產業也會帶來極大的影響性。深度學習是一項從根本上來說無比新穎的軟體模型,我們需要新的運算平台來執行它,這個運算架構要能有效執行程式設計師的指令,並且大規模同時平行訓練深度神經網路。我們確信 GPU 加速運算架構正是最理想的工具,《科技新時代》(Popular Science)雜誌日前稱 GPU 是「現代人工智慧的骨幹主力」,我們同意這句話。

參考資料:

  1. A. Krizhevsky, I. Sutskever, G. Hinton. ImageNet classification with deep convolutional neural networks. In Proc. Advances in Neural Information Processing Systems 25 1090–1098 (2012).
  2. K. He, X. Zhang, S. Ren, J. Sun. Delving deep into rectifiers: Surpassing human-level performance on ImageNet classification. arXiv:1502.01852 [cs] (2015).
  3. S. Ioffe, C. Szegedy. Batch normalization: Accelerating deep network training by reducing internal covariate shift. In International Conference on Machine Learning (ICML) 448–456 (2015).
  4. H. Wang, B. Gao, J. Bian, F. Tian, T.Y. Liu. Solving Verbal Comprehension Questions in IQ Test by Knowledge-Powered Word Embedding. arXiv:1505.07909 [cs.CL] (2015).
  5. D. Amodei, R. Anubhai, E. Battenberg, C. Case, J. Casper, B. Catanzaro, J. Chen, M. Chrzanowski, A. Coates, G. Diamos, E. Elsen, J. Engel, L. Fan, C. Fougner, T. Han, A. Hannun, B. Jun, P. LeGresley, L. Lin, S. Narang, A. Ng, S. Ozair, R. Prenger, J. Raiman, S. Satheesh, D. Seetapun, S. Sengupta, Y. Wang, Z. Wang, C. Wang, B. Xiao, D. Yogatama, J. Zhan, Z. Zhu. “Deep speech 2: End-to-end speech recognition in English and Mandarin,” arXiv preprint arXiv:1512.02595 (2015).
  6. Y. LeCun, Y. Bengio, G. Hinton. Deep Learning – Review. Nature (2015).