四月中旬,英特爾宣佈收購一家名為Omnitek的英國公司,旨在「增強FPGA在視頻(video)和視覺(vision)領域的產品組合」。對於很多人來說,Omnitek並不是一個非常熟悉的名字。那麼,究竟它為何受到了英特爾的青睞,以及這次收購背後的深層技術邏輯為何,就讓老石在本文為大家深入分析。

(Omnitek CEO與創始人,圖片來自Omnitek)

Omnitek是何方神聖

Omnitek並不是一個傳統意義上的初創公司,它成立於1998年,總部位於英格蘭南部的貝辛斯托克(Basingstoke),見下圖。

貝辛斯托克這個小城是英國比較有名的經濟和科技中心之一,巴寶莉(Burberry)就起源與此。這裡集中了不少世界知名的大公司的總部或歐洲總部,其中包括很多半導體和科技公司,比如索尼、摩托羅拉、意法-愛立信等,華為的歐洲總部也曾經設在這個小城。

雖然Omnitek已經成立了超過20年,但員工總數只有四十人左右,也沒有公開的融資記錄。從這些方面來看,Omnitek只能算是一個中型、甚至小型的公司。

然而,在這20年中,Omnitek開發和積累了超過220個FPGA硬體IP、對應的軟體系統、以及開發平臺,見下圖。

圖片來自Omnitek

這些FPGA IP主要集中在視頻和圖像處理領域,包括使用FPGA進行超高清視頻圖像的旋轉、形變、3D映射、編解碼等等各類處理,見下圖。

圖片來自Omnitek

這些應用一直是FPGA的傳統應用領域,特別是在諸如視頻會議、投影、顯示屏等場合。因此,就像在公佈收購後的官方新聞稿中所說,這次收購將會極大的補強英特爾FPGA在視頻和圖像處理領域的IP資源。

然而,老石注意到,Omnitek在2018年底發布了一款自研的深度學習處理器(DPU)。與市面上任何基於FPGA的同類產品相比,Omnitek宣稱這款DPU的性能有著50%的優勢。同時,與GPU相比,這款DPU在給定的功耗或成本限制下也有著更加優異的性能。

在當前各類人工智慧處理器xPU層出不窮的時候,Omnitek這個官宣大膽而自信。老石認為,這也是英特爾收購Omnitek背後的主要邏輯。

獲取Omnitek深度學習處理器技術白皮書,及相關幻燈片及視頻資料,請在公眾號「老石談芯」後臺回復「DPU」

「地表最強」FPGA深度學習處理器

老石在之前的文章《FPGA在人工智慧時代的獨特優勢》一文中講過,使用FPGA對人工智慧應用進行硬體加速主要有以下幾個優點:

FPGA在人工智慧時代的獨特優勢?

mp.weixin.qq.com

  1. FPGA片上有著大量DSP硬核資源、分散式片上內存,以及海量可編程邏輯資源,非常有利於神經網路的硬體實現。
  2. FPGA有著很強的靈活性,可以根據不同的需求和應用進行編程,並調整相應的硬體結構。
  3. FPGA可以處理任意精度的算術運算。
  4. 高端FPGA通常基於最新的半導體工藝節點製造,同時有著不同產品系列和大小,在提供高性能的同時,兼顧了低功耗和成本。
  5. 除AI相關的IP之外,FPGA還有海量成熟的IP資源,因此可以與人工智慧IP快速整合,針對特定的應用場景構建完整的系統方案。

基於這些優點,Omnitek選擇使用FPGA作為其深度學習處理器的主要實現平臺,這與目前業界包括微軟在內的很多公司不約而同,見下圖。

圖片來自微軟

事實上,與微軟在「腦波項目」中使用的DPU相比,Omnitek的DPU在使用模型上也有著很多相似之處。這類DPU,也稱為Soft DPU,最主要的特點就是提供一個基礎的硬體架構,用來進行深度神經網路的計算加速;同時提供完整的軟體編程介面和編譯器,使得上層用戶使用高層語言對神經網路進行配置。

微軟「腦波項目」中的DPU?

mp.weixin.qq.com

這種架構的最主要優點,就是實現了軟硬體的完全解耦,這也讓使用者無需掌握任何硬體相關的專業知識,從而只需要專註於演算法和模型本身的設計,並可以通過諸如Python、C/C++等高層語言對模型進行調整和配置。

與高層次綜合(HLS)相比,這種基於FPGA的DPU設計方法無論在性能、開發敏捷性、編譯時間等各個領域都有著明顯優勢。

