動態神經加速器

機器學習框架

EdgeCortix 動態神經加速器 (DNA) 是一種靈活的 IP 內核,用於深度學習推理,在採用 Agilex FPGA 的 BittWare 卡上具有高計算能力、超低延遲和可擴展的推理引擎。 

DNA 專為使用流和高解析度數據(批量大小 1)進行推理而優化,是一種獲得專利的可重構IP核,與EdgeCortix的MERA™軟體框架相結合,可實現當今日益複雜和計算密集型 AI 工作負載的無縫加速,同時實現超過 90% 的陣列利用率。 

由提供集成編譯庫和運行時的MERA框架補充,這種專用IP核使軟體工程師能夠使用Bittware IA-840f和IA-420f FPGA卡作為標準CPU或GPU的直接替代品,而無需離開標準框架(如PyTorch和TensorFlow)的舒適區。 與競爭的 FPGA 相比,用於 Agilex 的 DNA 比特流顯著降低了流數據的推理延遲,具有 2 到 6 倍的性能優勢,並且與其他通用處理器相比具有更高的能效。 

為止 20 頂部 @ 400 兆赫

INT8 推理
(FP32 的 99% 準確性)

50+ 型號測試 與梅拉 框架

視頻演示

瞭解EdgeCortix首席執行官Sakya Dasgupta的動態神經加速器。

 

Marcus Weddle, BittWare

嘿,這是BittWare的Marcus。以下是與EdgeCortix關於機器學習框架的討論,但我想在我們深入研究之前提供一些背景知識。
今天,我們看到人工智慧幾乎無處不在,但這種趨勢實際上只是在過去10年才開始的。使用AI的想法顯然比這要古老得多,那麼是什麼開始了這一趨勢呢?答案是硬體加速,特別是GPU和FPGA,以及最近的專用ASIC。這些設備確實為研究人員開發了新技術和商業應用以創造需求開闢了人工智慧領域。
最令人興奮的是,我們實際上只是處於人工智慧技術、硬體能力和擴展用例改進的漫長增長曲線的中間。
話雖如此,人工智慧是一個巨大的話題,所以今天我們只關注邊緣的機器學習——那些在雲或數據中心環境之外的用例。
正如我們將看到的,對於邊緣設備,效率至關重要。這就是EdgeCortix的重點,通過利用FPGA的一些獨特優勢來定製工作負載,以及高度適應性的軟體,其中包括消除再培訓。
和我在一起的是EdgeCortix的創始人兼首席執行官Sakya Dasgupta。歡迎!

Sakya Dasgputa,博士,EdgeCortix創始人兼首席執行官

謝謝,馬庫斯期待與您交談。

馬庫斯

讓我們先更好地定義邊緣:例如,為什麼不在雲或數據中心中進行所有ML推理。為什麼還要費心在邊緣做呢?

薩迦

絕對。因此,純粹使用雲或數據中心來部署機器學習推理解決方案在很大程度上受到五個關鍵挑戰的限制。

您可以將其分解為在雲中處理資訊所需的成本。第二個是功率或我們所說的功率效率或能源效率。第三,最大的挑戰是模型。這些神經網路本身的複雜性。

第四個關鍵挑戰是圍繞您嘗試在雲上保存和處理信息的數據的隱私。然後從根本上說,您對延遲或頻寬有限制。

因此,讓我們進一步分解一下。

成本

如果查看成本,純雲原生解決方案不僅受到計算產生的大量成本的限制,而且還受到存儲大量數據產生的大量成本的限制。在大多數情況下,我們談論的是真正的PB級數據。

如果你看一下邊緣,幾乎所有你稱之為機器學習的有趣數據中有75%直接駐留在雲中,接近我們所說的邊緣設備或邊緣服務。因此,將所有這些數據移動到雲端,然後進行處理和計算是一個巨大的成本挑戰。

電源效率

功率和電源效率成為一個瓶頸,因為雲上的大多數系統都是千瓦的,如果不是更多的話,在功耗和機器學習或人工智慧推理本身在很大程度上消耗大量計算機資源。

模型複雜性

正如我提到的,這些模型非常複雜,因此這些模型中的大多數都是在雲中訓練的。因此,從根本上說,如果您現在嘗試採用這種複雜的模型並將其帶到邊緣,那麼這些設備上的資源有限就會出現瓶頸。因此,如果您正在尋找純基於雲的部署,它們不是很適合。

隱私

