一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

AI計(jì)算的幾條路線,微軟為什么選擇FPGA?

SSDFans ? 來源:未知 ? 作者:李倩 ? 2018-06-07 16:40 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

AI計(jì)算的幾條路線

1993年,當(dāng)黃仁勛等三個(gè)電子工程師在加州圣何塞的一家餐館碰頭準(zhǔn)備成立一家圖形處理芯片公司時(shí),他們還不知道20年后,他們做的這個(gè)芯片還能用來做人工智能、自動(dòng)駕駛。

1985年,Xilinx創(chuàng)始人之一Ross Freeman發(fā)明FPGA芯片的時(shí)候,他也不會(huì)想到近30年后,F(xiàn)PGA芯片會(huì)被廣泛應(yīng)用于人工智能領(lǐng)域的計(jì)算。黃仁勛還能親自帶領(lǐng)NVIDIA參加人工智能芯片大戰(zhàn),而Ross Freeman在1989年年僅41歲就因肺炎不幸早逝。

目前人工智能的產(chǎn)業(yè)重心,已經(jīng)從早期的深度學(xué)習(xí)算法和框架,轉(zhuǎn)到了AI硬件平臺(tái)。Google開發(fā)出專用的AI芯片——TPU,如下圖。

可是,另一個(gè)巨頭微軟卻全面擁抱FPGA作為AI計(jì)算平臺(tái)。同時(shí),亞馬遜和百度也是FPGA路線。百度在一個(gè)電路板上集成了CPU、GPU和FPGA,稱為“XPU”。亞馬遜的云服務(wù)提供F1加速平臺(tái),提供FPGA計(jì)算加速。

微軟為什么選擇FPGA

下圖是微軟的FPGA擴(kuò)展卡,叫做DPU,“Soft DNN Processing Unit”。

微軟FPGA戰(zhàn)略是成體系的,包括三個(gè)主要部分:

1. FPGA擴(kuò)展卡能夠互聯(lián)、擴(kuò)展,同時(shí)融入到數(shù)據(jù)中心服務(wù)中去,提供高帶寬、低延遲的加速服務(wù);

2. FPGA是可編程的,方便用戶開發(fā)自己的程序;

3. 微軟為自己的神經(jīng)網(wǎng)絡(luò)模型CNTK提供了編譯器和開發(fā)環(huán)境。

為什么微軟選擇了FPGA?因?yàn)槲④浐虶oogle是兩種不同的基因,Google喜歡嘗試新技術(shù),所以自然要用TPU去追求最高的性能。但是,微軟是一家商業(yè)文化很重的公司,選擇一個(gè)方案看的是性價(jià)比和商業(yè)價(jià)值。做專用芯片盡管很炫,但是是否真的值得?

做芯片主要的缺點(diǎn)是投資大、時(shí)間周期長(zhǎng),芯片做好后里面的邏輯就不能修改。人工智能的算法一直在快速迭代,而做芯片至少要一兩年的時(shí)間,意味著只能支持舊的架構(gòu)和算法。如果芯片想要支持新的算法,就要做成通用型,提供指令集給用戶編程,通用性又會(huì)降低性能,增加功耗,因?yàn)橛行┕δ苁抢速M(fèi)的。所以不少芯片公司盡管做了芯片,但是很多產(chǎn)品還是FPGA做的,比如比特大陸的挖礦機(jī),芯片做出來就已經(jīng)無法支持新的挖礦算法了。

阿呆8年前在微軟亞洲研究院參與用FPGA+Open Channel SSD加速Bing搜索引擎的研究,那個(gè)時(shí)候FPGA做機(jī)器學(xué)習(xí)性能已經(jīng)可以甩CPU幾條大街了,同時(shí)還能節(jié)省購買服務(wù)器的成本,降低散熱、土地等成本。所以微軟選擇FPGA是基于商業(yè)考慮和長(zhǎng)期積累和探索的經(jīng)驗(yàn)。

CPU、GPU、ASIC和FPGA橫向?qū)Ρ?/p>

