從靈活性而言,介于 CPU 和 ASIC 兩者之間的處理器,使用比較多的異構(gòu)處理器目前有兩個,一個是 GPU,一個是 FPGA。

FPGA 屬于一類更通用的可編程邏輯設(shè)備(PLD), FPGA 既能提供集成電路的性能優(yōu)勢,又具備 CPU 可重新配置的靈活性。簡單來說,F(xiàn)PGA 是一種可重新配置的「通用集成電路」。

GPU 的靈活性是介于 FPGA 與 CPU 之間。GPU 的核心數(shù)量一般是 CPU 的成百上千倍,計算能力要比 CPU 多出幾個數(shù)量級,也更適合進(jìn)行并行計算。但是如果計算里面有大量的分支,或者算法的數(shù)據(jù)前后存在依賴關(guān)系,使得算法無法并行運(yùn)行,則 GPU 的性能優(yōu)勢會被大大減弱。

相比 GPU,F(xiàn)PGA 的可操控粒度更小,具備更高的靈活度和算法適應(yīng)性。FPGA 能夠簡單地通過使用觸發(fā)器(FF)來實(shí)現(xiàn)順序邏輯,并通過使用查找表(LUT)來實(shí)現(xiàn)組合邏輯。當(dāng)算法需要并行計算能力時,可以將大部分的邏輯資源都用來做計算,達(dá)到更高的計算效率;當(dāng)算法需要更多的控制流程時,可以將大部分的邏輯資源都用來做控制。(實(shí)際的 FPGA 內(nèi)部也存在大量的硬核來完成固定的功能)。正是基于 FPGA 資源的高可控度,可以帶來算法實(shí)現(xiàn)時的靈活度。

FPGA 全稱「可編輯門陣列」(Field Programmable Gate Array),其基本原理是在 FPGA 芯片內(nèi)集成大量的數(shù)字電路基本門電路以及存儲器,而用戶可以通過燒寫 FPGA 配置文件來來定義這些門電路以及存儲器之間的連線。這種燒入不是一次性的,即用戶今天可以把 FPGA 配置成一個圖像編解碼器,明天可以編輯配置文件把同一個 FPGA 配置成一個音頻編解碼器,這個特性可以極大地提高數(shù)據(jù)中心彈性服務(wù)能力。所以說在 FPGA 可以快速實(shí)現(xiàn)為深度學(xué)習(xí)算法開發(fā)的芯片架構(gòu),而且成本比設(shè)計的專用芯片(ASIC)要便宜,當(dāng)然性能也沒有專用芯片(ASIC)強(qiáng)。ASIC 是一錘子買賣,設(shè)計出來要是發(fā)現(xiàn)哪里不對基本就沒機(jī)會改了,但是 FPGA 可以通過重新配置來不停地試錯知道獲得最佳方案,所以用 FPGA 開發(fā)的風(fēng)險也遠(yuǎn)遠(yuǎn)小于 ASIC。

1

騰訊云FPGA的行業(yè)價值

騰訊云帶來的革命性進(jìn)展是:將 FPGA 部署時間從數(shù)月縮短到數(shù)分鐘,企業(yè)可按需付費(fèi)使用 FPGA,極大降低 FPGA 的使用成本,實(shí)現(xiàn)高性能 FPGA 硬件加速處理。企業(yè)可以通過 FPGA 云服務(wù)器進(jìn)行 FPGA 硬件編程,可將性能提升至通用 CPU 服務(wù)器的?30 ?以上。同時騰訊云率先在國內(nèi)提供第三方 FPGA 知識產(chǎn)權(quán)市場,通過騰訊云服務(wù)市場,F(xiàn)PGA 開發(fā)者和使用者可以更高效地交易。

長期以來,F(xiàn)PGA 行業(yè)內(nèi)的提供者和使用者一直缺乏交易平臺和信用保證,導(dǎo)致交易環(huán)節(jié)冗長,很難達(dá)成交易。騰訊云服務(wù)市場搭建一個簡單可靠的 FPGA 知識產(chǎn)權(quán)交易市場。

對于 FPGA 使用者而言,可以在騰訊云服務(wù)市場購買已開發(fā)并驗證好的 FPGA 知識產(chǎn)權(quán)功能,可節(jié)約長達(dá)數(shù)月的 FPGA 研發(fā)周期,同時采用按需使用付費(fèi)的模式,能最大化地節(jié)省硬件投入成本。

而 FPGA 開發(fā)者可以通過使用騰訊云 FPGA 的開發(fā)框架,顯著提升研發(fā)效率,更專注于核心功能開發(fā),將圖像處理功能、深度學(xué)習(xí)功能等已有的成熟 FPGA 知識產(chǎn)權(quán)通過簡單封裝適配,集成并投放到騰訊云服務(wù)市場,開放給 FPGA 使用者使用,分?jǐn)?FPGA 知識產(chǎn)權(quán)的研發(fā)成本。

FPGA 應(yīng)用案例

FPGA 應(yīng)用案例一

項目背景:

