如何看待 TPU 和 GPU 的未來發展?
適逢Google I/O 2017, AI被強勢扶正,TPU強推雲服務,硬體發展對AI發展尤其重要,大家不妨腦洞一下未來兩者將以何種形式存在?
本題已收錄至知乎圓桌:Google I/O 2017,更多「Google I/O」相關話題歡迎關注討論
先說TPU。Google現在連一代TPU面積有多大都不說具體數字,然後第二代就只給個宣傳稿。所以我只能列一些可能方向瞎猜一下。估計在架構層面,TPU會
1. 進一步提高浮點處理吞吐量。
2. 提高memory bandwidth3. 加入一定的片上control flow邏輯
4. 加入類似nvlink的高速片間互聯第一代TPU的設計思想就是把全部的面積都用來做乘法和存儲。估計以後還是會延續這個思路,只維持最簡單的control flow,把包括CPU在內所有與dl無關的硬體全部去掉。Google的優勢是它自己就是最大的dl用戶且擁有deepmind這樣的頂級演算法研究機構。TPU的設計選擇無疑是基於大量第一手workload數據做出的,並且具有相當的前瞻性。但是越是專用的硬體,一般其拓展性就越差。極端情況下,TPU團隊可以為每一種workload設計不同的硬體TPU,然後同時部署好幾種TPU以獲取最優能耗比。這種方案當然很貴,不過以Google的體量,錢並不是問題。
GPU 的發展趨勢當然也是首先要做好上面的1234點,同時在架構設計方面要緊跟dl前沿,理解並且優化重要的workload。
不過我更傾向於將GPU看成是一個通用的throughput machine。對未來的data center而言,dl只不過是一種普通的throughput優先的workload。其他重要的throughput workload還有VR streaming, HPC,transcoding等等。在data center部署GPU的優勢在於同一套硬體可以同時處理dl,VR和HPC 的workload。為進一步提高對特定任務的處理能力,GPU廠商可能還會選擇加入特定的加速IP,比如為dl做的tensor core,為graphics服務的rop以及為視頻壓縮引入的codec。只要專用ASIC沒有能效上的壓倒性優勢,選擇GPU將極大提高data center的硬體利用率並降低維護成本。如果這個結論成立的話,大部分data center「最終」可能都會選擇部署加入專用IP的通用throughput machine,而不是直接部署一堆專用ASIC。
舉個例子,我們知道現在用VR做reinforcement learning訓練AI很火。這個用純TPU怎麼做?我想不會有人有勇氣在TPU內部實現graphics pipeline。如果graphics和physics還是用GPU做,為什麼不把training也放在GPU上?
說到physics,還有人記得PPU嗎?
https://en.m.wikipedia.org/wiki/Physics_processing_unit以上都是瞎猜,估計會被光速打臉。看NV最新的Volta,集成了tensor core做預測。算是一種趨勢了,在可編程流水線中可以調用的專用tensor核。
拿著256個tpu的集群和32個GPU的集群比速度?
還是感覺TPU可能成為GPU的另一個分支,但仔細一想覺得也挺糾結的。
以前GPU也是分通用卡和計算卡,以前的圖形渲染產業可比現在的AI產業還火,畢竟是個成熟的事情了
Nvidia在深度學習方面也是有足夠的戰略和技術支持的,想必也是對如何發揮GPU的tensor計算能力有足夠的看法和優化空間看TPU的意思似乎是一種FPGA+外圍連接用的組件。在這層相比顯卡還是有很大的優勢:TPU可以直接連接,而不需要經由PCI-E(畢竟帶寬才32Gb),也不需要在分散式部署時經過網卡(萬兆網卡才10G),類比nv-link和各類交火技術。想想GPU目前的交火技術和帶寬(nvlink剛好160Gb)TPU按尿性也可以連成正方體,參數的傳遞距離可以被控制,模型參數的高速交換還是有挺多優化空間的,不清楚大規模TPU是怎麼做的,拭目以待GPU廠商(好吧只有一個nvidia)的應對另外覺得走向硬體發展,勢必會搞一個統一標準吧,不然出一個新硬體就要兼容來一發。。Google和Nvidia應該會坐在一起的推薦閱讀:
※如何看待 Google 既可以作 Inference,又可以作 Training 的新一代 TPU?
TAG:人工智慧 | 圖形處理器GPU | TPUTensorProcessingUnit |