我們現(xiàn)在常見的硬件計(jì)算平臺(tái)包括CPU、GPU、ASIC和FPGA。CPU是最通用的,有成熟的指令集,例如X86、ARM、MIPS、Power等,用戶只要基于指令集開發(fā)軟件就能使用CPU完成各種任務(wù)。但是,CPU的通用性決定了計(jì)算性能是最差的,在現(xiàn)代計(jì)算機(jī)中,很多計(jì)算都需要高度的并行和流水線架構(gòu),但是,CPU盡管流水線很長(zhǎng),計(jì)算核心數(shù)最多只有幾十個(gè),并行度不夠。比如看一個(gè)高清視頻,那么多像素要并行渲染,CPU就拖后腿了。

GPU克服了CPU并行度不夠的缺點(diǎn),把幾百上千個(gè)并行計(jì)算核心堆到一個(gè)芯片里,用戶用GPU的編程語言,比如CUDA、OpenCL等就可以開發(fā)程序用GPU來加速應(yīng)用。但是,GPU也有嚴(yán)重的缺點(diǎn),就是最小單元是計(jì)算核心,還是太大了。在計(jì)算機(jī)體系結(jié)構(gòu)中,有一個(gè)很重要的概念就是粒度,粒度越細(xì),就意味著用戶可以發(fā)揮的空間越多。就跟蓋樓一樣,如果用小小的磚頭,可以做出很多漂亮的造型,但是建設(shè)時(shí)間久,如果用混凝土預(yù)制件,很快就蓋好大樓了,可是樓的樣式就受到限制。如下圖,就是預(yù)制件蓋樓,搭積木一樣,很快,可是都長(zhǎng)得差不多,想蓋的別的樓就不行。

ASIC克服了GPU粒度太粗的缺點(diǎn),能讓用戶從晶體管級(jí)開始自定義邏輯,最后交給芯片代工廠生產(chǎn)出專用芯片。不管是性能還是功耗,都比GPU好很多,畢竟從最底層開始設(shè)計(jì),沒有浪費(fèi)的電路,而且追求最高的性能。但是ASIC也有很大的缺點(diǎn):投資大、開發(fā)周期長(zhǎng)、芯片邏輯不能修改?,F(xiàn)在做一款大規(guī)模芯片,至少需要幾千萬到幾億的投資,時(shí)間周期一兩年左右,尤其是AI芯片,沒有通用IP,很多要自己開發(fā),時(shí)間周期更久。芯片做好后,如果有大問題或者功能升級(jí)(有些小問題可以通過預(yù)留的邏輯修改金屬層連線解決),還不能直接修改,而要重新修改版圖,交付工廠流片。

所以,最后就回到了FPGA:兼顧ASIC計(jì)算粒度細(xì)和GPU可編程的優(yōu)點(diǎn)。FPGA的計(jì)算粒度很細(xì),可以到與非門級(jí)別,但是邏輯還能修改,是可編程的。

FPGA入門

我們上大學(xué)學(xué)計(jì)算機(jī),首先學(xué)習(xí)的基礎(chǔ)知識(shí)是布爾代數(shù),從與非門等邏輯門出發(fā),可以搭出加法器、乘法器等數(shù)字邏輯,最后一級(jí)級(jí)組合,實(shí)現(xiàn)很復(fù)雜的計(jì)算功能(阿呆這里八卦一下,深度學(xué)習(xí)的泰斗Hinton教授是布爾的孫子的兒子)。在ASIC里面,與非門通過晶體管實(shí)現(xiàn),但是晶體管無法做到可編程,必須要做成版圖,送到芯片代工廠生產(chǎn)才能用。那怎樣做到數(shù)字邏輯也能可編程呢?我們都知道,數(shù)字邏輯可以用真值表來表示,如下圖就是與非門的真值表。

FPGA的發(fā)明人想了一個(gè)辦法,就是用一個(gè)查找表來存儲(chǔ)真值表的輸出結(jié)果。如下圖就是一個(gè)3bit的異或門查找表,3bit一共是8個(gè)狀態(tài),查找表保存了每個(gè)狀態(tài)的結(jié)果,輸入的3個(gè)bit作為索引,直接從表里讀到計(jì)算結(jié)果,通過一個(gè)選擇開關(guān)輸出。這樣避免了搭建計(jì)算邏輯,同時(shí)簡(jiǎn)化了芯片結(jié)構(gòu),只需要在芯片里面放許許多多的查找表,大家一起級(jí)聯(lián)和組合就能實(shí)現(xiàn)復(fù)雜的邏輯和計(jì)算。目前主流的FPGA采用SRAM工藝,就是把查找表的狀態(tài)都保存在SRAM里面,

