人工智慧到底用GPU還是FPGA?

2021-08-10 05:10:16 字數 2611 閱讀 5434

標籤: opencl

人工智慧

gpufpgaai

2017-08-15 16:03

782人閱讀收藏 

舉報

ai

目錄(?)

[+]

看到題目之後確實想了很久,接觸fpga也有四五年時間了,fpga在硬體程式設計領域可謂無人企及;而opencl讓gpu也有了更為豐富的程式設計方式。ai已經嵌入生活中的方方面面,fpga和gpu也有各自的優勢與不足,兩個之間的取捨確實值得仔細研究。

人工智慧(artificial intelligence),英文縮寫為ai。它是研究、開發用於模擬、延伸和擴充套件人的智慧型的理論、方法、技術及應用系統的一門新的技術科學。 

人工智慧是電腦科學的乙個分支,它企圖了解智慧型的實質,並生產出一種新的能以人類智慧型相似的方式做出反應的智慧型機器,該領域的研究包括機械人、語言識別、影象識別、自然語言處理和專家系統等。人工智慧從誕生以來,理論和技術日益成熟,應用領域也不斷擴大,可以設想,未來人工智慧帶來的科技產品,將會是人類智慧型的「容器」。 

人工智慧可以對人的意識、思維的資訊過程的模擬。人工智慧不是人的智慧型,但能像人那樣思考、也可能超過人的智慧型。 

人工智慧是一門極富挑戰性的科學,從事這項工作的人必須懂得計算機知識,心理學和哲學。人工智慧是包括十分廣泛的科學,它由不同的領域組成,如機器學習,計算機視覺等等,總的說來,人工智慧研究的乙個主要目標是使機器能夠勝任一些通常需要人類智慧型才能完成的複雜工作。但不同的時代、不同的人對這種「複雜工作」的理解是不同的。

1.從峰值效能來說,gpu(10tflops)遠遠高於fpga(<1tflops);

2.gpu相對於fpga還有乙個優勢就是記憶體介面, gpu的記憶體介面(傳統的gddr5,最近更是用上了hbm和hbm2)的頻寬遠好於fpga的傳統ddr介面(大約頻寬高4-5倍);

3.功耗方面,雖然gpu的功耗遠大於fpga的功耗,但是如果要比較功耗應該比較在執行效率相同時需要的功耗。如果fpga的架構優化能做到很好以致於一塊fpga的平均效能能夠接近一塊gpu,那麼fpga方案的總功耗遠小於gpu,散熱問題可以大大減輕。反之,如果需要二十塊fpga才能實現一塊gpu的平均效能,那麼fpga在功耗方面並沒有優勢。

4.fpga缺點有三點: 

第一,基本單元的計算能力有限。為了實現可重構特性,fpga 內部有大量極細粒度的基本單元,但是每個單元的計算能力(主要依靠lut 查詢表)都遠遠低於cpu 和gpu 中的alu模組。 

第二,速度和功耗相對專用定製晶元(asic)仍然存在不小差距。 

第三,fpga **較為昂貴,在規模放量的情況下單塊fpga 的成本要遠高於專用定製晶元。最後誰能勝出, 完全取決於fpga架構優化能否彌補峰值效能的劣勢。

5.個人更推薦: cpu+fpga的組合模式; 其中fpga用於整形計算,cpu進行浮點計算和排程,此組合的擁有更高的單位功耗效能和更低的時延。最後更想gpu穩定開放,發揮其長處, 達到真正的物美價廉!

人工智慧目前仍處於早期階段,未來人工智慧的主戰場是在推理環節,遠沒有爆發。未來勝負尚未可知,各家技術路線都有機會勝出。目前英偉達的gpu在訓練場景中佔據著絕對領導地位,但是在未來,專注於推理環節的fpga必將會發揮巨大的價值。

fpga和gpu內都有大量的計算單元,因此它們的計算能力都很強。在進行神經網路運算的時候,兩者的速度會比cpu快很多。但是gpu由於架構固定,硬體原生支援的指令也就固定了,而fpga則是可程式設計的。其可程式設計性是關鍵,因為它讓軟體與終端應用公司能夠提供與其競爭對手不同的解決方案,並且能夠靈活地針對自己所用的演算法修改電路。

在平均效能方面,gpu遜於fpga,fpga可以根據特定的應用去程式設計硬體,例如如果應用裡面的加法運算非常多就可以把大量的邏輯資源去實現加法器,而gpu一旦設計完就不能改動了,所以不能根據應用去調整硬體資源。 

目前機器學習大多使用simd架構,即只需一條指令可以平行處理大量資料,因此用gpu很適合。但是有些應用是misd,即單一資料需要用許多條指令平行處理,這種情況下用fpga做乙個misd的架構就會比gpu有優勢。 所以,對於平均效能,看的就是fpga加速器架構上的優勢是否能彌補執行速度上的劣勢。如果fpga上的架構優化可以帶來相比gpu架構兩到三個數量級的優勢,那麼fpga在平均效能上會好於gpu。

在功耗能效比方面,同樣由於fpga的靈活性,在架構優化到很好時,一塊fpga的平均效能能夠接近一塊gpu,那麼fpga方案的總功耗遠小於gpu,散熱問題可以大大減輕。 能效比的比較也是類似,能效指的是完成程式執行消耗的能量,而能量消耗等於功耗乘以程式的執行時間。雖然gpu的功耗遠大於fpga的功耗,但是如果fpga執行相同程式需要的時間比gpu長幾十倍,那fpga在能效比上就沒有優勢了;反之如果fpga上實現的硬體架構優化得很適合特定的機器學習應用,執行演算法所需的時間僅僅是gpu的幾倍或甚至於接近gpu,那麼fpga的能效比就會比gpu強。

在峰值效能比方面,雖然gpu的峰值效能(10tflops)遠大於fpga的峰值效能(<1tflops),但針對特定的場景來講吞吐量並不比gpu差。 

人工智慧到底用GPU還是FPGA?

看到題目之後確實想了很久,接觸fpga也有四五年時間了,fpga在硬體程式設計領域可謂無人企及 而opencl讓gpu也有了更為豐富的程式設計方式。ai已經嵌入生活中的方方面面,fpga和gpu也有各自的優勢與不足,兩個之間的取捨確實值得仔細研究。人工智慧 artificial intelligen...

大資料和人工智慧到底是什麼關係

大資料和人工智慧的關係,首先要說什麼是大資料。這些年來,大資料先是被神化,繼而又被妖魔化,到了今天,其實誰也不知道別人所謂的大資料指的是什麼。有時候大資料的定義裡既有平台 硬體 又有分析技術。但為了說清楚大資料和人工智慧的關係,我們還是回歸大資料的本質 海量的 多維度 多形式的資料。任何智慧型的發展...

大資料備忘錄 從弱人工智慧到一般人工智慧

不論你從事哪個行業,即使你的行業在科技行業之外,你也一定注意到了 人工智慧 ai 這樣乙個熱門的詞彙。全球有數十家,或者說有上百家初創企業都將自己標榜為人工智慧企業。在其他討論中,你可能會遇到人類尚未發現人工智慧的說法。這兩種主張怎麼可能會同時出現呢?目前大多數活躍在人們眼前的人工智慧實際上都是弱人...