學過計算機基礎的人都知道,計算機里的CPU是一種通用芯片,不僅要計算,還要分析指令、調取數據、控制操作……總之,通用芯片干的事情非常多。生活中,我們經常聽到一種評價,說一個人“樣樣精通,樣樣稀松”。對于芯片來說,也會存在類似的問題——什么活都干,就不如專攻一種活更為高效。
當我們對計算機的圖形渲染和圖像處理有著更高需求時,就分化出來一顆專用芯片——GPU(Graphics Processing Unit)。在GPU里面,控制模塊只占很小的部分,大部分的面積都放滿了運算單元。GPU工作時就是一門心思不停地處理圖形圖像數據就可以了,效率比CPU高多了。所以,GPU和CPU的區別,就是專才和通才的區別。這也順應現代社會分工的趨勢——待解決的問題足夠重要,就值得花費寶貴的資源去專門解決。
最近十多年,隨著物聯網、大數據和云計算的不斷發展,人工智能也走進了人們的生產生活,并發揮了越來越重要的作用。比如,手機的人臉解鎖,音箱的語音控制,無人車的自動駕駛等。
由于人工智能需要“投喂”大量的數據進行訓練,所以一般的通用芯片根本就處理不了。早在2014年,Facebook為了讓人工智能的識別準確率接近人類水平(97.35%),采用了深度學習算法,搜集了400萬張圖片進行模型訓練。之后,不僅訓練數據的規模每年都在增長,算法的模型也更加復雜。無人駕駛技術也是如此,自動躲避障礙物并規劃路線,是一個計算量非常龐大的任務。如果一輛無人車的前方20米出現一個障礙物,用CPU來計算要不要躲避的話,恐怕保險公司定損員都來到現場了,結果還沒出來呢。
為了保障算力,加速AI算法,人們研發了一種專用芯片——AI芯片,全稱“人工智能加速芯片”。最早的AI芯片大都是用的GPU,比如上面提到的Facebook做人臉識別。因為深度學習中常用的卷積神經網絡,主要的運算就是針對很大的矩陣進行大量的乘法操作。如果能針對這個特點來處理,自然就能提高計算速度。正巧,GPU在這一點上比CPU要強很多。
雖然GPU比CPU更能加速AI算法,但現在也算是比較通用的芯片了。它的顯著缺點是,并沒有針對每一個人工智能問題做最佳優化,功耗和價格也比較高。所以,我們就想要更專用的芯片來提高效率,就出現了半定制化AI芯片和全定制化AI芯片。
半定制化AI芯片可以看成是一顆“萬能芯片”,設計加工完成之后,還能根據實際需要修改芯片里的器件連接形式,從而構成各種不同功能的芯片。全定制化AI芯片則是根據要解決的問題專門設計一顆芯片,如果你想解決另外一類問題,就得另外再做一顆芯片才行。Google的TPU(張量處理器)就是最為著名的全定制化AI芯片。根據公開的數據,TPU比起最好的GPU來說,能有幾十倍將近上百倍的性能提升,能耗也有很大的降低。