但是,僅僅有查找表是不夠的,數(shù)字集成電路的根是時(shí)鐘,所有的邏輯按照時(shí)鐘節(jié)拍來同步。舉個(gè)例子,幾個(gè)流氓打群架,是沒有章法的,但是幾萬人的大軍作戰(zhàn),如果還是各打各的,就發(fā)揮不了群體的優(yōu)勢(shì)。比如士兵與士兵之間如何配合?連與連之間如何分工合作?大軍作戰(zhàn)需要講究陣法,中國(guó)古代的戰(zhàn)神們就熟讀兵書,會(huì)用八卦陣、長(zhǎng)蛇陣等陣法,按照統(tǒng)一的號(hào)令指揮大軍作戰(zhàn),無往不利。比如,法正和黃忠搭配,在定軍山對(duì)山擺好陣勢(shì),法正站在山頂舉令旗指揮,在他的號(hào)令下,最終老將黃忠把悍將夏侯淵劈作兩半,就是靠陣法以弱勝強(qiáng)的例子。FPGA里面有幾十萬甚至百萬個(gè)查找表,需要統(tǒng)一的號(hào)令來行動(dòng),這就是時(shí)鐘。

下圖是FPGA內(nèi)部的基本單元,查找表+D觸發(fā)器+選擇開關(guān)。D觸發(fā)器用來存儲(chǔ),查找表是組合邏輯。每個(gè)時(shí)鐘周期會(huì)輸出一個(gè)值,通過選擇開關(guān)來選擇用查找表還是D觸發(fā)器。

如果你看明白了上面FPGA的基本單元,你就理解了數(shù)字電路的基礎(chǔ)——RTL,Register Transfer Level,寄存器傳輸級(jí)。數(shù)字電路包含兩個(gè)基本部分:組合邏輯和時(shí)序邏輯,組合邏輯就是我們前面講的布爾代數(shù),可以做邏輯運(yùn)算,但是沒有記憶功能,上圖中的查找表就是起了組合邏輯的作用。時(shí)序邏輯是帶有記憶功能,可以按照時(shí)鐘節(jié)拍控制輸入輸出,上圖中的D觸發(fā)器起了記憶功能,我們叫做寄存器。這樣,組合邏輯和時(shí)序邏輯結(jié)合起來,我們就可以從這個(gè)層面設(shè)計(jì)大規(guī)模數(shù)字電路,叫做RTL設(shè)計(jì),就是說從組合邏輯和時(shí)序邏輯級(jí)別來設(shè)計(jì)復(fù)雜的計(jì)算系統(tǒng)。

FPGA如何實(shí)現(xiàn)可編程?

那么問題來了,F(xiàn)PGA怎么實(shí)現(xiàn)可編程?如果要控制上面的基本單元,需要存好查找表的幾個(gè)狀態(tài)值,比如4輸入查找表,就要存16bit,同時(shí)要存1個(gè)組合邏輯的選擇bit和1個(gè)D觸發(fā)器初始值bit。FPGA把這些配置數(shù)據(jù)保存在SRAM里面,并配置到每個(gè)基本單元中,通過寫自定義數(shù)據(jù)到SRAM,就實(shí)現(xiàn)了對(duì)整個(gè)FPGA邏輯的可編程。

有了上面的基本邏輯單元還不夠,多個(gè)基本邏輯怎么級(jí)聯(lián)?級(jí)聯(lián)的連接部分怎么可編程?

下圖是FPGA內(nèi)邏輯塊之間互聯(lián)的結(jié)構(gòu)圖。邏輯塊的輸入輸出通過連接塊Connection Block CB和交換塊結(jié)合級(jí)聯(lián)到其他的邏輯塊,連接塊決定邏輯塊的信號(hào)連到哪根連接線上,交換塊決定哪些連接線是通的,把邏輯塊需要的信號(hào)連到相鄰的邏輯塊。連接塊和交換塊都是可以基于SRAM方法編程的,連接塊里面是一些選擇開關(guān),交換塊里面是一些交換器。

