Gemini Nano 記憶體需求超大,能塞進非旗艦手機嗎?Android 團隊解釋了
還記得今年 3 月,Google 工程師曾經表示旗下 Pixel 8 無法支援 Gemini Nano,後來又「改口」可以支援該模型一事嗎? 這背後轉變的可能原因,Android 團隊解釋了。
在上週的 Google I/O 會後,Android 工程部門副總裁 Dave Burke 在接受媒體訪問時,透露了這點。
當時 Google 工程師 Terence Zhan 曾表示,由於硬體上的限制,Pixel 8 無法支援 Gemini Nano,但他並沒有透露太多硬體上的細節。而 Pixel 8 和 Pixel 8 Pro 的差別在於其 RAM 的容量,分別為 8 GB 與 12 GB,因此「記憶體資源」很可能就是關鍵。
Burke 對此解釋,最初的 Gemini Nano 是 18 億參數的模型,大約需要 1.1 至 1.2GB 的記憶體才能在設備上執行,新的模型已經更大,參數規模來到 38 億,因此需要 4GB 的 RAM,「那是很多的記憶體。對於一般設備來說,這是很大的記憶體需求。」
因此 Burke 也承認,現在的 Gemini Nano 多模態版本,真的是為那些非常旗艦的頂級設備量身打造的,而這些手機的 RAM 通常達到 12GB 到 16GB。
那麼 Google 要如何把 Gemini Nano 放至其他等級的 Android 手機中呢?Burke 表示,就連 18 個月前,Google 自己也認為要在設備上運行 Gemini Nano 是不可能的,不過由於在研究領域已經有了相當大的進展,這也化當初的不可能為可能。
他提到的第一個方法是知識蒸餾(distillation),讓最大的語言模型 Gemini 像是「老師」一樣,教導、訓練一個「學生」模型,也就是 Gemini Nano,而其中很酷的是,Gemini 從一開始就是採多模態設計的 transformer 模型,結果發現,帶有多模態能力的 Gemini Nano 在 Benchmarks 測試上能達到完整 Gemini 模型約 80% 的表現,這也代表壓縮的效果非常好。
除了知識蒸餾之外,Google 也採取了其他方法來縮小模型,比如 38 億個權重(weights),過去通常會用 16 位元來儲存每個權重,但透過模型壓縮技術,可以在設備上將權重壓縮,具體來說,相比過去的 16 位元,他們會把權重壓縮至只用 4 位元或 2 位元來儲存。
他也提到了當前研究的另一個熱點,就是嘗試在 transformer 模型中引入「稀疏性」(sparsity)。 transformer 模型本身是一個密集互連的神經網絡,引入稀疏性的目的,則是要在不顯著損失性能的情況下,將這種網絡分解為更小的獨立部分,將龐大的網絡,分解為更小的子模組,以減少計算量和記憶體需求,術語「混合專家」(mixture of experts,MoE)就是這類的方法之一。
這種概念就是將一個密集互連的神經網絡拆分成較小的混合專家模組,當模型在做推論時,只需要透過其中一個小的專家模組輸出就好,避免全都開始計算,因而減少計算量;另一種優化技術叫做早期退出(early exits),概念是當模型已足夠確信預測結果(確信能預測下一個字)時,就可以提前退出而不執行剩餘的模型層,省去沒必要的計算。
Burke 認為,透過這些壓縮和優化技術,未來還會有更多類似的創新來縮小模型,「我認為隨著時間推移,我們將能在手機中獲得更高品質但更小巧的模型」。
核稿編輯:Jocelyn
延伸閱讀:
- Google I/O 2024:「Google」的意義,或許已不再是搜尋了
- Google 生成式搜尋「AI Overview」已經開跑廣告功能!
- 蘋果推開源大型語言模型 OpenELM:小尺寸、高性能、可離線運作