如何實現移動版GPT ?

本文由EETOP編譯整理自semiwiki

人們很容易認爲,所有與 GPT 相關的東西都只是在追逐宣傳熱潮,而關於這個話題的文章,尤其是那些顯然不可能實現的說法(就像這個案例一樣),只不過是點擊率很高的誘餌而已。事實上,在手機等邊緣設備上託管至少一個子集的大型語言模型(LLM)是有實際原因的,尤其是在大大改進自然語言處理方面。與此同時,這些模型通常與大型雲平臺相關聯,其龐大的規模給任何將 LLM 移至邊緣設備的嘗試帶來了挑戰。向移動 GPT 過渡需要一些重大創新。

爲什麼值得努力開發移動版GPT?

當Siri和類似的功能首次出現時,我們非常着迷,起初。與機器對話並讓它理解我們似乎就像是科幻成爲現實。然而,這個幻想開始破滅,因爲我們開始意識到它們的“理解”非常淺顯,我們被迫生氣地反覆重複請求的各種變體,希望AI最終能理解正確。短語級別的識別(而不是詞級別)在某種程度上有所幫助,但仍然無法應對自然語言的靈活性。作爲用戶,如果您事先知道訓練短語,您的問題可能會更有效,而不是詢問一個自然的問題。這幾乎達不到自然語言處理的水平。

大型語言模型(LLMs)已經通過強大的力量在有效理解自然語言請求方面取得了很大成功。它們通過全球數據集進行學習,並使用基於自注意力算法的變換器方法進行學習,識別自然語言中的常見模式,無視關鍵詞的接近性或預定的短語結構。通過這種方式,它們可以從自然語言請求中提取和重新表達意圖,或者提出一些意圖的建議改進,這更類似於自然語言處理,而且可以獨立於從互聯網檢索事實參考的能力而存在價值。但它仍然在雲端運行。

實現移動版GPT有哪些方法?

功能更強大的智能音箱會在基本語音拾取(語音識別、標記化)之外進行一些本地處理,然後將真正的理解問題傳回雲端。有提議稱,可以從手機中採用類似的混合方法來提升NLP質量。但這種方法存在常見的缺點,即延遲和隱私問題。更理想的做法是將計算保留在邊緣設備上,儘量減少雲端的依賴。

我們是否真的需要像在雲端使用相同規模龐大的模型?GPT-4擁有大約一萬億個參數,無法容納在移動應用程序中,這是完全不可行的。在2021年,Google DeepMind發佈了一個重大突破,他們的“檢索增強變換器”(Retro)不再將事實存儲在模型中,而是認識到這些事實可以直接從純文本數據或搜索中檢索,而不是從模型權重中檢索(當然,要有效地執行這一點還有一些細節需要考慮)。單單這個變化就可以將模型的大小減小到原始大小的幾個百分點,雖然離適合手持設備還有一段距離,但已經變得更加緊湊。

更進一步的縮減需要剪枝和量化。在將經過訓練的CNN或其他模型映射到邊緣設備時,量化已經是衆所周知的方法。在量化過程中,你有選擇地將浮點權重替換爲固定點,可以減小到8位、4位甚至2位,同時不斷檢查結果的準確性,以確保沒有過分削減。此外,結合了壓縮和解壓縮,量化越精細,模型就越小,推理速度也更快,功耗更低,因爲DDR活動可以減少。剪枝是一個步驟,通過測試對結果的敏感性,有選擇地將權重替換爲零。對於許多NLP模型,模型權重的很大一部分實際上並不那麼重要。通過有效的稀疏處理器,這種剪枝可以進一步減小有效大小,並提高性能。這些技術可以提供多大的改進取決於AI平臺的具體情況。

CEVA NeuPro-M用於移動版GPT:

NeuPro-M NPU IP是一系列專爲嵌入式應用設計的AI處理引擎。用於將模型映射到這些引擎的預處理軟件可以將有效模型大小減小多達20:1,包括Retro壓縮後的總LLM大小約爲十億參數,這在現代邊緣AI引擎(如NeuPro-M IP)的容量範圍內,非常適合。

NeuPro-M核心的配置包括從1到8個並行引擎。每個引擎都提供一組加速器,包括用於優化無結構稀疏性的真實稀疏模塊、用於注意力或softmax計算的神經乘法器以及用於處理應用程序可能需要的任何特殊目的定製的向量處理單元。

這些核心共享一個公共的L2內存,並且可以並行運行數據流,以獲得更高的吞吐量,尤其是爲了並行化耗時的softmax規範化計算和注意力步驟,有效消除了通常由規範化引起的延遲開銷。NeuPro-M的性能範圍從每個核心的4 TOPS到256 TOPS,可以提供超過1200 TOPS的性能。

如果我們想要替代Siri和類似的基於語音的應用程序,我們需要添加語音識別和文本到語音的功能,以實現完全以語音爲中心的界面。CEVA已經在WhisPro中實現了語音接收,輸入時的語音識別和輸出時的文本到語音可以由NeuPro-M上運行的小型變換器處理。因此,您可以在這個平臺上構建一個完整的基於語音的管道,從語音輸入到識別和智能響應,再到語音輸出。

如果您真的希望手機能夠根據語音提示撰寫關於複雜主題的詳細論文,它可能仍然需要訪問互聯網,以從中檢索事實數據,然後生成那篇文章。在許多情況下(查找餐館、找電視上的電影、告訴我奧斯汀的天氣),更現實的情況可能只需要訪問互聯網來獲取最後一部分數據,不再需要這一步驟來準確理解您的問題。這確實太酷了。