看得出來,連接線遠(yuǎn)比邏輯塊更復(fù)雜,在現(xiàn)代FPGA芯片中,連線一般占了90%的面積,真正的邏輯部分只有10%左右面積。

FPGA的擴(kuò)展資源

FPGA里面只是上面的組合邏輯是不夠的,因?yàn)橛脩粲袝r(shí)候不想自己搭邏輯,有些常用的邏輯希望直接用現(xiàn)成的。所以現(xiàn)代FPGA自帶了很多常用的計(jì)算單元,比如加法器、乘法器、片上RAM,甚至嵌入式CPU,它們不是通過查找表搭的,而是跟ASIC一樣,用晶體管搭成,這樣更省芯片面積,同時(shí)性能更好。這些計(jì)算單元可以讓用戶配置和組合。

比如,深度學(xué)習(xí)中會(huì)使用大量的乘法器,這個(gè)時(shí)候,F(xiàn)PGA內(nèi)部提供很多乘法器就發(fā)揮了很大的作用,這些乘法器和用戶邏輯結(jié)合,可以實(shí)現(xiàn)很多人工智能計(jì)算,并達(dá)到高性能。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1645

    文章

    22049

    瀏覽量

    618402
  • 微軟
    +關(guān)注

    關(guān)注

    4

    文章

    6685

    瀏覽量

    105753
  • 人工智能
    +關(guān)注

    關(guān)注

    1806

    文章

    49014

    瀏覽量

    249446

原文標(biāo)題:阿呆讀可重構(gòu)計(jì)算1:為什么微軟選擇FPGA做AI?

