? 少妇精品揄拍高潮少妇,无码精品a∨在线观看中文

亚洲 a v无 码免 费 成 人 a v,性欧美videofree高清精品,新国产三级在线观看播放,少妇人妻偷人精品一区二区,天干天干天啪啪夜爽爽av

杜克大學教授陳怡然:人工智能芯片設計中的挑戰(zhàn)?

2018/09/23
導讀
本文為陳怡然教授在中國工程院信息與電子工程學部主辦、亞洲超算協(xié)會和浪潮集團聯(lián)合協(xié)辦的2018人工智能計算大會上演講。

t/fd/zsfz1537664933.2888178.jpg

陳怡然在中國工程院信息與電子工程學部主辦、亞洲超算協(xié)會和浪潮集團聯(lián)合協(xié)辦的2018人工智能計算大會上演講。

 

講者 | 陳怡然(美國杜克大學終身副教授、美國自然科學基金委智能與可持續(xù)計算產學合作中心主任)

整理 | 邸利會


  

   

人工智能有三次浪潮,這三次浪潮分別代表了不同算法的突破,叢京生老師講他經歷了兩次浪潮,我只經歷了一次浪潮。這三次浪潮延續(xù)了大概70年的時間,從1940年到現(xiàn)在每次浪潮都伴隨著新的算法模型的興起,但是它不是孤立存在的,同時也伴隨著計算能力的不斷提高。

 

2006年,Hinton在《科學》上發(fā)表了一篇文章,用GPU來進行深度學習的訓練,成了這一次浪潮的開端。叢京生老師講到過去很多年間我們對應的參數(shù)的數(shù)目不斷增加而且增長是指數(shù)性的,如果大家把眼光放到技術計算來看,計算技術的發(fā)展其實是一個現(xiàn)象。過去五年,如果看到GPU單板計算能力的提高只提高了3~4倍,參數(shù)提高了幾百上千倍。大概在2014年,吳恩達還在谷歌實驗室的時候,我們曾經有過一次交談,他說我們的參數(shù)每年是一個數(shù)量級的增長,可芯片的話,因為摩爾定律每年只有2倍的增長,那中間差的5倍怎么彌補?那么,人工智能應用的硬件要求是什么,芯片要怎么去設計才能變得更有效,才能彌補摩爾定律本身的發(fā)展和參數(shù)上的增加所帶來的差別

 

馮諾伊曼體系有幾個特點,存儲和計算是分離的,有控制單元,有內存,有邏輯單元,控制單元可以把數(shù)據(jù)從內存調到計算單元,計算單元經過處理以后再傳回到內存,如果做并行的話就會帶來一些問題。計算精度很高,過去有大量的科學計算的應用,非常成功。但是這種單線程性能在馮諾伊曼體系里受制于運行指令之間的數(shù)據(jù)依賴的影響,當你大規(guī)模運行的時候會發(fā)現(xiàn)性能會掉得非常厲害,從此我們就做到多核,多核又帶來了一些新的問題,比如帶寬或瓶頸的問題,在片上計算能力不斷提高,但是內存帶寬又不斷受限,往往不能達到最高的有效的計算。當然還有另外一個問題是功率密度的問題,我最近跟學生開了一個笑話,我上大學的時候攢機器,一個CPU100美元-200美元,現(xiàn)在還是這個價格甚至更便宜了,我當時在中關村買一個風扇只要幾毛錢,現(xiàn)在已經上百塊,很貴了,做CPU真的還不如做風扇賺得多。

 

我們發(fā)現(xiàn)越來越多的應用需要特殊的芯片進行處理,這種處理的要求是跟傳統(tǒng)的CPU和GPU不太一樣,雖然這種GPU來做加速,但GPU本身是一個流式的處理器,它可以有效進行向量之間的運算,如果我們用n表示計算的能力,它是按每個n的平方的變化變成n,變成了更小。

 

從這個角度出發(fā)大家用FPGA,ASIC進一步加速計算的過程,比如國內有用FPGA進行網(wǎng)絡神經的加速設計;谷歌TPU通過脈沖陣列的形式加速神經網(wǎng)絡的計算;國內另外一家公司寒武紀設置了專門的指令集,對于不同的向量與向量之間,向量與矩陣之間,矩陣與矩陣之間的運算,進行相應的加速。大家對于不同的架構的應用場景也基本是不一樣的。參數(shù)集中在計算性能,還有功耗,帶寬(表示最終數(shù)據(jù)的吞吐量)。所有這些參數(shù)都是我們關心的問題,它全部都是基于一個特殊的人工神經網(wǎng)絡的基于計算的應用。

 

