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