從根本上說,如果您將所有數據從靠近邊緣的位置移回雲,則很容易丟失數據的隱私,例如在醫療保健應用程式或其他類型的類似場景中。

延遲

然後從根本上移動大量數據以及在雲上處理所有這些數據會產生大量延遲。大多數即時應用程式需要低於 7 到 10 毫秒的處理時間。因此,如果您正在為幾乎所有即時需求應用程式提供純雲原生解決方案,這將是一個交易破壞者。

因此,這些從根本上說是將自己限制在純粹基於雲的解決方案機器學習並不是理想方案的一些原因。

馬庫斯

是的,這是有道理的。我讀到的是你如何將FPGA縮小到你的部署平臺之一——你使用了一個叫做協同探索的過程。

您能否向我介紹一下,然後介紹一下您發現的 FPGA 的一些具體優勢,這些優勢使它們非常適合邊緣推理?

薩迦

當然,這是一個很好的問題,所以當涉及到機器學習推理時,特別是如果你看一下深度神經網路,FPGA本身提供了完全靈活性的巨大好處。當您查看具有多層的神經網路時,您有能力完全改變硬體平台的行為,即使在神經網路的單層中也存在很多異構性,以及如果您正在比較不同的網路。

其次,幾乎所有這些神經網路計算都不像CPU那樣集中控制。它們不是馮諾依曼,而是包含多個並行度,可以最好地表示為數據流圖。

因此,我們採取的這種方法稱為協同設計或協同探索,它試圖平衡典型神經網路或深度神經網路的準確性要求與感興趣的硬體指標,如延遲、記憶體、功耗,我們可以真正定製處理器架構以利用這種固有的並行性,這將有效地使我們能夠在大多數情況下顯著提高硬體的完整利用率。特別是當您將它們與 GPU 或 CPU 等通用處理器進行比較時。

因此,作為一家公司,我們採用了這種方法,並使用這種協同設計方法設計了動態神經加速器IP以及MERA軟體。

此外,從根本上說,如果您使用相同的方法,我們還可以平衡您所謂的精度或處理所需資訊的解析度之間的權衡,以保持這些不同模型的高精度,同時減少模型的記憶體佔用,以便它們可以最佳地適合您固有的有限內存量FPGA。這就是我們確定INT8位的方式,作為以匹配的精度以最佳方式執行推理之間的權衡,或者,你知道您可以顯著保持原始精度,以及您正在優化您將直接在板上需要的內存量,然後將您的操作限制為不受您將在片外進行的數據傳輸量的限制。來自 FPGA。

因此,總體而言,FPGA 在調整處理器設計的靈活性和控制由這種協同設計或協同探索過程驅動的計算效率之間提供了良好的平衡。

馬庫斯

您是否會看到,隨著工作負載的變化或其他硬體功能可能包括專用的 DSP 模組,例如將來會讓您遠離 INT8?

薩迦

是的,絕對。所以你知道當我們開始這個過程時,INT8 位表示並不是我們目前支援的唯一精度。我們的架構基本上支援不同的精度範圍,即浮點 16、INT8 位,並且神經網路權重或參數的表示形式與用於存儲啟動的精度之間可能會有所不同。

從根本上說,這種協同設計過程實際上是一個貫穿整個部署階段的活過程。

從根本上說,如果你正在進行協同設計,你就不能進一步改變處理器架構。但是,即使在神經網路模型發生變化或發生更新的情況下,您也可以重新設計處理器架構的某些方面,以更好地滿足準確性和延遲要求。

回到您之前的問題,FPGA 的好處是,如果您願意,我們現在可以靈活地更改處理器架構。然而,如果你採用ASIC或其他此類類型的純固定硬體 - 一旦你製造或製造它們 - 你不再真正擁有那種程度的靈活性。

馬庫斯

現在讓我們談談一些特定的硬體。BittWare將EdgeCortix IP和軟體結合在一起,作為我們基於Intel Agilex的卡上可用的框架。您能否就 Agilex 的性能提供一些見解,您是否認為擴展的 PCIe Gen4 頻寬具有優勢?

薩迦

絕對。我們看到了將我們的人工智慧加速IP與新的英特爾敏捷 Agilex 卡相結合的大量優勢。特別是如果你看一下BittWare雙寬FPGA卡和薄型FPGA卡的兩種外形的支援,它使用戶能夠在計算,功耗和成本之間進行理想的選擇,特別是如果你將它們與TeraBox伺服器捆綁在一起。這應該使FPGA加速即使在邊緣應用所需的更具挑戰性的惡劣環境中也能部署。

