一直被噴不實(shí)用的超算 在深度學(xué)習(xí)時(shí)代會(huì)改變嗎?
在中學(xué)課本里,我們都學(xué)到過“超級計(jì)算機(jī)”這個(gè)概念,在印象里它通常和神州五號、航空母艦等等高科技設(shè)備出現(xiàn)在同一個(gè)章節(jié),屬于國家科研能力的體現(xiàn),更是在國際科技戰(zhàn)備的賽點(diǎn)。
本文引用地址:http://www.ex-cimer.com/article/201712/372730.htm現(xiàn)在這么多年過去了,一回神中國超級計(jì)算機(jī)的代表作已經(jīng)從天河進(jìn)化成了神威·太湖之光,并且通過對地震、海浪等等自然現(xiàn)象的精確模擬兩次獲得了戈登貝爾獎(jiǎng)。
據(jù)稱,戈登貝爾獎(jiǎng)是超算領(lǐng)域的最高獎(jiǎng)項(xiàng),在獎(jiǎng)項(xiàng)評選標(biāo)準(zhǔn)中更多會(huì)考慮到超算項(xiàng)目的實(shí)際應(yīng)用性。過去三十年中,這一獎(jiǎng)項(xiàng)一直被美國和日本壟斷,直到最近兩年才被中國蟬聯(lián)。
說實(shí)在的,大多數(shù)人的印象中,中國超算經(jīng)過這么多年的發(fā)展,還實(shí)現(xiàn)了“零的突破”,可在IT領(lǐng)域中,我們似乎更多的受益于互聯(lián)網(wǎng)、移動(dòng)終端的發(fā)展。
地震?海浪?超算到底能干嘛
擁有這種疑問的人不是少數(shù),超級計(jì)算機(jī)這幾年開始頻繁的受到一種質(zhì)疑:強(qiáng)大的算力究竟有什么用?耗費(fèi)這么多科研經(jīng)費(fèi)和資源,是不是只是為了刷排名而沒有實(shí)用價(jià)值?
其實(shí)人們會(huì)產(chǎn)生這種疑問是很正常的,超級計(jì)算機(jī)從研發(fā)到生產(chǎn)以至于后期的運(yùn)維,成本都非常之高。研發(fā)時(shí)凝聚的高精尖科研力量自不必提,產(chǎn)品上光是CPU/GPU就有幾千個(gè),占地面積要達(dá)到上千平方米。使用起來更是電老虎,以天河二號為例,滿負(fù)荷運(yùn)行的情況下,一天的電費(fèi)就需要30萬。而大量的計(jì)算還會(huì)讓超級計(jì)算機(jī)發(fā)熱,如何降溫還成了個(gè)大問題。
所以,這么昂貴的超級計(jì)算機(jī)都用來做什么了呢?
以去年神威·太湖入圍戈登貝爾的幾個(gè)項(xiàng)目為例,他們分別是“千萬核可擴(kuò)展全球大氣動(dòng)力學(xué)全隱式模擬”、“高分辨率海浪數(shù)值模擬”和“鈦合金微結(jié)構(gòu)演化相場模擬”。
em……沒錯(cuò),除去軍事應(yīng)用外,超級計(jì)算機(jī)通常會(huì)被應(yīng)用于天文、氣象、基礎(chǔ)物理、化學(xué)等等方面的研究。乍一聽起來,的確離人們的現(xiàn)實(shí)生活太遠(yuǎn)了。畢竟現(xiàn)在整個(gè)世界都還沒用出現(xiàn)什么突破以往物理定律的新發(fā)現(xiàn),雖然能發(fā)射火箭,可普通人還不能進(jìn)行一次太空旅行,至于天氣預(yù)報(bào)倒是比以前準(zhǔn)確了不少,可也沒出現(xiàn)過超算成功預(yù)測并避開自然災(zāi)害的情況。
用超級計(jì)算機(jī)玩網(wǎng)游,是一種怎樣的體驗(yàn)?
計(jì)算這件事,在大數(shù)據(jù)遍地的今天并不少見,既然超級計(jì)算機(jī)的計(jì)算能力那么強(qiáng),為什么不把交通大數(shù)據(jù)、金融大數(shù)據(jù)這些東西都放到上面去算呢?
首先,我們要對超算能力這件事有一個(gè)正確的認(rèn)識。由于超級計(jì)算機(jī)集成了大量CPU,它所擅長的也是CPU最擅長的工作——浮點(diǎn)運(yùn)算。由于計(jì)算機(jī)使用的是二進(jìn)制,所以在處理1.01這種帶小數(shù)點(diǎn)的小數(shù)時(shí),只能用科學(xué)計(jì)數(shù)法來表示。這樣就避免了小數(shù)運(yùn)算時(shí)的有窮性,可以對無窮大和無窮小的數(shù)值進(jìn)行運(yùn)算。
超級計(jì)算機(jī)最擅長的就是依靠并聯(lián)的CPU們對浮點(diǎn)數(shù)計(jì)算進(jìn)行并行運(yùn)算。可以承受其他計(jì)算機(jī)無法承受的計(jì)算峰值。一個(gè)CPU算一道題需要5個(gè)小時(shí),用五個(gè)CPU把這道題拆解開來分別計(jì)算,就只需要一個(gè)小時(shí)。一些在普通計(jì)算機(jī)上要跑一個(gè)禮拜的項(xiàng)目,拿到超級計(jì)算機(jī)上可能兩分鐘就完成了。
所以現(xiàn)在我們知道了,超算的最大作用,是為某一種特定形式的計(jì)算節(jié)約時(shí)間。而在日常生活中,也許我們面對的問題并不是浮點(diǎn)數(shù)計(jì)算,比如區(qū)塊鏈應(yīng)用的就是單一hash的運(yùn)算;又或者像電商、游戲大廠,它們面臨的不是高計(jì)算量,而是快速頻繁的數(shù)據(jù)并發(fā)吞吐。
而把計(jì)算任務(wù)部署到超算上,又面臨著不少的成本,除去使用費(fèi)用不說,由于超算只提供編譯平臺,使用者還要自己去熟悉系統(tǒng)。而且目前的超級計(jì)算機(jī)雖然大多為學(xué)術(shù)機(jī)構(gòu)所有,但是一想到要把自己用戶的數(shù)據(jù)拿到別人的機(jī)子上計(jì)算,總覺得有點(diǎn)怪怪的……
所以,超算并不是不能用來處理我們?nèi)粘!⑸虡I(yè)中遇到的計(jì)算問題,而是很多本來不是超算最擅長的,綜合使用成本而言,沒有必要使用超算。
用超算訓(xùn)練AI,會(huì)不會(huì)是超算民用的第一步?
不過一個(gè)好消息是,隨著深度學(xué)習(xí)的普及和發(fā)展,超算的計(jì)算能力或許可以被更多人應(yīng)用起來。
眾所周知,深度學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)層數(shù)更深,每個(gè)神經(jīng)元之間互相連接,形成了一個(gè)非常復(fù)雜的結(jié)構(gòu)。而每個(gè)神經(jīng)元中又都需要Sigmoid函數(shù)這類復(fù)雜的數(shù)學(xué)計(jì)算,加上圖像識別、語音識別這類工作本身數(shù)據(jù)訓(xùn)練集就很大,最后就集結(jié)成了一種非??膳碌挠?jì)算量。
這幾年深度學(xué)習(xí)的發(fā)展,離不開計(jì)算能力的發(fā)展。英偉達(dá)之所以能靠賣GPU超過同行,最大的原因就是深度學(xué)習(xí)對計(jì)算能力的依賴。
那么,超級計(jì)算機(jī)能不能應(yīng)用在深度學(xué)習(xí)上呢?答案是肯定的。
在今年年初的德?lián)淙藱C(jī)大賽中,打贏了人類牌手的Libratus就是一個(gè)在超級計(jì)算機(jī)上訓(xùn)練的AI。Libratus甚至沒有搭建神經(jīng)網(wǎng)絡(luò),光學(xué)習(xí)了游戲規(guī)則,利用強(qiáng)化學(xué)習(xí)自我博弈就超越了人類水平。
在國內(nèi),百度旗下的深度學(xué)習(xí)開源平臺PaddlePaddle也支持超算應(yīng)用,甚至還入選了今年的ASC超算大賽總決賽。計(jì)算性能的超越讓一些以往不可能的事情成為可能,比如上面那個(gè)德?lián)涞陌咐粦?yīng)用神經(jīng)網(wǎng)絡(luò)、單純靠強(qiáng)化學(xué)習(xí)的自我博弈在沒有超算的情況下可能要花費(fèi)無法想象的時(shí)間,而有了超算后,這件事情就成為了可能。
同理,一些大量數(shù)據(jù)、長時(shí)間的深度學(xué)習(xí)/深度強(qiáng)化學(xué)習(xí)模型訓(xùn)練都可以在超計(jì)算機(jī)上完成。不過,這個(gè)領(lǐng)域中的超級計(jì)算機(jī)的競爭對手也不少。
首先就是芯片廠商們,英偉達(dá)、IBM、高通等等廠商都在爭先恐后的研發(fā)著適用于深度學(xué)習(xí)的芯片。早在3年前,IBM推出的TrueNorth就已經(jīng)集成了54億個(gè)硅晶體管,計(jì)算能力已經(jīng)接近當(dāng)年的超級計(jì)算機(jī),功耗卻只有65毫瓦。英偉達(dá)也曾推出過集成8個(gè)GPU的“超算系統(tǒng)”,計(jì)算能力也可以滿足大部分人的需求。
其次就是云服務(wù)供應(yīng)商,也就是上述芯片廠商的客戶們。他們不光花重金搭建起來能力超群的分布式計(jì)算系統(tǒng),還貼心的和TensorFlow、caffe等等深度學(xué)習(xí)框架合作,讓算法可以無縫部署在系統(tǒng)上。阿里云在今年推出的異構(gòu)計(jì)算產(chǎn)品最高可提供每秒75萬億次的算力,雖然比起超級計(jì)算機(jī)還差的遠(yuǎn),但性價(jià)比卻不低。
最后,還有一大批以研究算法為主的技術(shù)供應(yīng)商。他們雖然不能提供算力,卻可以通過種種方式壓縮算法模型,讓算法模型在更低算力的硬件中也能運(yùn)行。比如西雅圖的一個(gè)創(chuàng)業(yè)團(tuán)隊(duì),就在一直嘗試用二值化神經(jīng)網(wǎng)絡(luò)調(diào)整模型精度,試圖在能耗和成果中找到一個(gè)平衡。
加上在深度學(xué)習(xí)上,高成本、軟件環(huán)境復(fù)雜、數(shù)據(jù)隱私擔(dān)憂等等問題仍然有待解決。綜合看來超級計(jì)算機(jī)仍然不是最好的解決方案。
讓人哭笑不得的是,很多人認(rèn)為深度學(xué)習(xí)帶來的高強(qiáng)度計(jì)算要求會(huì)推進(jìn)超級計(jì)算機(jī)的商業(yè)化、民用應(yīng)用,結(jié)果反而是帶動(dòng)了其他算力供應(yīng)商的發(fā)展,給超級計(jì)算機(jī)造就了更多的競爭對手。
即使我們暫時(shí)還不能在生活場景中享受到超算帶來的益處,但超算在天文、物理、軍工上帶來的貢獻(xiàn)仍然是巨大的,如果沒有超算,在研發(fā)火箭、衛(wèi)星時(shí)幾乎無法進(jìn)行模擬計(jì)算。而超算帶來的快速、高精度的模擬,為這些高精尖技術(shù)的研發(fā)節(jié)約了無法估計(jì)金錢和時(shí)間成本。或許,等我們能在火星上觀光的那天,就會(huì)切實(shí)體會(huì)到超算帶來的福利吧。
評論