FPGA 與 GPU 的比較

FPGA 相較於 GPU 之於深度學習的效能

FPGA 對於需要低延遲和靈活彈性的深度學習應用是最佳選擇。

FPGA 深度學習的優勢:

  • FPGA 具有驚人的靈活性與成本效益,其電路可針對不同功能重新設計。

  • 相較於 GPU,FPGA 可在深度學習應用中提供卓越的效能,因為低延遲是關鍵。

  • 使用者可針對 FPGA 進行微調,以平衡電源效率與效能需求。

FPGA 是什麼?

可現場程式化閘道陣列(FPGA)是有可程式化硬體網狀架構的積體電路。相較於圖形處理器(GPU)或 ASIC,在 FPGA 晶片的電路進行蝕刻並不困難,因此可根據需要重新設計。因此 FPGA 是 ASIC 的絕佳替代品,因為設計和製造 ASIC 皆需要較長的開發時間與大量的投資。

近年來在技術產業中,也開始將 FPGA 用於機器學習與深度學習。2010年,Microsoft Research 展示了人工智慧在FPGAs上的首批用例之一,作為其加速網路搜索努力的一部分。1FPGAs提供了速度、可程式設計性和靈活性的組合,提供的性能沒有開發自定義應用特定積體電路 (ASIC) 的成本和複雜性。五年後,Microsoft 在製作 Bing 搜尋引擎的過程中使用 FPGA,證明了其深度學習應用的價值。通過使用FPGAs來加速搜索排名,必應將輸送量提高了 50%。

為什麼選擇採用 FPGA 進行深度學習?

影像識別等早期 AI 工作負載非常依賴平行處理。由於 GPU 是專為彩現影片和圖形所設計,因此越來越多使用者將其用於機器學習與深度學習。GPU 在平行處理方面表現優異,並可平行執行大量算術運算。也就是說,如果必須連續多次執行相同的工作負載,GPU 可提供驚人的加速性能。

然而,在 GPU 上執行 AI 有其侷限。GPU 的效能不如 ASIC 高,因為 ASIC 是專為特定深度學習工作負載打造的晶片。

FPGA 具有整合式 AI 的硬體自訂功能,可程式化執行與 GPU 或 ASIC 相似的行為。FPGA 可重新程式化且可重新設計,適用於瞬息萬變的 AI 環境,讓設計師可以快速測試演算法並加快上市速度。FPGA 可為深度學習應用和其他 AI 工作負載提供多項優勢:

高輸送量和低延遲的出色性能: FPGAs繞過 CPU 直接將視訊引入FPGA,本身就能為視訊串流、轉錄和動作識別等即時應用程式提供低延遲和確定性延遲。設計師可從頭開始建置類神經網路,並打造最適合模型使用的 FPGA。
卓越的價值和成本: FPGAs可以針對不同的功能和數據類型重新程式設計,使其成為最具成本效益的硬體選項之一。此外,FPGA 不僅可用於 AI。設計師可以將其他功能整合至同一晶片,進而節省成本和電路板空間。FPGA 的產品生命週期較長,因此採用 FPGA 的硬體設計可享有較長的產品壽命,短則數年,長則數十年。此類特性使其成為工業國防、醫療和汽車市場應用的理想選擇。
低功耗: 藉由 FPGAs,設計人員可以根據應用微調硬體,幫助滿足電源效率要求。FPGA 也可適應多項功能,運用晶片提高能源效率。使用者可以使用一部分 FPGA 執行某項功能,而非整個晶片,因此 FPGA 可平行執行多項功能。

FPGA 的 AI 與深度學習應用

如果在應用方面需要低延遲和較小的批次大小,例如具備語音識別和其他自然語言處理工作負載,則 FPGA 可比 GPU 提供更卓越的效能優勢。由於 FPGA 具有可程式化的 I/O 介面和高度靈活彈性的架構,因此也非常適合用於執行以下工作:

克服 I/O 瓶頸。在資訊必須以低延遲周遊許多不同網路的情況下,通常可使用 FPGA。FPGA 非常實用,可消除記憶體緩存和克服 I/O 瓶頸,此為 AI 系統效能最為受限的一大因素。FPGA 可加速資料擷取,進而加快整體 AI 工作流程。
將 AI 整合至工作負載。設計人員可以利用 FPGA 將深度封包檢測或金融詐騙偵測等 AI 功能新增至現有的工作負載。
支援感應器整合。FPGA 在處理攝影機、LIDAR 和聲音感應器等多個感應器的資料輸入方面表現優異。在設計自動駕駛車、機器人與工業設備時,這項功能便非常實用。
為高效能運算(HPC)叢集提供加速效能。FPGAs可作為可程式化推論加速器,協助促進 AI 與 HPC 的融合。 2
提供 AI 之外的其他功能。FPGA 可提供安全性、I/O、網路或前置/後置處理功能,無需額外晶片。

Intel® FPGA 軟硬體

使用 FPGA 時需要克服的一大障礙,是硬體設計通常需要程式設計專業知識。Intel 利用軟體型程式設計模型,降低使用者需要的專業知識門檻。此高階 FPGA 程式設計模型讓資料科學家或模型開發者可以利用常見 AI 架構(例如 TensorFlow 或 Caffe)建立類神經網路,即使不清楚 FPGA 架構的細節也能在 FPGA 上完成部署。Intel 推出了幾項工具,讓使用者能更加輕鬆開發 FPGA:

Intel® 發行版 OpenVINO™ 工具組,讓電腦視覺開發者可使用單一工具,在 FPGA 等不同硬體平台加速模型。
Intel® FPGA AI Suite 提供多項工具與最佳化的架構,讓使用者可利用 Intel® FPGA 加速推斷。搭載 OpenVINO™ 工具組介面,具可擴充性,並可支援自訂網路。
Open FPGA Stack(OFS)是開放原始碼軟硬體基礎架構,可進行自訂、FPGA 平台與工作負載開發。使用者可以透過 GitHub 取得所有原始程式碼。

Intel® FPGA 深度學習技術解決方案提供一系列產品家族與軟體工具,有助於縮短開發時間並降低成本。以下硬體產品對於深度學習使用案例具有特殊價值:

Intel Agilex® 5 FPGA 與 SoC 是中階 FPGA,具有業界首創、搭載 AI Tensor 晶片的 DSP 區塊,可提供高效 AI 與數位訊號處理(DSP)功能。與前一代 Intel® FPGAs 相比,該產品系列的結構效能平均提高 50%,總功耗降低高達 42%。3

適用於 AI 的 Intel 產品組合

AI 採用率日益攀升,其端點裝置、邊緣伺服器及資料中心等執行應用與環境將變得極為多樣化。再也沒有單一架構、晶片或外型規格能夠滿足所有 AI 應用的需求。基礎架構師必須能選用合適的架構。

Intel 提供四種類型的晶片,讓 AI 使用普及化:用於加速的 FPGA、GPU 和 ASIC,以及用於一般運算的 CPU。每種架構都能滿足獨特的需求,因此基礎架構設計師可選擇使用支援任何 AI 應用所需的確切架構。提供針對功耗與效能最佳化的廣泛運算類型,讓設計師可隨時取得合適的工具,順利完成工作。