專訪FPGA 2017最佳論文得主深鑑科技:深度學習的最大瓶頸是帶寬問題而非計算

 2017-03-06 20:27:00.0

近日,深鑑科技的 ESE 語音識別引擎的論文在 FPGA 2017 獲得了唯一的最佳論文 ESE: Efficient Speech Recognition Engine with Sparse LSTM on FPGA。該項工作聚焦於使用 LSTM 進行語音識別的場景,結合深度壓縮以及專用處理器架構,使得經過壓縮的網絡在 FPGA 能夠實現超越 Pascal Titan X GPU 一個數量級的能效比。論文中所描述的 ESE 語音識別引擎也是深鑑科技 RNN 處理器產品的原型。

深鑑科技是一傢俱備神經網絡壓縮編譯工具鏈、深度學習處理器 DPU 設計、FPGA 開發與系統優化等技術能力的初創公司,團隊一系列研究工作發表於 NIPS 2015,ICLR 2016,FPGA 2016,ISCA 2016,NIPS 2016 Workshop,FPGA 2017 等頂級會議,並與 DeepMind 共同獲得 ICLR 2016 最佳論文、NIPS 2016 Workshop on EMDNN 最佳論文提名。

深鑑科技於 2016 年 1 月設計出一套基於 DPU 的一整套深度學習硬件解決方案,包括 DPU 的芯片架構、DPU 編譯器、硬件模塊(訂製的 PCB 板)三部分。

針對 FPGA 2017 最佳論文以及深鑑科技,雷鋒網採訪了深鑑科技 CEO 姚頌。

專訪FPGA 2017最佳論文得主深鑑科技:深度學習的最大瓶頸是帶寬問題而非計算

雷鋒網:絕大部分論文都是爲了解決問題,深鑑科技的這篇論文的核心靈感來自於哪裏?

一直以來,深度學習計算遇到的最大瓶頸其實是帶寬問題,而非計算本身。爲了實現高效的深度學習計算,我們必須在軟硬件同時進行優化,不僅算法上壓縮到更小,硬件上更要支持好壓縮後的深度學習算法。

爲了解決帶寬問題,GPU 的 Memory 從 DDR3 ,DDR4,一直升級到了 HBM。同時,GPU 也從支持雙精度與單精度,即 64 個比特或者 32 個比特表示一個參數,升級至支持 Int8 型變量,也即 8 比特表示一個變量。

我們一直在思考如何更優化和高效地解決帶寬問題,韓鬆(該論文的第一作者,深鑑科技聯合創始人)的研究方向是使用稀疏化方式讓深度學習更快、更準、更輕量,該方式的優點是降低了帶寬的需求。由於深度學習裏的特徵表示本身就是稀疏的,因此我們做一個直接的剪枝壓縮來減少帶寬的使用。韓鬆之前做過一項名爲 EIE (Efficient Inference Engine)的研究並發表在 ISCA 2016 ,該項研究主要針對於卷積神經網絡裏的全連接層,但並不能適應語音識別這樣的複雜場景。因此在結合實際應用後,我們設計出一套更爲實用化的 ESE 架構,針對語音識別和 RNN 做了非常多的修改,並且將它實用化了。

這些就是該論文靈感的來源。

雷鋒網:這篇論文主要在哪些方面有着較大的突破?

在軟件和硬件兩個方面均有着一定的突破。

軟件方面,我們提出了 Load-balance-aware pruning。除了在純算法上追求壓縮率,還會考慮到最終要多核運行並行加速的時候不同核心之間的負載均衡,這種加速差其實屬於最優的方式。

在硬件方面,我剛纔也提到韓鬆有一篇論文叫做 EIE 只能運行卷積神經網絡的 FC 層。我們考慮到 RNN 的狀態機會整體非常複雜,因爲裏面會有非常多個矩陣要運轉,不僅要支持多路用戶,還有裏面的非線性函數都有非常大的區別。所以說在整個硬件架構過程做了一個重新設計,能夠支持多路用戶,也能夠支持 RNN,如 LSTM 內部多個矩陣的運轉。這樣整個系統運轉的(速度)都是高得多的一個架構。

