【科學史沙龍】人工智慧怎麼會這麼強? 淺談高效能運算與人工智慧
■電腦科學家一直有個夢想:只要給我無限的運算能力,我就可以打造出無限的人工智慧。在人工智慧蔚為風潮的今天,如何分辨哪些是有機會實現的創新概念,哪些是大吹牛皮的狂想,關鍵就在於如何善用電腦的運算能力。本講次從高效能運算切入,淺談人工智慧的發展前景。
講師|臺灣大學資訊工程學系教授 洪士灝
整理撰文|高英哲
所謂的高效能運算 (high-performance computing, HPC) ,是指使用高效能電腦,解決非常重要,價值極高的問題。舉凡破解密碼、預測氣候變遷、打造人工智慧等等當前熱門課題,背後都需要高效能運算支援。因此政府往往不惜血本,打造專用的高效能運算系統,不僅可以解決迫切需要突破的問題,也能藉此發揮產業火車頭的作用,帶動相關產業發展。
人工智慧需要大量的高效能運算,無論是早期「深藍」超級電腦 (Deep Blue) 採用的傳統規則式專家系統 (rule-based expert system) ,還是 IBM 後來研發的「華生」人工智慧系統 (Watson) 使用的數據導向深度學習 (data-driven deep learning) ,都需要用到高效能運算的平行處理技術。然而平行處理在實作上,經常會碰上各種軟硬體問題,嚴重降低平行處理的效率。因此若想要改善高效能運算的效率,必須對軟體進行詳盡的效能分析,找出運算瓶頸在哪裡,再針對瓶頸設計加速器,對軟體進行優化。
目前我們所謂的人工智慧,都只能算是「狹義」的人工智慧系統,只能夠在某個特定領域裡頭發揮作用,像是「深藍」再厲害也只會下棋,「華生」再會答題也僅限醫療領域。為什麼電腦的運算能力明明比人腦強大很多,卻做不到許多普通人就能做到的事情?比方說電腦用演算法代替人類的數理結構,用規則系統代替人類的語言邏輯,但是在視覺圖像上面,卻始終找不到一個有效的替代方案。 90 年代開始走紅的卷積類神經網路 (convolution neural network, CNN) ,需要高效能平行運算跟化約演算的能力,遠遠超出當時電腦的運算能力;直到最近這幾年,電玩顯卡 GPU 大量的核心,很適合進行卷積類神經網路所需的平行計算,深度學習才又注入了活水。
人工智慧目前的研發方向,不外乎是以打造更高效能的深度學習系統為圭臬。舉凡採用向量指令、平行處理運算、打造專用晶片、降低運算精準度、利用概算節省運算資源、採用稀疏矩陣等等,每個方法若能提升 10 倍的運算速度,總合起來加速 1000 萬倍也不是夢!然而目前這些狹義人工智慧系統的功能再怎麼強大,距離通用人工智慧 (artificial general intelligence, AGI) 還是很遙遠,這個領域依然存在著很多機會跟挑戰。