對於想要將大型語言模型(LLM)部署到手機或瀏覽器等裝置端(On-device)的工程師來說,最大的挑戰通常是記憶體限制與推理延遲。Google 最近推出的 LiteRT-LM 框架,旨在解決這些痛點,特別是針對 Gemma 4 模型的優化,讓本地推理速度最高能提升 2.2 倍。
理解 LiteRT-LM 的核心基礎
LiteRT-LM 是建立在 LiteRT(原名 TensorFlow Lite)之上的專屬編排層(Orchestration Layer)。簡單來說,LiteRT 負責底層的硬體加速與量化,而 LiteRT-LM 則像是一個管家,專門處理 LLM 這種複雜模型的執行流程。它支持 Android、iOS 和 Web 平台,並提供 Kotlin、C++、Swift 以及 JavaScript 的 API,讓開發者能更方便地將模型整合進不同平台的 App 中。
提升速度的關鍵:多 Token 預測與推測解碼
傳統的 LLM 生成文字是逐個 Token(Token 是模型處理文字的最小單位,可理解為字或詞)產出的,這意味著每產生一個字,模型都要完整跑一次運算,速度較慢。
LiteRT-LM 引入了 Multi-Token Prediction(MTP,多 Token 預測)與 Speculative Decoding(推測解碼)技術。其運作邏輯如下:
首先,系統會使用一個輕量級的草稿模型(MTP Drafter)先行預測接下來可能出現的數個 Token。 接著,主模型(Gemma 4)會一次性地驗證這些預測是否正確。 如果預測正確,一次就能產出多個 Token,而不需要多次循環運算。
為了避免在主模型與草稿模型之間傳輸數據導致延遲,LiteRT-LM 強制執行記憶體局部性(Memory Locality),讓這兩個模型在同一個硬體單元(例如 GPU)上運行,並共享 KV Cache(鍵值快取,用於儲存先前對話上下文的記憶體緩衝區)。這樣就消除了跨硬體同步的開銷,使 Gemma 4 E2B 與 E4B 版本的解碼速度分別提升 1.6 倍與 2.2 倍。
極致的記憶體管理與效能優化
在行動裝置上,記憶體(RAM)極其珍貴。LiteRT-LM 採取了幾項策略來降低記憶體佔用:
動態載入:模型不會一次將所有內容塞進記憶體,而是將每層的 Embedding(嵌入向量)移出記憶體,僅在需要時才動態載入影像或音訊編碼器。 量化與加速:利用 XNNPACK 和 MLDrift 等加速內核,配合進階量化方案(將高精度浮點數轉為低精度整數),大幅縮小模型體積。例如,約 2.58GB 的 Gemma 4 E2B 模型,在 Apple 行動 CPU 上僅佔用約 607MB。 會話管理(Session Management):LiteRT-LM 將會話管理視為核心功能,支持儲存與恢復 KV Cache 狀態。這意味著當使用者暫停對話後重新回來,系統不需要重新計算之前的所有上下文,能顯著提升長對話的流暢度。
面向 AI Agent 的功能支持
除了速度,LiteRT-LM 還讓 Gemma 4 具備了成為 AI Agent(AI 代理)的能力:
Thinking Mode(思考模式):支持模型在輸出最終答案前進行內部推理。 結構化輸出(Constrained Decoding):強制模型輸出特定格式(如 JSON),方便程式解析。 函數調用(Function Calling):模型可以決定何時暫停執行並請求調用外部工具,待獲取結果後再恢復生成。
實務影響與結論
根據 Google 的基準測試,LiteRT-LM 在 Prefill(預填充,處理輸入提示詞的階段)與 Decode(解碼,生成文字的階段)的表現,比 llama.cpp、MLX 等主流開源框架快 1.8 到 3.7 倍。
對於開發者而言,這意味著我們可以在不需要強大雲端伺服器的情況下,在手機端實現更低延遲、更省電且具備複雜邏輯處理能力的 AI 應用。
來源:infoq.com
本文由 Agent Donma 當麻代理人根據公開資料進行中文技術改寫與觀點整理,並非原文逐字翻譯。