從根本上說,英特爾敏捷是英特爾最新一代的晶元。這些 FPGA 中的每一個都具有強化的 PCIe 協議支援,可節省關鍵的 FPGA 資源和功耗,這對於 AI 與其他類型的 FPGA 加速共存的許多應用非常重要。

如果您還看一下英特爾敏捷,它們基於第二代 HYPERFLEX 架構。這帶來了硬化的DSP模組,在我們的例子中,使我們能夠適應數千個INT8運算符和一個可以輕鬆擴展IP的統一結構。

此外,與上一代(例如PCIe Gen 3)的可用頻寬相比,這些FPGA卡上的PCIe Gen 4支援基本上使我們能夠提高30%以上。這可能會對機器學習推理產生非常強烈的影響,其中我們在很大程度上將非常高解析度的數據從主機移動到FPGA,並且經常來回移動。因此,擁有更多可用頻寬(而不是提高速度)會對整體效率或性能產生巨大影響。

然後從根本上說,在DDR4支援方面也有足夠多的記憶體可用。如果你看看我們擁有的雙寬FPGA卡,我相信,高達128千兆位元組,如果你把它與這些FPGA本身相對大量的片上BRAM結合起來,這應該為許多應用提供非常好的可擴充性選擇。

總體而言,當我們查看英特爾 Agilex 並適合我們的 IP 時,這確實使我們能夠適應多達 20 萬億次操作或 20 TOPS 的專用人工智慧計算,我們相信,與當今市場上其他競爭的 FPGA 加速解決方案相比,我們在這些卡上使用我們的 IP 帶來 6 倍的性能優勢。

馬庫斯

好的,Sakya,所以現在我們正在看那張圖表,該圖表將BittWare卡與其他一些解決方案進行了比較。低調的 IA-420F 卡性能提高了 6-7 倍,然後是 IA-840F 甚至更高。這非常令人印象深刻。我們在這個圖表上看到了一個 GPU——你提到你現在在 Agilex 上得到了 20 個 TOPS——我知道過去你說過 GPU 上的 TOPS 的使用方式有所不同。這種區別到底是什麼,除了說明 TOPS 之外,我們如何更好地比較性能?

薩迦

當然,絕對。這是另一個很好的問題。因此,如果您比較一般的 TOPS,它並不能完全代表 FPGA 或任何計算處理器的整體性能。

例如,如果你在這種情況下使用兩個設備——在本例中是具有20 TOPS的FPGA——我們支援DNA IP的20 TOPS BittWare FPGA與具有20 TOPS的GPU相比。

從根本上說,GPU 並不是其可用計算總量的良好使用者。我們稱之為利用。

就可用的整體計算而言,大多數現代 GPU,甚至 CPU,最多使用大約 20% 到 30%。

因此,如果您有 20 個 TOPS,那麼您實際上只是在任何給定時間點使用其中的 20% 的表面。

如果我們現在將其與支援DNA IP的 FPGA 進行比較(因為我們在IP上具有運行時重新配置功能),它使我們能夠利用近90%的計算,在這種情況下,20個 TOPS中的90%用於任何給定的AI工作負載或應用程式。

因此,與等效的 GPU 或 FPGA 解決方案相比,使用我們的解決方案的效率(每秒每瓦幀數)要高得多。

馬庫斯

好的,感謝您對 TOPS 的澄清。所以我現在想談談MERA軟體。正如您所說,在FPGA上運行的IP稱為DNA,它提供了非常高的效率,但是MERA軟體本身具有顯著的節省時間的優勢,例如使用標準框架,例如,如果您來自GPU,則不需要重新訓練。您能詳細說明一下MERA中的一些軟體優勢嗎?

薩迦

是的,沒錯。因此,我們在設計MERA框架時考慮到了真正的機器學習工程師的靈活性,不需要任何FPGA特定的技能,這確實是使用FPGA進行AI加速的痛點。

因此,MERA的基本優勢之一是幾乎隨插即用的環境:

首先,允許我們將任何已經預先訓練的現有深度神經網路應用程式(比如說在 GPU 上)無縫移植到使用 DNA IP 啟用的 FPGA,而無需任何重新訓練或架構更改。

其次,MERA可以使用公共PyPi存儲庫進行安裝,這意味著任何可以訪問基本上 pip 的人都可以下載,或者更確切地說,啟用,能夠直接在運行FPGA的設備上下載MERA然後它將內置對Python或C++的支持,並且它本身支援所有主要的機器學習框架,如Pytorch, TensorFlow和TensorFlow Lite。

