來(lái)源:數(shù)據(jù)觀 時(shí)間:2017-01-23 13:35:03 作者:騰訊云
?由騰訊云基礎(chǔ)產(chǎn)品中心、騰訊架構(gòu)平臺(tái)部組成的騰訊云FPGA聯(lián)合團(tuán)隊(duì)在這里向讀者分享,傳統(tǒng)FPGA存在什么樣的問題、FPGA與其他計(jì)算硬件平臺(tái)的區(qū)別是什么?騰訊云FPGA的價(jià)值和應(yīng)用案例有哪些?
?FPGA誕生至今已有30余年,此前主要應(yīng)用于大型互聯(lián)網(wǎng)和科技公司,但是并沒有被普及應(yīng)用。1月20日,騰訊云推出國(guó)內(nèi)首款高性能異構(gòu)計(jì)算基礎(chǔ)設(shè)施——FPGA 云服務(wù)器,將以云服務(wù)方式將大型公司才能長(zhǎng)期支付使用的 FPGA 普及到更多企業(yè),企業(yè)只需支付相當(dāng)于通用CPU約40%的費(fèi)用,性能可提升至通用CPU服務(wù)器的30倍以上。
?行業(yè)背景
?隨著 AI 這股熱潮的發(fā)展,業(yè)界對(duì)人工智能發(fā)展的熱情逐漸高漲,人工智能也成為了未來(lái)發(fā)展的趨勢(shì)。中小型企業(yè)也期望搭上人工智能這輛列車。FPGA能夠從底層開始變革人工智能的設(shè)計(jì)邏輯,推動(dòng)全行業(yè)在人工智能領(lǐng)域的創(chuàng)新步伐。
?不過,過去中小企業(yè)部署 FPGA 面臨諸多問題:FPGA 硬件成本高、靈活性差、一次性采購(gòu)?fù)度氪螅枰甙旱馁M(fèi)用和巨大精力進(jìn)行 FPGA 的定制和采購(gòu), FPGA 硬件交易價(jià)格不透明,為保障服務(wù)穩(wěn)定需高額的運(yùn)維 IT 成本,并需配備相應(yīng)的硬件工程師和軟件工程師。
?同時(shí)企業(yè)接下來(lái)還會(huì)面臨 FPGA 芯片更新?lián)Q代帶來(lái)的資源閑置流轉(zhuǎn)問題。雖然 FPGA 知識(shí)產(chǎn)權(quán)(FPGA IP,F(xiàn)PGA Intellectual Property)提供了業(yè)務(wù)所需的硬件加速功能,但研發(fā)周期長(zhǎng),研發(fā)投入和風(fēng)險(xiǎn)高,令諸多企業(yè)望而卻步。
?FPGA是什么?
?人工智能包括三個(gè)要素:算法,計(jì)算和數(shù)據(jù)。人工智能算法目前最主流的是深度學(xué)習(xí)。計(jì)算所對(duì)應(yīng)的硬件平臺(tái)有:CPU、GPU、FPGA、ASIC。由于移動(dòng)互聯(lián)網(wǎng)的到來(lái),用戶每天產(chǎn)生大量的數(shù)據(jù)被入口應(yīng)用收集:搜索(百度)、通訊(QQ、微信)。我們的 QQ、微信業(yè)務(wù),用戶每天產(chǎn)生的圖片數(shù)量都是數(shù)億級(jí)別,如果我們把這些用戶產(chǎn)生的數(shù)據(jù)看成礦藏的話,計(jì)算所對(duì)應(yīng)的硬件平臺(tái)看成挖掘機(jī),挖掘機(jī)的挖掘效率就是各個(gè)計(jì)算硬件平臺(tái)對(duì)比的標(biāo)準(zhǔn)。
?通用處理器(CPU)可提供高度的靈活性和易用性,可以低廉的價(jià)格生產(chǎn),并且適用于多種用途和重復(fù)使用。但性能相對(duì)缺乏效率。
?專用集成電路(ASIC)可提供高性能,但代價(jià)是不夠靈活且生產(chǎn)難度更大。這些電路專用于某特定的應(yīng)用程序,并且生產(chǎn)起來(lái)價(jià)格昂貴且耗時(shí)。
?從靈活性而言,介于 CPU 和 ASIC 兩者之間的處理器,使用比較多的異構(gòu)處理器目前有兩個(gè),一個(gè)是 GPU,一個(gè)是 FPGA。
?FPGA 屬于一類更通用的可編程邏輯設(shè)備(PLD), FPGA 既能提供集成電路的性能優(yōu)勢(shì),又具備 CPU 可重新配置的靈活性。簡(jiǎn)單來(lái)說(shuō),F(xiàn)PGA 是一種可重新配置的「通用集成電路」。
?GPU 的靈活性是介于 FPGA 與 CPU 之間。GPU 的核心數(shù)量一般是 CPU 的成百上千倍,計(jì)算能力要比 CPU 多出幾個(gè)數(shù)量級(jí),也更適合進(jìn)行并行計(jì)算。但是如果計(jì)算里面有大量的分支,或者算法的數(shù)據(jù)前后存在依賴關(guān)系,使得算法無(wú)法并行運(yùn)行,則 GPU 的性能優(yōu)勢(shì)會(huì)被大大減弱。
?相比 GPU,F(xiàn)PGA 的可操控粒度更小,具備更高的靈活度和算法適應(yīng)性。FPGA 能夠簡(jiǎn)單地通過使用觸發(fā)器(FF)來(lái)實(shí)現(xiàn)順序邏輯,并通過使用查找表(LUT)來(lái)實(shí)現(xiàn)組合邏輯。當(dāng)算法需要并行計(jì)算能力時(shí),可以將大部分的邏輯資源都用來(lái)做計(jì)算,達(dá)到更高的計(jì)算效率;當(dāng)算法需要更多的控制流程時(shí),可以將大部分的邏輯資源都用來(lái)做控制。(實(shí)際的 FPGA 內(nèi)部也存在大量的硬核來(lái)完成固定的功能)。正是基于 FPGA 資源的高可控度,可以帶來(lái)算法實(shí)現(xiàn)時(shí)的靈活度。
?FPGA 全稱「可編輯門陣列」(Field Programmable Gate Array),其基本原理是在 FPGA 芯片內(nèi)集成大量的數(shù)字電路基本門電路以及存儲(chǔ)器,而用戶可以通過燒寫 FPGA 配置文件來(lái)來(lái)定義這些門電路以及存儲(chǔ)器之間的連線。這種燒入不是一次性的,即用戶今天可以把 FPGA 配置成一個(gè)圖像編解碼器,明天可以編輯配置文件把同一個(gè) FPGA 配置成一個(gè)音頻編解碼器,這個(gè)特性可以極大地提高數(shù)據(jù)中心彈性服務(wù)能力。所以說(shuō)在 FPGA 可以快速實(shí)現(xiàn)為深度學(xué)習(xí)算法開發(fā)的芯片架構(gòu),而且成本比設(shè)計(jì)的專用芯片(ASIC)要便宜,當(dāng)然性能也沒有專用芯片(ASIC)強(qiáng)。ASIC 是一錘子買賣,設(shè)計(jì)出來(lái)要是發(fā)現(xiàn)哪里不對(duì)基本就沒機(jī)會(huì)改了,但是 FPGA 可以通過重新配置來(lái)不停地試錯(cuò)知道獲得最佳方案,所以用 FPGA 開發(fā)的風(fēng)險(xiǎn)也遠(yuǎn)遠(yuǎn)小于 ASIC。
?騰訊云FPGA的行業(yè)價(jià)值
?騰訊云帶來(lái)的革命性進(jìn)展是:將 FPGA 部署時(shí)間從數(shù)月縮短到數(shù)分鐘,企業(yè)可按需付費(fèi)使用 FPGA,極大降低 FPGA 的使用成本,實(shí)現(xiàn)高性能 FPGA 硬件加速處理。企業(yè)可以通過 FPGA 云服務(wù)器進(jìn)行 FPGA 硬件編程,可將性能提升至通用 CPU 服務(wù)器的?30 倍?以上。同時(shí)騰訊云率先在國(guó)內(nèi)提供第三方 FPGA 知識(shí)產(chǎn)權(quán)市場(chǎng),通過騰訊云服務(wù)市場(chǎng),F(xiàn)PGA 開發(fā)者和使用者可以更高效地交易。
?長(zhǎng)期以來(lái),F(xiàn)PGA 行業(yè)內(nèi)的提供者和使用者一直缺乏交易平臺(tái)和信用保證,導(dǎo)致交易環(huán)節(jié)冗長(zhǎng),很難達(dá)成交易。騰訊云服務(wù)市場(chǎng)搭建一個(gè)簡(jiǎn)單可靠的 FPGA 知識(shí)產(chǎn)權(quán)交易市場(chǎng)。
?對(duì)于 FPGA 使用者而言,可以在騰訊云服務(wù)市場(chǎng)購(gòu)買已開發(fā)并驗(yàn)證好的 FPGA 知識(shí)產(chǎn)權(quán)功能,可節(jié)約長(zhǎng)達(dá)數(shù)月的 FPGA 研發(fā)周期,同時(shí)采用按需使用付費(fèi)的模式,能最大化地節(jié)省硬件投入成本。
?而 FPGA 開發(fā)者可以通過使用騰訊云 FPGA 的開發(fā)框架,顯著提升研發(fā)效率,更專注于核心功能開發(fā),將圖像處理功能、深度學(xué)習(xí)功能等已有的成熟 FPGA 知識(shí)產(chǎn)權(quán)通過簡(jiǎn)單封裝適配,集成并投放到騰訊云服務(wù)市場(chǎng),開放給 FPGA 使用者使用,分?jǐn)?FPGA 知識(shí)產(chǎn)權(quán)的研發(fā)成本。
?FPGA 應(yīng)用案例
??FPGA 應(yīng)用案例一
??項(xiàng)目背景:
?隨著移動(dòng)互聯(lián)網(wǎng)的發(fā)展,基于用戶社交平臺(tái)的騰訊每天用戶上傳的圖片越來(lái)越龐大,公司目前用于圖片轉(zhuǎn)碼的業(yè)務(wù)主要有 QQ 相冊(cè)、微信及其他業(yè)務(wù)。圖片格式中有 JPEG 格式、WEBP 格式等,WEBP 圖片格式比 JPEG 圖片格式存儲(chǔ)空間小 30%。如果落地存儲(chǔ)采用 WEBP 格式替代 JPEG 格式,可以減少三分之一存儲(chǔ)空間;而傳輸分發(fā)用 WEBP 格式,還可以降低傳輸流量,從而提升用戶的圖片下載體驗(yàn)。而采用 WEBP 的問題在于 WEBP 壓縮計(jì)算復(fù)雜度是 JPEG 壓縮的 10 倍以上,采用 CPU 進(jìn)行 WEBP 轉(zhuǎn)碼成本很高,導(dǎo)致很難在業(yè)務(wù)中全面推廣。為了增強(qiáng)圖片轉(zhuǎn)碼能力,我們使用 FPGA 對(duì)圖片轉(zhuǎn)碼進(jìn)行加速。
?項(xiàng)目結(jié)果:
?完成 JPEG 格式圖片轉(zhuǎn)成 WEBP 格式圖片,測(cè)試圖片大小為 853x640,F(xiàn)PGA 處理延時(shí)相比 CPU 降低?20 倍?,F(xiàn)PGA處理性能是CPU機(jī)器的?6 倍?,F(xiàn)PGA機(jī)型單位成本是 CPU 機(jī)型的?1/3。
?表1. FPGA 和 CPU 的計(jì)算性能對(duì)比
? FPGA 應(yīng)用案例二
?項(xiàng)目背景:
?傳統(tǒng)上,Google、百度等搜索引擎公司以 Logistic Regression(LR)作為預(yù)估模型。早在 2012 年開始,百度開始嘗試將 DNN 算法作用于搜索廣告,并在2013 年 5 月就開始服務(wù)于百度搜索廣告系統(tǒng)。近年來(lái)異軍突起的今日頭條在技術(shù)上也使用了 DNN 算法,提高新聞的點(diǎn)擊率。但是 DNN 算法對(duì)系統(tǒng)的計(jì)算量明顯增大,如果還是用 CPU 進(jìn)行計(jì)算,無(wú)法滿足系統(tǒng)的延時(shí)和吞吐率要求。
?DNN 算法模型為?17*200*20*1?的 4 層模型,要求 4000 個(gè)樣本的 DNN 計(jì)算時(shí)延要小于?5ms。如果用 CPU 計(jì)算,B6(CPU E5-2620 X 2) 機(jī)器的計(jì)算時(shí)延為?120.55ms*,無(wú)法滿足要求(計(jì)算時(shí)間見表2)。因此,我們用 FPGA 對(duì) DNN 計(jì)算進(jìn)行加速,使 4000 個(gè)樣本的 DNN 計(jì)算時(shí)延小于 5ms。
?項(xiàng)目結(jié)果:
?我們?cè)谑褂?50% 的 FPGA 資源的情況下,將 4000 個(gè)樣本的 DNN 計(jì)算時(shí)延減小為?1.2ms,吞吐率達(dá)到 6000 集合/s(4000 個(gè)樣本為 1 個(gè)集合),不僅達(dá)到了系統(tǒng)對(duì)低延時(shí)的要求,而且極大地提高了系統(tǒng)的吞吐能力,處理延時(shí)降低?100 倍,處理吞吐率提高?5 倍,成本是 CPU 機(jī)型的?1/5。說(shuō)明 FPGA 在 DNN 計(jì)算加速上有較明顯的優(yōu)勢(shì)。
?表2. FPGA 和 CPU 的計(jì)算性能對(duì)比
??FPGA 應(yīng)用案例三
?項(xiàng)目背景:
?深度學(xué)習(xí)(DL)近年來(lái)在語(yǔ)音識(shí)別、圖片分類和識(shí)別、推薦算法等領(lǐng)域發(fā)揮了越來(lái)越大的作用。深度學(xué)習(xí)基于深度神經(jīng)網(wǎng)絡(luò)理論,用在圖片分類的神經(jīng)網(wǎng)絡(luò)是其中的一個(gè)分支:卷積神經(jīng)網(wǎng)絡(luò)(CNN)。隨著移動(dòng)互聯(lián)網(wǎng)的發(fā)展,基于用戶社交平臺(tái)的騰訊每天用戶上傳的圖片越來(lái)越龐大,并且增長(zhǎng)速度很快。為了增強(qiáng)圖片檢測(cè)的處理能力,降低圖片檢測(cè)成本,我們使用 FPGA 對(duì) CNN 計(jì)算進(jìn)行加速。
?項(xiàng)目結(jié)果:
?FPGA 完成 CNN 算法的 Alexnet 模型,F(xiàn)PGA 處理性能是 CPU 機(jī)器的?4 倍,F(xiàn)PGA 機(jī)型單位成本是 CPU 機(jī)型的?1/3。
?小結(jié)
?當(dāng)前 AI 火爆,得益于 FPGA 的高密度計(jì)算能力以及低功耗的特性,F(xiàn)PGA 率先在深度學(xué)習(xí)在線預(yù)測(cè)方向(廣告推薦、圖片識(shí)別、語(yǔ)音識(shí)別等)得到了較大規(guī)模的部署。
?用戶也常常將 FPGA 與 GPU 進(jìn)行對(duì)比,GPU 的易編程性、高吞吐與 FPGA 的低功耗、易部署等特性也各有千秋。相較于 GPU 以及 ASIC,F(xiàn)PGA 的低延時(shí)以及可編程性也是其核心競(jìng)爭(zhēng)能力。
?使用騰訊云 FPGA 云服務(wù),你只需單擊幾下即可在幾分鐘內(nèi)輕松獲取并部署你的 FPGA 計(jì)算實(shí)例。你可以在 FPGA 實(shí)例上編程,為你的應(yīng)用程序創(chuàng)建自定義硬件加速。我們?yōu)槟闾峁┛芍鼐幊痰沫h(huán)境,可以在 FPGA 實(shí)例上多次編程,而無(wú)需重新設(shè)計(jì)硬件,讓你能更加專注于業(yè)務(wù)發(fā)展。
?點(diǎn)擊進(jìn)入 騰訊云 在數(shù)據(jù)觀的企業(yè)欄目>>>
責(zé)任編輯:陳近梅