如何實現(xiàn)移動版GPT ?
2023-09-19 11:30:55 EETOP編譯本文由EETOP編譯整理自semiwiki
人們很容易認(rèn)為,所有與 GPT 相關(guān)的東西都只是在追逐宣傳熱潮,而關(guān)于這個話題的文章,尤其是那些顯然不可能實現(xiàn)的說法(就像這個案例一樣),只不過是點擊率很高的誘餌而已。事實上,在手機等邊緣設(shè)備上托管至少一個子集的大型語言模型(LLM)是有實際原因的,尤其是在大大改進自然語言處理方面。與此同時,這些模型通常與大型云平臺相關(guān)聯(lián),其龐大的規(guī)模給任何將 LLM 移至邊緣設(shè)備的嘗試帶來了挑戰(zhàn)。向移動 GPT 過渡需要一些重大創(chuàng)新。
為什么值得努力開發(fā)移動版GPT?
當(dāng)Siri和類似的功能首次出現(xiàn)時,我們非常著迷,起初。與機器對話并讓它理解我們似乎就像是科幻成為現(xiàn)實。然而,這個幻想開始破滅,因為我們開始意識到它們的“理解”非常淺顯,我們被迫生氣地反復(fù)重復(fù)請求的各種變體,希望AI最終能理解正確。短語級別的識別(而不是詞級別)在某種程度上有所幫助,但仍然無法應(yīng)對自然語言的靈活性。作為用戶,如果您事先知道訓(xùn)練短語,您的問題可能會更有效,而不是詢問一個自然的問題。這幾乎達(dá)不到自然語言處理的水平。
大型語言模型(LLMs)已經(jīng)通過強大的力量在有效理解自然語言請求方面取得了很大成功。它們通過全球數(shù)據(jù)集進行學(xué)習(xí),并使用基于自注意力算法的變換器方法進行學(xué)習(xí),識別自然語言中的常見模式,無視關(guān)鍵詞的接近性或預(yù)定的短語結(jié)構(gòu)。通過這種方式,它們可以從自然語言請求中提取和重新表達(dá)意圖,或者提出一些意圖的建議改進,這更類似于自然語言處理,而且可以獨立于從互聯(lián)網(wǎng)檢索事實參考的能力而存在價值。但它仍然在云端運行。
實現(xiàn)移動版GPT有哪些方法?
功能更強大的智能音箱會在基本語音拾取(語音識別、標(biāo)記化)之外進行一些本地處理,然后將真正的理解問題傳回云端。有提議稱,可以從手機中采用類似的混合方法來提升NLP質(zhì)量。但這種方法存在常見的缺點,即延遲和隱私問題。更理想的做法是將計算保留在邊緣設(shè)備上,盡量減少云端的依賴。
我們是否真的需要像在云端使用相同規(guī)模龐大的模型?GPT-4擁有大約一萬億個參數(shù),無法容納在移動應(yīng)用程序中,這是完全不可行的。在2021年,Google DeepMind發(fā)布了一個重大突破,他們的“檢索增強變換器”(Retro)不再將事實存儲在模型中,而是認(rèn)識到這些事實可以直接從純文本數(shù)據(jù)或搜索中檢索,而不是從模型權(quán)重中檢索(當(dāng)然,要有效地執(zhí)行這一點還有一些細(xì)節(jié)需要考慮)。單單這個變化就可以將模型的大小減小到原始大小的幾個百分點,雖然離適合手持設(shè)備還有一段距離,但已經(jīng)變得更加緊湊。
更進一步的縮減需要剪枝和量化。在將經(jīng)過訓(xùn)練的CNN或其他模型映射到邊緣設(shè)備時,量化已經(jīng)是眾所周知的方法。在量化過程中,你有選擇地將浮點權(quán)重替換為固定點,可以減小到8位、4位甚至2位,同時不斷檢查結(jié)果的準(zhǔn)確性,以確保沒有過分削減。此外,結(jié)合了壓縮和解壓縮,量化越精細(xì),模型就越小,推理速度也更快,功耗更低,因為DDR活動可以減少。剪枝是一個步驟,通過測試對結(jié)果的敏感性,有選擇地將權(quán)重替換為零。對于許多NLP模型,模型權(quán)重的很大一部分實際上并不那么重要。通過有效的稀疏處理器,這種剪枝可以進一步減小有效大小,并提高性能。這些技術(shù)可以提供多大的改進取決于AI平臺的具體情況。
CEVA NeuPro-M用于移動版GPT:
NeuPro-M NPU IP是一系列專為嵌入式應(yīng)用設(shè)計的AI處理引擎。用于將模型映射到這些引擎的預(yù)處理軟件可以將有效模型大小減小多達(dá)20:1,包括Retro壓縮后的總LLM大小約為十億參數(shù),這在現(xiàn)代邊緣AI引擎(如NeuPro-M IP)的容量范圍內(nèi),非常適合。
NeuPro-M核心的配置包括從1到8個并行引擎。每個引擎都提供一組加速器,包括用于優(yōu)化無結(jié)構(gòu)稀疏性的真實稀疏模塊、用于注意力或softmax計算的神經(jīng)乘法器以及用于處理應(yīng)用程序可能需要的任何特殊目的定制的向量處理單元。
這些核心共享一個公共的L2內(nèi)存,并且可以并行運行數(shù)據(jù)流,以獲得更高的吞吐量,尤其是為了并行化耗時的softmax規(guī)范化計算和注意力步驟,有效消除了通常由規(guī)范化引起的延遲開銷。NeuPro-M的性能范圍從每個核心的4 TOPS到256 TOPS,可以提供超過1200 TOPS的性能。
如果我們想要替代Siri和類似的基于語音的應(yīng)用程序,我們需要添加語音識別和文本到語音的功能,以實現(xiàn)完全以語音為中心的界面。CEVA已經(jīng)在WhisPro中實現(xiàn)了語音接收,輸入時的語音識別和輸出時的文本到語音可以由NeuPro-M上運行的小型變換器處理。因此,您可以在這個平臺上構(gòu)建一個完整的基于語音的管道,從語音輸入到識別和智能響應(yīng),再到語音輸出。
如果您真的希望手機能夠根據(jù)語音提示撰寫關(guān)于復(fù)雜主題的詳細(xì)論文,它可能仍然需要訪問互聯(lián)網(wǎng),以從中檢索事實數(shù)據(jù),然后生成那篇文章。在許多情況下(查找餐館、找電視上的電影、告訴我奧斯汀的天氣),更現(xiàn)實的情況可能只需要訪問互聯(lián)網(wǎng)來獲取最后一部分?jǐn)?shù)據(jù),不再需要這一步驟來準(zhǔn)確理解您的問題。這確實太酷了。
EETOP 官方微信
創(chuàng)芯大講堂 在線教育
半導(dǎo)體創(chuàng)芯網(wǎng) 快訊
相關(guān)文章