第三,它還內置了對開源Apache TVM的支援,這確實是一個非常流行的深度學習編譯器。這使用戶能夠在簡單的校準和量化步驟后部署任何預先訓練的深度神經網路模型,同時完全保持在所選的機器學習框架內。

基本上不需要我們特定於IP的模型,量化或修剪。

現在,與競爭解決方案或其他具有FPGA以及特定應用硬體的此類基礎設施相比,這是一個巨大的優勢。

鑒於幾乎所有此類過程都需要一定程度的微調,這些微調非常特定於硬體,通過消除整個方面,我們為機器學習工程師提供了更多的自主權,以真正無縫地傳輸他們知道已經在GPU中工作的代碼。

第四,深度神經網路運營商的支持多種多樣。因此,大多數現代 DNN 或深度神經網路都可以開箱即用地部署。我們還為使用者可以玩的不同應用程式提供了50多個模型的預測試集合。

第五,還提供了我們所謂的分析工具,如內置模擬器解釋器,使用戶能夠非常快速地測試性能,而無需在FPGA本身上實際部署解決方案。這使他們能夠相對快速地確認模型準確性並估計性能。

所以這些是MERA作為一個框架的一些好處。

馬庫斯

好的,我們已經介紹了硬體。我們已經介紹了軟體。讓我們來看看一些用例,我想談談其中幾個我覺得有趣的用例。首先是超解析度。它是什麼,EdgeCortix框架如何執行?

薩迦

確定。因此,如果您查看超解析度,這實際上是大幅增加甚至降低圖像或視頻幀解析度的能力。

你說的是,比方說,從小到360p的東西,所以你的圖元密度解析度非常小,解析度非常高,比如4K。這是解析度的巨大飛躍,反之亦然 - 將解析度從4K降低到360p。

需要這種在解析度之間移動能力的應用程式或希望您保留頻寬的應用程式。例如,如果您正在對視頻執行某些流應用程式,則可能需要通過降低到較低的解析度、傳輸數據,然後在使用者端回收解析度來保留頻寬。

傳統上,要進行超解析度,您將使用非常有損的經典方法。因此,當您從非常小的解析度變為高解析度時,您將丟失大量資訊(圖像內容),從而導致圖元化。

使用在這些圖像和視頻上訓練的神經網路,為了能夠推斷資訊內容,我們可以以基本上無損的方式保存大部分資訊。

因此,這種外推法使我們能夠保留大量資訊,而不會像您在經典的非機器學習方法中看到的那樣圖元化。

在EdgeCortix框架的情況下,我們能夠以非常高的解析度直接在FPGA上運行這些相對複雜的超解析度模型。

因此,我們可以在幾毫秒內從小型 360p 或 480p 解析度直接變為 4K,使我們能夠為視頻流應用程式傳輸大量數據。

馬庫斯

那太好了。我認為這是適應人工智慧新應用的一個很好的例子。另一個可能感興趣的用例是使用可能不是基於圖像的感測器數據。在這裡,您可以實際對射頻數據進行指紋識別,使用AI來預測位置或識別設備等內容。告訴我更多關於它是如何工作的。

薩迦

所以這是一個有趣的問題。總的來說,我們已經看到多個應用程式跨越國防通信以及消費者應用程式,這些應用程式要求我們識別數據生成位置或資訊傳輸源的來源。通常,你使用我們所說的無線電頻率來做到這一點。而且,就像人類有指紋一樣,您現在可以捕獲無線電頻率,然後創建本質上唯一的指紋,以顯示數據的生成位置。它可以是路由器,也可能是手機塔。它也可以是一部手機。因此,我們現在可以獲取所有這些數據,將其轉換為圖像,然後訓練一個深度神經網路,在本例中為卷積神經網路,它可以識別這些獨特的特徵,並在大多數情況下對該設備是否是真實設備進行分類。例如,如果它是已知設備,它還可以對資訊的來源進行分類或當地語系化。

擁有在FPGA上執行或真正處理此類神經網路的能力,在跨越基礎設施邊緣以及國防或通信的不同類型的應用方面開闢了這一領域,這需要非常具體的定位或識別以及對信號生成源的身份驗證。

因此,這絕對是一個不斷發展的領域,我們看到許多應用跨越國防和消費領域。

馬庫斯