隨著移動互聯(lián)網(wǎng)的發(fā)展,基于用戶社交平臺的騰訊每天用戶上傳的圖片越來越龐大,公司目前用于圖片轉(zhuǎn)碼的業(yè)務(wù)主要有 QQ 相冊、微信及其他業(yè)務(wù)。圖片格式中有 JPEG 格式、WEBP 格式等,WEBP 圖片格式比 JPEG 圖片格式存儲空間小 30%。如果落地存儲采用 WEBP 格式替代 JPEG 格式,可以減少三分之一存儲空間;而傳輸分發(fā)用 WEBP 格式,還可以降低傳輸流量,從而提升用戶的圖片下載體驗。而采用 WEBP 的問題在于 WEBP 壓縮計算復(fù)雜度是 JPEG 壓縮的 10 倍以上,采用 CPU 進(jìn)行 WEBP 轉(zhuǎn)碼成本很高,導(dǎo)致很難在業(yè)務(wù)中全面推廣。為了增強(qiáng)圖片轉(zhuǎn)碼能力,我們使用 FPGA 對圖片轉(zhuǎn)碼進(jìn)行加速。

項目結(jié)果:

完成 JPEG 格式圖片轉(zhuǎn)成 WEBP 格式圖片,測試圖片大小為 853×640,F(xiàn)PGA 處理延時相比 CPU 降低 20 倍 ,F(xiàn)PGA處理性能是CPU機(jī)器的 6 倍 ,F(xiàn)PGA機(jī)型單位成本是 CPU 機(jī)型的 1/3。

表1. FPGA 和 CPU 的計算性能對比

11

FPGA 應(yīng)用案例二

項目背景:

傳統(tǒng)上,Google、百度等搜索引擎公司以 Logistic Regression(LR)作為預(yù)估模型。早在 2012 年開始,百度開始嘗試將 DNN 算法作用于搜索廣告,并在2013 年 5 月就開始服務(wù)于百度搜索廣告系統(tǒng)。近年來異軍突起的今日頭條在技術(shù)上也使用了 DNN 算法,提高新聞的點(diǎn)擊率。但是 DNN 算法對系統(tǒng)的計算量明顯增大,如果還是用 CPU 進(jìn)行計算,無法滿足系統(tǒng)的延時和吞吐率要求。

DNN 算法模型為 17*200*20*1 的 4 層模型,要求 4000 個樣本的 DNN 計算時延要小于 5ms。如果用 CPU 計算,B6(CPU E5-2620 X 2) 機(jī)器的計算時延為 120.55ms*,無法滿足要求(計算時間見表2)。因此,我們用 FPGA 對 DNN 計算進(jìn)行加速,使 4000 個樣本的 DNN 計算時延小于 5ms。

項目結(jié)果:

我們在使用 50% 的 FPGA 資源的情況下,將 4000 個樣本的 DNN 計算時延減小為 1.2ms,吞吐率達(dá)到 6000 集合/s(4000 個樣本為 1 個集合),不僅達(dá)到了系統(tǒng)對低延時的要求,而且極大地提高了系統(tǒng)的吞吐能力,處理延時降低 100 倍,處理吞吐率提高 5 倍,成本是 CPU 機(jī)型的 1/5。說明 FPGA 在 DNN 計算加速上有較明顯的優(yōu)勢。

表2. FPGA 和 CPU 的計算性能對比

22

FPGA 應(yīng)用案例三

項目背景:

深度學(xué)習(xí)(DL)近年來在語音識別、圖片分類和識別、推薦算法等領(lǐng)域發(fā)揮了越來越大的作用。深度學(xué)習(xí)基于深度神經(jīng)網(wǎng)絡(luò)理論,用在圖片分類的神經(jīng)網(wǎng)絡(luò)是其中的一個分支:卷積神經(jīng)網(wǎng)絡(luò)(CNN)。隨著移動互聯(lián)網(wǎng)的發(fā)展,基于用戶社交平臺的騰訊每天用戶上傳的圖片越來越龐大,并且增長速度很快。為了增強(qiáng)圖片檢測的處理能力,降低圖片檢測成本,我們使用 FPGA 對 CNN 計算進(jìn)行加速。

項目結(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 的高密度計算能力以及低功耗的特性,F(xiàn)PGA 率先在深度學(xué)習(xí)在線預(yù)測方向(廣告推薦、圖片識別、語音識別等)得到了較大規(guī)模的部署。

用戶也常常將 FPGA 與 GPU 進(jìn)行對比,GPU 的易編程性、高吞吐與 FPGA 的低功耗、易部署等特性也各有千秋。相較于 GPU 以及 ASIC,F(xiàn)PGA 的低延時以及可編程性也是其核心競爭能力。

使用騰訊云 FPGA 云服務(wù),你只需單擊幾下即可在幾分鐘內(nèi)輕松獲取并部署你的 FPGA 計算實(shí)例。你可以在 FPGA 實(shí)例上編程,為你的應(yīng)用程序創(chuàng)建自定義硬件加速。我們?yōu)槟闾峁┛芍鼐幊痰沫h(huán)境,可以在 FPGA 實(shí)例上多次編程,而無需重新設(shè)計硬件,讓你能更加專注于業(yè)務(wù)發(fā)展。

分享到

zhangnn

相關(guān)推薦