挑戰(zhàn)一,參數(shù)越來越多怎么辦?

 

我們的第一個挑戰(zhàn),大容量存儲和高密度計算,當神經深度學習網(wǎng)絡的復雜度越來越高的時候所面臨的問題,你的參數(shù)越來越多,該怎么辦?

 

大家常見的一個例子,做剪枝,神經網(wǎng)絡里面有大量的冗余,這種冗余是可以被去除的,去除以后基本不會影響輸出。

 

簡單的想法就是如果我知道有一個權重,這個權重很小,對于輸出沒有太大影響。你在去除過程中遇到一個問題,這樣的權重在你訓練之后是隨機的分布在整個向量空間里,當你把它存在一個計算機存儲網(wǎng)絡的時候它會帶來大量的缺失,當你把它隨機的全部去除掉是當你讀取一個數(shù)據(jù)之后,下一個數(shù)據(jù)實際并不是需要的,帶來了一些訪存的缺失??梢酝ㄟ^軟件的方式解決這個問題,軟件可以做parking,但這些在我看來不是很聰明的辦法,沒有解決根本性的問題。

 

根本性的問題是結構化的剪枝,當去掉這些權重的時候,如果不是一個一個單獨的隨機的去掉而是一塊一塊的去掉不會影響到它的存儲方式。

 

這個工作是我們2016年一篇文章《結構稀疏化》,今年年初已經被英特爾的芯片系統(tǒng)支持了。結構稀疏化另外一個問題是什么樣的層次下做到稀疏化,可以通過通道所對應的權重整個的去除掉,通過卷積核對應的權重整個去除掉,甚至整層去除掉,最后都會帶來結構稀疏化的結果。下面兩張圖左邊是隨機去除的結果,右邊是結構去除的結果,左邊和右邊相比可以帶來10倍的性能提升,這個工作是我們跟英特爾一塊做的,他們自動把這個結果給支持了。

 

我們在訓練的時候需要高精度,但做推理的時候不一定需要高精度,低精度的運算可以極大降低運算的開銷,提升運算的效率,又不怎么降低計算的精度。

 

一個極端的例子是IBM的真本芯片,所有數(shù)據(jù)和權重都是通過二值來實現(xiàn)的,+1、-1和0,怎么仍然達到比較高的精度呢?傳統(tǒng)意義上采用了冗余的設計,如果設計0.75的情況下輸入,有3個脈沖就出現(xiàn)了0.75。權重是0.8的時候有5個拷貝,4個是1,1個是0,就得到這個結果。這樣的結果是非常浪費的,根本的解決方法不應該是通過冗余的方式來設計,應該通過訓練一個簡單的二值化網(wǎng)絡本身來設計。

 

我們訓練一個網(wǎng)絡的時候究竟把它按照一個高精度的網(wǎng)絡來訓練還是把它訓練成所有的精度都盡可能靠近0和1,能夠理想的寫入二值化的存儲空間的結果?答案當然是后者。如果我們能夠把訓練網(wǎng)絡的時候訓練成一個二值化網(wǎng)絡,我們訓練所得一定是把它寫入到硬件系統(tǒng)的所得。我們在訓練的時候對每個權重加懲罰,使得所有都向0和1靠攏,結果就會變得比較好。我們通過這種方式在IBM達到性能6-7倍的提升,我們所做的就是改掉一行代碼。

 

低精度神經網(wǎng)絡訓練在分布式系統(tǒng)上的應用。我們有參數(shù)服務器,我們有很多copy,這種copy在每個節(jié)點上都會用不同的數(shù)據(jù)來訓練,一段之后我們把訓練的結果發(fā)送到參數(shù)服務器再分發(fā)下去。當系統(tǒng)特別大的時候會遇到一個問題,它不能持續(xù),大量的通信開銷都在數(shù)據(jù)相互之間的傳輸,我們怎么降低開銷?如果用0、+1、-1來表示效果非常好,但是只表示方向不表示數(shù)據(jù)。我們實際測試中發(fā)現(xiàn)其實所有數(shù)據(jù)傳輸,當數(shù)據(jù)足夠大的情況下能滿足于某一種分布,泊奴利分布。數(shù)據(jù)比較大的情況下只需要傳大概2到3個值,剩下的只要傳方向就可以在另外一個把它整個恢復出來,這樣就完全不必要傳我們采的樣而只需要傳分布就可以了,這樣的結果是我們在128個節(jié)點的GPU集群上可以達到3倍左右的訓練加速,性能精確度大概降低了不到2%。

 