雷鋒網:這個具體從幾方面提高了它在語音識別中的效率?

現在 ESE 是我們語音識別方案的基礎,我們在實際產品上做了不少改進。該方案的核心就是它能支持在大規模用戶的情況下大幅降低延遲。我們知道,GPU 的最大問題是如果要具備非常好的性能,那就需要堆很多路的 batch。那麼其實絕對的 latency 是變長的。那我們能夠將 latency 部分相對於個高端的 GPU 壓下來幾倍。於用戶而言,對方體驗到的延遲也要短的多,體驗就會更好。

其次,由於大規模的雲計算對於成本、功耗是非常敏感的,這種情況下,我們的方案會明顯使得功耗降低,對整個運行成本有着不錯的影響。

另一方面,如果把延遲降低,其意味着這些實際使用的算法可以變得更加複雜。如 LSTM 原來是三層,現在我可以把它變爲五層,甚至我的延遲會變得更低,使得語音識別的精確度得到更進一步提升。

雷鋒網(公衆號:雷鋒網):詳細講講 Deep Compression 和 ESE 的原理與作用

人類大腦其實是非常稀疏的,每個神經元能連接其他神經元的數量有限,而 Deep Compression 也正是受到了人類大腦的啓發。做這項工作時我們發現了一些人工神經網絡裏對結果影響不重要的權重,針對這該問題的最簡單做法就是如果這個權重的絕對值小於某個閾值,我就把它去掉,只保留絕對值較大權重對應的這些連接。

而 ESE 的原理則更多是我們設計了一個非常高效的稀疏矩陣乘的 Kernel 。在此之上,我們又設計了一套完整的調度機制,能夠將 RNN 中 LSTM 的多個矩陣進行各高效調度。並且能夠支持在不同矩陣高速調度時形成一個流水線。在運算當前矩陣的時候調用下一個矩陣來片上運行,並且能保持每個權重就每個矩陣的權重在片上存儲待的時間足夠長。這樣做既可節省整個帶寬的需求,也可加快運算速度。

雷鋒網:剛也提到大腦的激活是非常稀疏的,當深度學習的模型越來越大,那對模型參數有什麼其他的壓縮辦法嗎?

韓鬆提出的 Deep Compression 其實就屬於模型壓縮很核心的方法。通常大家會用一些啓發式的算法去發現裏面不重要的權重,並將它去除,然後再使用數據來進行 re-train 時能夠把它的精確度恢復起來。其中絕對的閾值,做 re-train 時權重增長的幅度均可用來作爲啓發式算法的判別準則。

由於神經網絡中的特徵表示比較稀疏,所以這樣一種非規則稀疏模型壓縮效果往往比大家設計一個小一些的模型效果更好:直接砍 channel 數量,或者一些數學上的分解方式。

其他模型壓縮的方法有 SVD、Winograd 分解、binary network 等,但相比而言 Deep Compression 整體的性價比會更高。

雷鋒網:如何有效結合 Compressing CNN 和 Intepretating CNN 發揮它們的勢能?

對於可解釋性 CNN 我們暫時還沒有研究。對於壓縮後的 CNN 最大好處是性能會明顯變高,可把模型尺寸直接壓縮十倍,權重數量可直接砍掉三倍,這也意味着性能直接以三倍的單位往上乘。與此同時,我們用於存儲帶寬讀取的延遲會降低 10 倍,所以整體性能都有着非常大的提升。這也是我們一直提倡要在軟件和硬件上協同來進行加速的原因。

雷鋒網:英偉達提供的是芯片+解決方案,地平線機器人的產品定位是芯片+算法+解決方案+設備。深鑑科技的產品定位是什麼?與地平線、寒武紀有哪些不同?

地平線餘老師、楊銘師兄、黃暢師兄算法與軟件背景比較深厚,軟硬件團隊整體實力非常強,因此他們可能會從系統的角度來提供一個完整的功能級產品,包括算法上的優化。