Omnitek DPU的主要特點

與微軟DPU相比,Omnitek的DPU又有著自己獨有的特點。它的系統架構圖如下所示。

圖片來自Omnitek

可以看到,用戶可以使用TensorFlow、Caffe或者OpenVINO等主流機器學習框架構建的模型,或者是自己用高層語言編寫的模型,通過DPU編譯器生成特定的微代碼(Microcode),這與微軟DPU採用數據流圖的方式不同。這些微代碼將被用來配置FPGA上的DPU數據處理流水線,如下圖所示。

圖片來自Omnitek

Omnitek DPU的另一個主要特點是可以通過編程,調整對不同DNN拓撲的支持效率。通常來講,某種DNN硬體加速器往往是針對某種特定的DNN拓撲設計的。以谷歌的TPU為例,它對於阿爾法狗所使用的CNN模型(CNN0)有著很高的運行效率,高達78.2%,平均性能也可以達到86TOPS,見下圖。然而對於另外的CNN模型,如GoogleNet(CNN1),谷歌TPU只能達到46.2%的運行效率,性能也驟降至14.1TOPS。

由此可見,不同CNN模型對於單一硬體架構的實際性能有著很大影響。除CNN之外,諸如RNN和MLP等其他DNN拓撲有著和CNN明顯不同的特點。除此之外,隨著人工智慧理論研究的不斷推進,想必會不斷湧現出其他更加新穎的網路拓撲結構。因此,如果使用相同的硬體架構對這些DNN拓撲「一視同仁」,則必然不會得到滿意的性能。

圖片來自Omnitek

對於這種情況,也只有FPGA能夠快速調整硬體結構,以適應不同的網路拓撲結構,這是ASIC或GPU都無法實現的。而這也是Omnitek DPU的另一個主要特點。

此外,Omnitek DPU還使用了「片上網路(NoC)」技術,將多個DPU進行互聯和數據共享,如下圖所示。NoC是目前在大型晶元上進行數據共享和高速傳輸的新型技術,在賽靈思最新的ACAP架構上,也使用了NoC技術,這在之前的文章中有過深入解讀,有興趣的讀者可以看看,在本文中就不再贅述。

《賽靈思下一代計算平臺ACAP技術細節全揭祕》?

mp.weixin.qq.com

圖片來自Omnitek

性能方面,Omnitek公佈了在英特爾Arria10 GX1150 FPGA上實現的DPU性能數據,如下所示。

單就上面的數字來看,特別是TOPS一欄,只能說差強人意。不過性能功耗比(GOPS/W)比較高,能夠體現FPGA的低功耗優勢。同時考慮到Arria10是一款基於20nm工藝的FPGA,因此可以預期當使用更先進的FPGA,如Stratix 10(14納米)或Agelix(10納米)時,上面的數字將無疑會有大幅提升。

事實上,Omnitek也有使用賽靈思16納米UltraScale+ FPGA所取得的性能結果,比上面的數據有著明顯提升,本文不再給出,有興趣的讀者歡迎在老石談芯後臺回復「DPU」查看。

結語

Omnitek作為一家做了20年的視頻圖像FPGA IP提供商,剛剛切入人工智慧晶元領域,就依託技術積累開發出了地表最強的深度學習處理器,並隨後被英特爾收購,這一系列操作實在讓人眼花繚亂。

這次收購對於英特爾而言,不僅補強了其在視頻和圖像處理領域的FPGA IP組合,更是直接得到了Omnitek已經比較成熟的DPU軟硬體方案。這無疑進一步擴展了英特爾在人工智慧領域的產品佈局和多樣性。

Omnitek的官網上列出了很多公司的核心價值觀,其中很有趣的一點,就是它允許員工有著靈活的工作時間,因為公司「理解對於所有員工來說,保持『朝九晚五』的工作時間是很困難的」。這在996盛行的今天,無疑更加值得我們思考,工作和生活,哪個纔是我們應該追求的福報。

(獲取Omnitek深度學習處理器技術白皮書,及相關幻燈片及視頻資料,請在公眾號「老石談芯」後臺回復「DPU」)


(註:本文僅代表作者個人觀點,與任職單位無關。)

本文系老石原創,如需轉載請先聯繫老石獲取授權。

關注公眾號「老石談芯」,看更多原創芯文、芯情、芯事

更多晶元與FPGA技術解讀,歡迎加入知識星球:「老石談芯-進階版」,一個關乎技術與觀點的互動社區

推薦閱讀:

相關文章