挑戰(zhàn)二,面臨特定領域的架構設計

 

因為我們的場景越來越豐富,這些場景的計算需求是完全不一樣的。我們的知識,比如圖像處理的知識,當我們面臨語音的時候它能夠重復使用的部分是非常有限的。怎么樣通過對于不同的場景的理解設置不同的硬件架構變得非常重要。

 

舉一個簡單的例子,很多人用FPGA于圖象處理。圖像處理不需要考慮時序上的信號傳播,當做語音的時候這種是必不可少。所以在2015年的時候我們在FCCM(Field-Programmable Custom Computing Machines),就是FPGA一個頂級會議上發(fā)布了關于RN的優(yōu)化,通過內存效率提升,激活函數(shù)的近似,可擴展性等,達到了相對于CPU來講,性能的16倍的提高,功耗降低了60倍,這是比較典型的例子。

 

不僅如此,我們在算法上也可以做相應的轉換。今年我們發(fā)布了一篇文章,在語音的LSTM(Long short-term memory )的模型上,我們直接結構數(shù)字化它的隱藏結構,這種隱藏結構的數(shù)字化可以達到性能10倍的提升,在一些復雜的技術前提下我們也可以帶來20~40%左右的性能提升,精確度做到了大概1%,把它直接用在了硬件的設計上。

 

最近GAN比較熱,它可以很有效的通過兩個網(wǎng)絡相互之間的學習來生成一些現(xiàn)實場景中不存在但是又真實可信的數(shù)據(jù),GAN的應用在非精度學習上會有大量的應用和突破。我們最近有一篇文章在講我們體系結構上也可以生成一種新的流水線,能效有很大的提高。

 

云和終端是不一樣的,云端和終端的設計完全不同,云端的時候需要對海量數(shù)據(jù)進行處理,要進行存儲,要進行訓練,要高并行,高帶寬,終端上首先要采集,然后做終端的推理,還要做一些訓練,但是更關心安全性、低能耗、低延時等等的處理。

 

我們在很多年前開始做移動計算,我們最近開始轉移到移動平臺的神經網(wǎng)絡的訓練以及推理上來,去年有一篇文章拿了最佳論文獎,分布式移動端的訓練。它有點像移動端的參數(shù)服務器,我有一個手機對其他所有手機進行管理和同步,各個手機之間進行并行的訓練,1比特的低精度如何運用在上面。一些精確的分析會發(fā)現(xiàn)對于卷積層,相對于資源的要求是完全不一樣的,比如對于卷積層來說它貢獻了絕大多數(shù)的計算的開銷,對全連接層貢獻了絕大多數(shù)的存儲的開銷,在設計的過程中需要考慮這樣的差別。如果在做稀疏化的時候,稀疏化之后希望可以對計算本身做一個聚類,這樣聚類之后的比較復雜的比較密集的網(wǎng)絡可以部署到每一個節(jié)點,減少節(jié)點之間的相互傳輸開銷。

 

盡管它是一個中心化的網(wǎng)絡,我們可以把它做成一個去中心化的網(wǎng)絡或半去中心化的網(wǎng)絡,提高它的安全性,降低對于中心節(jié)點的應用。你還需要考慮在節(jié)點相互之間的傳輸?shù)拈_銷,因為我們知道對于移動網(wǎng)絡來講,建立網(wǎng)絡之間相互的通道是非常昂貴的。我們可以隨著節(jié)點數(shù)目的增長基本可以達到線性的提升,這是不太容易做到的事情。

 

挑戰(zhàn)三,芯片設計要求高,周期長,成本昂貴

 

從芯片規(guī)格設計芯片結構設計、RTL設計、物理版圖設計、晶圓制造、晶圓測試封裝,需要2到3年時間,正常的時間里軟件會有一個非??焖俚陌l(fā)展。你看到TPU生產設計的周期和Tensorflow的周期,兩種不同的GPU版本上Tensorflow已經更新了7到8個版本,能夠支持在這個周期里新的版本的更新是非常具有挑戰(zhàn)性的問題。

 

其中一個解決方案是可以通過AI本身去加速芯片的設計。最近我們在跟英偉達做一個合作,通過AI的設計提高版圖的效率,我們把不同的AI的算法,像RSVM和比較復雜的神經網(wǎng)絡,做一個對比,包括強化學習。這是一個最近非常熱門的話題,因為美國最近有一個項目,如果從最開始設計定義到設計完成包括系統(tǒng)級封裝的設計,希望是24小時無人值守,這也是一件非常不容易的事情。對一個芯片的周期來講大概有三年時間,芯片從生產出來到產品消亡,三年里真正掙錢的時間是12-18個月,你怎么在12-18個月里降低成本提高利潤率完成這個周期的迭代,AI技術可以做出大量的貢獻。

 

