“隨著摩爾定律走向盡頭,gpu加速計算已成為新的前進(jìn)道路,這也是我們領(lǐng)先了20多年的領(lǐng)域。”在gtc china 2019的主題演講環(huán)節(jié),nvidia創(chuàng)始人兼首席執(zhí)行官黃仁勛為現(xiàn)場的科學(xué)家、企業(yè)家、工程師、開發(fā)者等超過6000名參會者,描繪了一個面向未來的ai加速時代,“我們在為當(dāng)代的‘愛因斯坦’、‘達(dá)芬奇’、‘米開朗基羅’打造計算機(jī),當(dāng)然也包括所有的人。”如今,英偉達(dá)已售出15億塊gpu,加速著地質(zhì)研究、個性化醫(yī)療、數(shù)據(jù)科學(xué)、自然語言處理等領(lǐng)域的智慧化進(jìn)程。
在nvidia的數(shù)據(jù)中心業(yè)務(wù)版圖中,ai扮演著至關(guān)重要的作用,gpu可以滿足大規(guī)模的并行計算需求,并且得益于tensor core和tensorrt的支持在云端低精度計算上構(gòu)筑了技術(shù)優(yōu)勢,tensorrt 5可以將fp32模型轉(zhuǎn)換成fp16或int8模型,而不損失準(zhǔn)確率,并降低能耗。圍繞tensorrt,nvidia幫助阿里巴巴和百度構(gòu)建了深度推薦系統(tǒng),對tensorflow的輸出結(jié)果進(jìn)行優(yōu)化,通過計算尋找計算圖中可以融合的節(jié)點和邊,減少訪問以便開發(fā)者使用cuda將負(fù)載高效部署在任意的gpu上。
此前,企業(yè)要在互聯(lián)網(wǎng)數(shù)以百億計的信息流中找到用戶真正關(guān)心的內(nèi)容就像大海撈針,而這需要一個智能的篩選系統(tǒng)將有效信息從數(shù)十億過濾到數(shù)百個,并且進(jìn)行排序,依據(jù)就是對用戶喜好的了解,這種推薦系統(tǒng)的計算平臺已從cpu轉(zhuǎn)向gpu。在百度,10tb量級的數(shù)據(jù)使用gpu訓(xùn)練成本可減少90%%u3002阿里在處理“雙11”的交易量時,使用基于gpu的深度學(xué)習(xí)模型每秒可處理780個請求。
不過,tensorrt 5僅能支持cnn,對多數(shù)語音模型所需要的rnn始終是個遺憾,tensorrt 7的發(fā)布則完善了這一特性。黃仁勛談到:“我們已進(jìn)入了一個機(jī)器可以實時理解人類語言的ai新時代。tensorrt 7使這成為可能,為世界各地的開發(fā)者提供工具,使他們能夠構(gòu)建和部署更快、更智能的會話式ai服務(wù),從而實現(xiàn)更自然的ai人機(jī)交互。”作為nvidia第七代推理軟件開發(fā)套件,tensorrt 7能夠?qū)崿F(xiàn)與語音代理、聊天機(jī)器人和推薦引擎等應(yīng)用進(jìn)行實時互動。
具體來說,tensorrt 7內(nèi)置新型深度學(xué)習(xí)編譯器,可以自動優(yōu)化和加速遞歸神經(jīng)網(wǎng)絡(luò)與基于轉(zhuǎn)換器的神經(jīng)網(wǎng)絡(luò)。這些日益復(fù)雜的神經(jīng)網(wǎng)絡(luò)是ai語音應(yīng)用所必需的,根據(jù)juniper research預(yù)計,全球有32.5億個數(shù)字語音助理被應(yīng)用于設(shè)備中,到2023年該數(shù)字將達(dá)到80億。與在cpu上運行時相比,會話式ai組件速度提高10倍以上,從而把延遲降低到實時交互所需的300毫秒閾值以下。
“實時更新的互聯(lián)網(wǎng)信息使得推理過程無時無刻都在變化,訓(xùn)練模型需要大量的算力,模型也越來越復(fù)雜,這就是nvidia要解決的問題,要用多臺服務(wù)器同時來處理。”nvidia加速計算產(chǎn)品管理總監(jiān)paresh kharya表示,“我們提供了不斷升級的各類工具和軟件,例如用最新的tensor rt支持各種各樣的模型在各種情景下的部署,并且支持上百萬的用戶在每秒內(nèi)進(jìn)行數(shù)十億次的搜索。”
要想實現(xiàn)真正的會話式ai,就要在毫秒級的時間段內(nèi)完成復(fù)雜的數(shù)據(jù)交互,這就離不開rnn在序列數(shù)據(jù)處理和預(yù)測方面的特性,其已被廣泛應(yīng)用于語音識別、nlp、語言翻譯、股票預(yù)測、金融風(fēng)控、行程規(guī)劃等實時動態(tài)數(shù)據(jù)的處理任務(wù)中。通過tensorrt的新型深度學(xué)習(xí)編譯器,全球的開發(fā)者能夠?qū)⑦@些網(wǎng)絡(luò)(例如定制的自動語音識別網(wǎng)絡(luò)以及用于文本-語音轉(zhuǎn)換的wavernn和tacotron 2)實現(xiàn)自動化,并實現(xiàn)最佳的性能和最低的延遲,新的編譯器還能優(yōu)化基于transformer的模型。
nvidia tensorrt產(chǎn)品市場負(fù)責(zé)人siddarth sharma透露,nvidia研發(fā)會話式ai加速已有數(shù)月時間,最終在tensorrt 7中實現(xiàn)了從語音識別到語義理解再到語音輸出的全流程功能,“會話式ai是非常難的領(lǐng)域,要想把會話式ai做得比較有用,要符合兩個條件,首先是在300毫秒內(nèi)將三個部分完成,而且做得足夠智能化,期間會有非常多的復(fù)雜模型需要計算,盡管tensor rt仍需完善,但已可以覆蓋整個流程。”
tensorrt 7能夠快速優(yōu)化、驗證并部署經(jīng)過訓(xùn)練的神經(jīng)網(wǎng)絡(luò),為超大型數(shù)據(jù)中心、嵌入式或汽車gpu平臺提供推理能力。相比tensorrt 5僅支持30種模型,tensorrt 7可以支持多達(dá)1000種不同的計算變換和優(yōu)化,包括最新的bert、roberta等,并且可以擴(kuò)展到基于cuda的任意gpu計算環(huán)境中。
在nvidia,軟件工程師的數(shù)量要超過硬件工程師,這也是該公司對軟件高度重視的體現(xiàn)之一。在做硬件設(shè)計時,nvidia會確保其可編程的靈活性,以便加速計算可用在各個領(lǐng)域,同時也在持續(xù)完善軟件堆棧,無論是對推理速度的提升,還是訓(xùn)練模型的預(yù)部署,nvidia始終保持著與開發(fā)者的緊密溝通,讓tensorflow這樣的ai框架與硬件協(xié)同作業(yè),并將更多的軟件庫整合到開發(fā)框架中,方便開發(fā)人員隨時調(diào)用。
黃仁勛認(rèn)為,制程工藝技術(shù)固然重要,但要想在兩年后實現(xiàn)ai性能的四倍提升,僅靠制程是無法做到的,“比如我們的‘turing’芯片,制程工藝是12納米,因為它的架構(gòu)和設(shè)計都很好,實際上能效已超過了7納米的gpu。當(dāng)我們談到如何讓芯片達(dá)到最高性能的時候,要有架構(gòu)、算法、軟件和應(yīng)用的共同合力。英偉達(dá)的架構(gòu)規(guī)則與其他的架構(gòu)是完全不一樣的,這也是為什么我們能夠?qū)崿F(xiàn)20倍的提升。”
作為首個用于gpu的通用計算解決方案,nvidia開發(fā)的并行計算平臺和編程模型——cuda提供了開發(fā)gpu加速應(yīng)用所需的一切,包括加速庫、編譯器、開發(fā)/調(diào)試工具、編程指南、api參考等等。如今,cuda在nvidia擁抱arm生態(tài)的進(jìn)程中同樣扮演著關(guān)鍵角色。為此,nvidia也通過對pci express的支持連接了每一顆arm芯片。
年初,英偉達(dá)為arm帶來了cuda-x軟件平臺,并在sc19上發(fā)布了參考設(shè)計平臺,使企業(yè)能夠快速構(gòu)建gpu加速的arm服務(wù)器,該平臺由硬件和軟件基礎(chǔ)模塊組成,英偉達(dá)將提供arm兼容軟件開發(fā)套件的預(yù)覽版本,該版本包含nvidia cuda-x庫和加速計算開發(fā)工具。為了讓arm平臺上的應(yīng)用實現(xiàn)gpu加速,英偉達(dá)及其高性能計算應(yīng)用生態(tài)合作伙伴還編譯了大量代碼。除了應(yīng)用層面的合作,英偉達(dá)還與canonical、red hat、suse強(qiáng)化了基礎(chǔ)開發(fā)工具。
而在gtc china 2019上,nvidia又推出了用于自動駕駛和機(jī)器人的高度先進(jìn)的軟件定義平臺——nvidia drive agx orin,orin系統(tǒng)級芯片集成了nvidia新一代gpu架構(gòu)和arm hercules cpu內(nèi)核,以及全新深度學(xué)習(xí)和計算機(jī)視覺加速器,該芯片由170億個晶體管組成,每秒可運行200萬億次計算,幾乎是上一代xavier系統(tǒng)級芯片性能的7倍。由于orin和xavier均可通過開放的cuda、tensorrt api及各類庫進(jìn)行編程,因此開發(fā)者能夠在一次性投資后使用跨多代的產(chǎn)品。
“通過將cuda平臺和arm架構(gòu)進(jìn)行兼容,無論是ai、hpc還是其他領(lǐng)域,我們可以在加速計算上為客戶提供更多的選擇,與此前以cpu為基礎(chǔ)的計算方式大不相同,例如能夠讓高性能計算的性能提升達(dá)到20、30甚至是100倍。不僅是在架構(gòu)上進(jìn)行了設(shè)計,更重要的是我們通過軟件的方式使得性能進(jìn)一步提升。”paresh kharya表示,“軟件對加速計算的性能提升是非常重要的,未來我們會繼續(xù)在各個平臺上對軟件進(jìn)行完善以提升性能。”