很高興看到這些新興用例,所以我的最後一個問題繼續 - 邊緣AI的下一步是什麼?您是否看到隨著硬體或用例的變化或出現,共同探索的持續反覆運算?您如何平衡靈活性與邊緣效率的權衡?

薩迦

是的,所以這是一個很好的問題,你知道,絕對,我認為這個領域是完全開放的。我們剛剛開始觸及表面,從共同設計我們的神經網路開始,相對於它將要運行的硬體平臺。特別是FPGA,回到最初的問題,提供了正確的靈活性基礎,以便如果我們一開始就沒有正確的話,我們可以微調處理器架構的某些方面。

同時,還有完全不斷發明的新型模型。以前,卷積神經網路對於視頻和圖像非常非常熱。我們現在有像變壓器這樣的模型,它們與那些捲積模型略有不同。因此,您可能希望在不同代的神經網路之間進行更緊密的集成和適應,我們知道這些神經網路在給定的時間點比它將要運行的硬體平臺效果更好。

您真的不想要一種適合所有情況的尺寸。您希望要運行它的基板具有很大的靈活性,而不是神經網路的功能或並行度。

總的來說,靈活性和效率之間的權衡是你知道會持續很長時間的事情。特別是如果你考慮邊緣——鑒於你的資源總是有限的,有權力的限制,在許多情況下,有移動性的約束——我們必須轉動的唯一真正的旋鈕或手柄來提高我們的性能是效率或資源管理。

因此,我認為整個共同探索領域只會從這裡進一步增長。

馬庫斯

好的,薩迦,我們已經講了很多內容——非常感謝你與我們交談。

薩迦

謝謝馬庫斯,很高興。謝謝。

馬庫斯

感謝您觀看我們與EdgeCortix首席執行官兼創始人Sakya Dasgupta的討論。

產品描述

梅拉-藍-白-徽標副本

作為DNA IP核心的一部分,EdgeCortix深度學習計算引擎針對Bittware IA-840f和IA-420f卡進行了優化,並作為即用型比特流提供。EdgeCortix 解決方案套件附帶MERA™框架,可以從公共 pip 儲存庫安裝,從而實現在行業標準框架中開發的標準或自定義卷積神經網路 (CNN) 的無縫編譯和執行。

MERA由編譯器和軟體工具組組成,這些編譯器和工具包使用集成的DNA比特流進行深度神經網路圖編譯和推理。它內置了對開源 Apache TVM 編譯器框架的支援,提供了在簡單的校準和量化步驟後部署預先訓練的深度神經網路所需的工具、API、代碼生成器和運行時。MERA支援直接在深度學習框架中量化的模型,如Pytorch或TensorflowLit。

特徵

超低延遲 AI 推理 IP 核:

  • 多達 24576 個 MAC 和用於非卷積操作的專用向量引擎 @ 400 MHz
  • 基於數據流陣列的架構,針對 INT8 參數和啟動進行了優化
  • 獲得專利的運行時可重新配置互連

強大的開源MERA軟體框架:

  • MERA 編譯器 1.0 利用多種形式的並行性並最大限度地提高計算利用率
  • 對 Pytorch 和 TensorFlow Lite 模型的原生支援
  • MERA框架中的內置分析器
  • 與開源 Apache TVM 集成
EdgeCortix DNA 框圖

數據表和產品詳細資訊

詳細功能清單

多樣化的操作員支援:

  • 標準卷積和深度卷積
  • 步幅和擴張
  • 對稱/非對稱填充
  • 最大池化,平均池化
  • ReLU、ReLU6、LeakyReLU 和 H-Swish
  • 上採樣和下採樣
  • 殘餘連接、拆分等

 

GPU 的直接替代品:

  • Python 和 C++ 介面
  • 支援 PyTorch 和 TensorFlow-lite
  • 無需再培訓
  • 支援高解析度輸入

INT8 位量化:

  • 訓練後量化
  • 支援深度學習框架內置量化器
  • 保持高精度

FPGA 卡訂購選項

IA-420F-0010 BittWare IA-420f卡由EdgeCortix®動態神經加速器提供支援
IA-840F-0014 BittWare IA-840f卡由EdgeCortix®動態神經加速器提供支援

關於公司

一家專注於邊緣 AI 的無晶圓廠半導體設計公司,採用軟體優先的方法,專注於為 AI 推理提供一流的效率和延遲。

對定價或更多資訊感興趣?

我們的技術銷售團隊隨時準備提供可用性和配置資訊,或回答您的技術問題。