文章出處:【微信號(hào):SSDFans,微信公眾號(hào):SSDFans】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    AIFPGA獲得新生:CPU+GPU都搞不定的機(jī)器學(xué)習(xí)問題,微軟和百度用FPGA解決了

    AIFPGA又煥發(fā)新生。在今年的 Hot Chips 2017 會(huì)議上,微軟推出基于 FPGA 的超低延遲計(jì)算平臺(tái) Brainwave,
    的頭像 發(fā)表于 08-25 16:14 ?1.1w次閱讀

    當(dāng)我問DeepSeek AI爆發(fā)時(shí)代的FPGA是否重要?答案是......

    ,這為AI的持續(xù)創(chuàng)新提供了有力支持。 6.數(shù)據(jù)中心與云計(jì)算加速 ? 在云計(jì)算和數(shù)據(jù)中心中,FPGA被用作AI
    發(fā)表于 02-19 13:55

    FPGA+AI王炸組合如何重塑未來世界:看看DeepSeek東方神秘力量如何預(yù)測(cè)......

    的三重革命1) 硬件架構(gòu)革命:英特爾IPU路線圖顯示,到2026年將推出FPGA+Xeon的異構(gòu)加速卡;AMD計(jì)劃2023年集成Xilinx AI Engine的CPU芯片...... 2) 系統(tǒng)集成革命
    發(fā)表于 03-03 11:21

    FPGA的學(xué)習(xí)方向路線?

    求各路大神解答。據(jù)我所知,fpga大都用于圖像處理和通信部分,但是對(duì)于學(xué)習(xí)路線還是迷茫的,不知道明確的學(xué)習(xí)路線。求,圖像處理的學(xué)習(xí)路線,或者是通信部分的學(xué)習(xí)
    發(fā)表于 12-05 15:51

    微軟HoloLens正研發(fā)AI芯片 可識(shí)別語音和圖像

    加入了動(dòng)作追蹤處理系統(tǒng)。最近,為了在云服務(wù)方面與谷歌和亞馬遜合作,微軟使用了現(xiàn)場(chǎng)可編程門陣列(FPGA)以展示他們的 AI 實(shí)力。特別是,微軟從英特爾子公司 Altera 購買芯片,并
    發(fā)表于 07-31 21:17

    為什么微軟選擇FPGAAI?

    微軟卻全面擁抱FPGA作為AI計(jì)算平臺(tái)。同時(shí),亞馬遜和百度也是FPGA路線。百度在一個(gè)電路板上集
    發(fā)表于 08-21 09:50

    如何確定在Altium中選擇幾條邊?

    像這種怎么選擇幾條邊Altium designer中的
    發(fā)表于 09-08 22:25

    EdgeBoard FZ5 邊緣AI計(jì)算盒及計(jì)算

    的高可靠性AI BOX本次推出的EdgeBoard FZ5計(jì)算盒及計(jì)算卡基于XCZU5EV(4核Cortex-A53融合FPGA)自適應(yīng)可伸縮計(jì)算
    發(fā)表于 08-31 14:12

    基于FPGA的異構(gòu)計(jì)算是趨勢(shì)

    目前處于AI大爆發(fā)時(shí)期,異構(gòu)計(jì)算選擇主要在FPGA和GPU之間。盡管目前異構(gòu)計(jì)算使用最多的是利用GPU來加速,
    的頭像 發(fā)表于 04-25 09:17 ?1.1w次閱讀

    FPGA將成為英特爾進(jìn)入微軟AI市場(chǎng)遲到的船票

    長(zhǎng)遠(yuǎn)來看,英特爾豪賭167億美元收購FPGA制造商Altera的舉動(dòng)是一筆好買賣。現(xiàn)在,FPGA已經(jīng)成為深層神經(jīng)網(wǎng)絡(luò)中GPU的強(qiáng)力競(jìng)爭(zhēng)對(duì)手;英偉達(dá)應(yīng)該也已經(jīng)發(fā)現(xiàn)了,微軟新的實(shí)時(shí)云AI/
    發(fā)表于 11-07 09:31 ?791次閱讀

    微軟推出Brainwave項(xiàng)目以提供更快的FPGA芯片

    隨著云計(jì)算大戰(zhàn)不斷升溫,微軟正在采取一種獨(dú)特的方式,以幫助開發(fā)者更快地完成人工智能(AI計(jì)算任務(wù)。這個(gè)項(xiàng)目名為Project Brainwave,可以讓
    發(fā)表于 08-26 17:55 ?1087次閱讀

    FPGA計(jì)算性能還能否滿足現(xiàn)代社會(huì)的需求

    最近FPGA又頻頻被各AI領(lǐng)域的巨頭看好,比如微軟、百度、科大訊飛都對(duì)FPGA應(yīng)用前景有所期待。那么如果讓你選擇
    發(fā)表于 09-04 17:49 ?935次閱讀

    NVIDIA 攜手微軟打造大規(guī)模云端 AI 計(jì)算機(jī)

    快速、經(jīng)濟(jì)的 AI 開發(fā)和部署 NVIDIA 于昨日宣布與微軟展開一項(xiàng)為期多年的合作,雙方將共同打造全球最強(qiáng)大的 AI 超級(jí)計(jì)算機(jī)。微軟 A
    的頭像 發(fā)表于 11-17 19:25 ?886次閱讀

    「重大突破」微軟量子超級(jí)計(jì)算機(jī)路線圖公布!

    關(guān)注微軟科技視頻號(hào) 了解更多科技前沿資訊 點(diǎn)亮在看,給BUG點(diǎn)好看 點(diǎn)擊閱讀原文,了解關(guān)于微軟那些事兒 原文標(biāo)題:「重大突破」微軟量子超級(jí)計(jì)算機(jī)路線
    的頭像 發(fā)表于 07-07 00:10 ?547次閱讀
    「重大突破」<b class='flag-5'>微軟</b>量子超級(jí)<b class='flag-5'>計(jì)算</b>機(jī)<b class='flag-5'>路線</b>圖公布!

    微軟和OpenAI計(jì)劃投資1000億美元建造“星際之門”AI超級(jí)計(jì)算機(jī)

    微軟和OpenAI計(jì)劃投資1000億美元建造“星際之門”AI超級(jí)計(jì)算機(jī)這一消息屬實(shí)。
    的頭像 發(fā)表于 04-11 10:14 ?976次閱讀