科創講堂

智慧運算與處理器架構的演進趨勢

講者/賴伯承(交通大學電子工程系教授)

撰文/整理/科學人

科創講堂

智慧運算與處理器架構的演進趨勢

講者/賴伯承(交通大學電子工程系教授)

撰文/整理/科學人




回顧數據運算工具的歷史,從算盤、加法器,到1946年第一部真空管元件的電腦ENIAC、1974年以電晶體製作的PC,乃至2007年iPhone問世,發展趨勢是:體積越來越小,速度越來越快。


至於數據運算的應用,一開始是日常生活的算數,後來發展至自動化控制、數學和科學運算、多媒體應用,今日還要加上人工智慧應用的運算。


賴伯承指出,這些運算有個趨勢,按時間排序的話,最早是單一執行緒(一項獨立運算的工作),然後是多執行緒(一項工作可拆成10 個至100個),現在是超多執行緒(數量可到上千乃至百萬)。另一個趨勢是資料量的增加,最早只有少量資料(幾KB),到了近代有大型資料(以MB計),今天則是海量資料(可能大到硬碟裝不下)。


運算的本質,一開始是要代替人類做日常生活邏輯判斷和數據處理,終極目標則是像個僕人,能聽命行事,甚至揣摩上意,提前完成任務。


至於電腦架構的起源,由范諾曼(John von Newmann)奠定基礎,他把計算機分成兩部份:處理器、記憶體。指令會先放進記憶體,然後送進處理器執行,處理器一次只執行一個指令。


雖然這樣的處理方式很清楚,但速度不夠快。怎麼解決?賴伯承解釋,思考重點在於「平行度」(同時做很多事)。處理器的平行化有很多種方式,可以借用生產線的分工原理,也可以讓不同的指令同時執行,效率會因此提升。


但是單一核心處理器越來越沒有效率,為了提高投資報酬率,研發人員在執行緒、資料、應用、使用者等層級提高平行度,因此處理器的架構開始朝多核心處理器發展。觀察多核心處理器,會發現廠商在CPU之外還加了GPU。


GPU是圖形處理器,主要是處理3D圖形的點和多邊形,特色是平行度非常大(3D圖形要同時轉每個點和多邊形),處理的資料量也很大(每個點都是資料)。


美好的巧合


圖形運算和智慧運算有何關係呢?賴伯承說:「這是美好的巧合。」因為兩者有共同點:高平行度運算、資料量大、精準運算,再加上現在的軟硬體環境成熟、效能成長性佳,因為這些原因,GPU就剛好被拿來用在智慧運算上。


但GPU要一統天下了嗎?GPU一開始是要處理圖形,在智慧運算上的效率並不高,而且要付出功耗的代價。根據研究,使用「專用」處理器,功耗效率會提升10倍,但如果使用專用處理單元,效率會再往上跳100倍。


就以深度學習網路為例,使用GPU會消耗很多能源。有廠商就研發出張量核心(tensor core),專門執行多維度的矩陣運算,能提高效率。另一個例子是Google的TPU(張量處理單元),它就是很大的矩陣運算處理器加上記憶體,然後放到資料中心,因為專門設計,效率比GPU高。


未來趨勢


賴伯承談到未來處理器架構的發展時認為,首先,數據處理架構會朝向異質整合發展。(例如:由單純CPU演變成CPUs+GPU/APU,GPU也會加上大規模平行運算的單元)。第二,必須考量效率和靈活度的取捨:你是要完全客製化設計以達到最佳運算效率?還是要通用設計以包含最大的使用模式?第三,資料存取和管理會成為效能主要瓶頸。第四,系統端的挑戰:當你要聯合很多不同的處理器,就必須考量處理器之間與節點之間,如何有效設計、管理、執行。


《科學人》雜誌的延伸閱讀:

〈記憶運算 學人腦思考〉科學人2015年4月



更多相關文章

2018年5月195期物理之力 貝殼之美 雜誌訂閱

本期最新文章