挑戰(zhàn)四,架構及工藝面臨的挑戰(zhàn)

 

隨著我們的工藝不斷的提升,從90納米到10納米,邏輯門生產的成本到最后變得飽和。我們也許在速度上、功耗上會有提升,但單個邏輯生產的成本不會再有新的下降。這種情況下如果仍然用幾千甚至上萬個晶體管去做一個比較簡單的深度學習的邏輯,那你會發(fā)現(xiàn)到最后在成本上是得不償失的。英特爾一直在說我計劃發(fā)布多少納米的生產技術,實際上永遠是在延后的,越往下做越貴越不容易。

 

怎么解決這個問題?憶阻器這個器件有很意思的特點,它的特性非常像人的神經網(wǎng)絡里面的神經元。我們神經突觸是連接兩個神經元,一個神經元產生一個信號之后這個信號就會通過神經突觸傳到另一個神經元上去,神經元本身會運行放大,倍數(shù)是可控的。當你加了一個電壓之后那邊產生的電流本身的幅度是可調的,有點像兩個器械左右連在一起信號會發(fā)生變化,整個過程是乘法的過程,這個器件是只有幾個納米的小器件。

 

通過這個器件可以產生一個交叉互聯(lián)的結構,這種交叉互聯(lián)的結構可以非常有效的把向量和矩陣相乘的形式加以變換,進行有效的計算,可以一下子把n×n×n的計算一次性全部算出來,這是非常有效的結果。

 

過去很多年里我們一直在做這方面的研究,從單個器件一直做到模型、計算的原理,最近我們開始做芯片。這是其中的一些例子,用脈沖來表示數(shù)據(jù),到電壓憶阻器,一步步走過來,我們希望他們能支持我們這項研究。如果摩爾定律放緩的話,下面我們怎么走只能看新的材料。

 

當我們有了基于憶阻器的加速芯片之后,做的另外一件事情是怎么把它真的用起來,把它做到新的計算架構里面去。比如我可以把它以加速器的方式做到傳統(tǒng)的流水線里面去,相比GPU的平臺性能可以提高幾十倍,能效提高5到10倍。神經網(wǎng)絡只是圖計算的一個特例,只是用某種圖的形式把這些計算連接起來,所以在圖計算上我們可以做相應的處理,不光是做深度優(yōu)先、廣度優(yōu)先,我們都可以通過新型器件的方式加以計算,性能也有幾十倍左右的提升。現(xiàn)在這是非常熱門的領域,它的本質是模擬計算,它不是簡單的通過傳統(tǒng)的科學計算的方式來完成計算,更有效的模擬神經計算。

 

我們總結一下我們想做的事情,我經常被問到一個問題,哪個平臺、哪個技術在未來有可能贏得這場戰(zhàn)爭,GPU公司還是基于新型器件的初創(chuàng)公司都希望知道答案,因為這意味著幾百億或幾千億的市場。為了回答這個問題,我們總結了5個我們覺得比較重要的AI硬件的特性,包括適應性、性能、功效、可編程性和可擴展性,我們做了一個雷達圖進行比較。無論是對于通用硬件平臺還是對于ASIC、可編程器件沒有任何一個會在這五種特性里達到最優(yōu)的結果,都是有一兩個比較好或兩三個比較好,但另外一個比較差?;卮疬@個問題,如果你問我哪個能贏,我首先要問你要告訴我你的業(yè)務場景、你的數(shù)據(jù)類型、你愿意花的成本和你需要的計算開銷等等參數(shù)甚至技術本身的成熟度,然后我告訴你哪一種是最適合你的結果,這是我們覺得比較重要的一件事情,當然也包括類腦架構比較新型的計算架構等新技術。

 

AI芯片變得如此重要,最近我們在美國自然科學資金委的思路下成立三校一起做的新型的可持續(xù)的智能計算的中心,我們覺得應用來源于具體的場景,幫助我們理解需要什么樣的新的計算平臺,需要什么樣的技術,我們才能設計更多更好更有效的硬件來為這個目的服務。


參與討論
0 條評論
評論
暫無評論內容
知識分子是由饒毅、魯白、謝宇三位學者創(chuàng)辦的移動新媒體平臺,致力于關注科學、人文、思想。
訂閱Newsletter

我們會定期將電子期刊發(fā)送到您的郵箱

GO