寒武紀的兩位陳老師在 CPU等芯片領域有很多的積累,更多會強調在芯片層面的優化。而深鑑科技則是做軟硬協同加速,側重於 FPGA,我們希望用一些取巧的手段,比如在算法上用 Deep Compression 來做壓縮,然後在硬件上針對於壓縮後的神經網絡做一些專用的處理架構。

我們最核心的服務其實是一個平臺:平臺的底層是我們的 DPU 架構,往上是由編譯器以及我們整個 Deep Compression 構成的開發環境,這樣用戶可以用我們的環境來開發自己的算法與應用,在深鑑科技的 DPU 平臺上運行,從這一點來說有些類似於英偉達。

雷鋒網:最近阿里、騰訊均推出的高性能異構計算基礎設施 FPGA 雲服務器,這對行業的影響有哪些?

其實這方面業界最領先的是 AWS。在 2016 年 12 月的 AWS 發佈會上,亞馬遜公開了AWS上新的 F1 instance :他們將 Xilinx 的 FPGA 放在了雲服務中,大家可通過這樣的開發環境在雲中使用 FPGA。而騰訊和阿里那也是受到亞馬遜這個項目的影響纔開始把 FPGA 部署到他的雲服務中。

我們知道 FPGA 的優點在於,進行 Inference 計算能相比於 GPU 更加高效,因此雲端的業務大家可用 GPU 訓練,而 FPGA 做 Inference 。AWS、騰訊、阿里都爲業界帶了一個好頭,其影響類似於當時 TPU 問世後極大地促進 FPGA 在深度學習領域的相關研究,同時也滲透到了產品開發和整個行業的方方面面。我們也已經顯著地看到各大公司受到啓發,開始越來越關注在能效、效率問題,而不是簡簡單單地滿足我有這樣的一個 AI 服務。

雷鋒網:你們與客戶的具體合作形式是什麼樣的?分別講講你們爲零度智控、川大智能以及搜狗提供了哪些服務。

前面的話,其實我已經提到我們公司的定位:我們是一個平臺的提供者。所以對於一系列具有自己深度學習算法研發能力的公司,我們會提供我們的 DPU平臺,以及編譯器與壓縮這樣一套開發環境,供大家能夠在此基礎上搭建自己的算法以及解決方案。而對於像無人機行業的客戶,我們會提供針對於這個行業的算法、軟件、硬件一體的解決方案,能夠讓大家直接集成來打造自己的應用。

雷鋒網:就您所知,近一兩年海內外有哪些與深鑑相似的公司和產品?在玩家逐漸變多的大環境下,如何保證自己處於有利地位?

AI 是整個半導體行業大家看到非常大的一個新增長點,所以從傳統半導體行業出來,不管是做創業公司也好,還是要做往這個方向業務轉型的大公司,確實非常多。

深鑑科技之前提到,傳統並行計算的老工業經驗並不一定能夠很好的覆蓋掉 AI 上面計算的事情,我們始終堅持一個觀點認爲帶寬一定是一個最核心的問題需要解決。而傳統堆帶寬的方式一定會在造價和將來實際物理帶寬層面遇到一些瓶頸,所以深鑑科技把軟和硬結合在一起來做。先在軟件上做壓縮,然後在硬件上針對壓縮的神經網絡做一個專用體系結構的優化。

目前在這條技術路線上的公司還非常之少,但陸續開始有公司注入跟進這個領域。而我們進入很早,積累了非常多的 insight,如 FPGA2016 會議上提出來的基於嵌入式 FPGA 的 CNN 處理器方案、量化方案,已經被諸多公司f ollow,今年 FPGA2017 會議大家都在 CNN 處理方案上進行小幅優化之時,我們已經走向了 LSTM。我們希望藉由這樣的先發優勢,能夠圍繞稀疏化的處理思路,從算法、軟件、硬件協同設計多個方面逐漸建立起隱形的行業標準。

專訪FPGA 2017最佳論文得主深鑑科技:深度學習的最大瓶頸是帶寬問題而非計算

文章來源:雷鋒網