AI Engineer Europe 2026 · 演講 · 2026-05-20 · 21 分
在手機上跑 skills 與微調小模型
From 46% to 90%: Fine-Tuning Tiny LLMs for On-Device Agents · Cormac Brick,Google DeepMind
Cormac Brick 介紹 Google AI Edge 的兩條路:系統內建的 Gen AI,與包進 app 的小模型;也示範 skills 怎麼在 Gemma 4 上跑,並講 FunctionGemma 微調前後的成功率。
概要
- 兩種裝置端 Gen AICormac 把選擇分成系統層與 app 內。系統層是預先裝在裝置上的 Gemini Nano(經由 AICore),app 內則用 LiteRT-LM 把模型跟著 app 或網頁一起帶出去,客製空間大,工也多。
- skills 靠 prompt 就能跑app 的 system prompt 裡只放 skill 的描述,模型需要時才呼叫內建的 load skill 工具,把細節載進來。skill 裡可以夾 JavaScript,用來在 app 裡畫出地圖或輪盤。
- 用 skills 寫 skillsCormac 說他們團隊用 Gemini CLI 之類的工具來寫 skill,還有一個 ADB skill,讓工具直接在裝置上除錯與測試。使用者也能從 URL 載入自己發佈的 skill。
- 小模型要窄而專模型小到 200 或 100 million 參數時,任務得很窄。部署流程是先在 transformers 裡取得模型,用 LiteRT Torch 匯出,再用 LiteRT-LM 執行。
- FunctionGemma 從 46% 拉到 90% 以上Cormac 說原版在 App Intents 範例裡的成功率大約 46%,用合成資料微調後,十個函式裡有八個超過 90%,另外兩個在 80 幾。
- Q&A 看到的限制4B 模型預設開約八個 skill,能在八個之間選得還算好。一次回答要連用多個 skill 還不穩,Cormac 說他們還在摸索。
原話
▶ 07:52“That's only kind of loaded on demand.”
那些細節只在需要時才載入,指 skill 的函式與細節
▶ 09:09“So we can use skills to write skills.”
所以我們可以用 skills 來寫 skills
▶ 12:08“it needs to have a very narrow and focused task”
它得有一個很窄、很專注的任務,指 100 或 200 million 參數等級的模型
▶ 15:29“it's a bit more work than just prompting a larger model”
這比直接提示大模型多了點工,指微調流程
▶ 18:40“we're still kind of discovering the limits of how far we can push the model”
我們還在摸索這個模型能推到多遠
延伸
- Eloquent 的文字修飾模型還會清掉 um、ah 這類贅詞,Cormac 說這是離線轉錄 app 常被抱怨的地方;個人字典則是為了科技術語與人名常被轉錯。
- Swift 與 JavaScript 版的 LiteRT-LM API 還在做;Cormac 說 Swift 版發佈時,iOS 版 Gallery 也會開源。
- FunctionGemma 有微調 Lab(Hugging Face space)可以定義函式、上傳資料來微調,這場只是帶過,沒有操作示範。
章節
點時碼直接跳到原片的那一段。
- 開場與範圍Cormac 說今天講裝置端 agent,包括 AICore 上的 skill harness,以及小於 10 億參數、能直接放進 app 的小型 LLM。
- AI Edge 技術堆疊團隊負責 MediaPipe、LiteRT-LM 與 LiteRT 執行環境,可跑在 CPU、GPU 或 NPU;LiteRT 支援超過 2.7 billion 台裝置。
- 系統層與 app 內 Gen AI系統層是 Gemini Nano 經由 AICore,基底為 Gemma 4 E2B 與 E4B;要更客製就用 LiteRT-LM 的 app 內 Gen AI。
- 兩個主軸後半場分兩塊:Gemma 4 上的裝置端 skills,以及小模型現在能做到什麼。
- Google AI Edge Gallery團隊做的 iOS 與 Android app,能試各種小模型和 Gemma 4,也有 skills;Android 版是開源的。
- 餐廳輪盤 skill 示範影片裡問 Gemma 找舊金山的法式餐廳,用輪盤 skill 選一家;Cormac 說這只要一個簡單的 harness 加幾行程式。
- skill 的運作方式skill 描述放在 prompt 裡,細節在需要時由 load skill 工具載入;skill 裡的 JavaScript 負責在 app 中顯示地圖或輪盤。
- 自己寫 skill可照 GitHub 說明手寫,也能請 Gemini CLI 之類的工具代寫;做好後從 URL 載入,還能分享到社群討論區。
- LiteRT-LM 部署流程單一檔案包住模型所需資訊,開源、跨平台;流程是 transformers、LiteRT Torch 匯出,再用 LiteRT-LM 在桌面或 Gallery 試跑。
- 小模型要窄而專小模型常搭配合成資料微調。示範兩段:匯出 Qwen 模型在桌面用 GPU 跑,以及 500 million 參數的 Apple FastVLM 跑在 Qualcomm NPU 上。
- FunctionGemma270 million 參數,基於 Gemma 3 技術,去年 12 月發佈;在 Pixel 7 上 pre-fill 近 2000 tokens/s、decode 140。
- 從 46% 到 90%App Intents 範例原版成功率約 46%,用 Flash 產生合成資料集微調後,十個函式裡八個超過 90%;Cormac 承認比提示大模型費工。
- Eloquent 轉錄 app用兩個各幾百 million 參數、基於 Gemma 3 技術的模型串起來:一個做 ASR,一個做文字修飾,離線也能用個人字典。
- Q&A:skills 數量4B 模型預設開約八個 skill 還算選得準,但一次回答連用多個 skill 還不穩定。
- Q&A:檔案格式與效能LiteRT-LM 檔案取代 LLM 用的 .task 檔,並包含 tokenizer;CPU 效能資料留給隔天的演講與 model card。
名詞
- Google AI Edge
- Cormac 所在團隊負責的裝置端 AI 技術堆疊,包括 MediaPipe、LiteRT-LM、LiteRT
- LiteRT-LM
- 把 LLM 包進 app 的執行環境與格式,檔案內含執行模型所需的一切,含 tokenizer
- LiteRT
- 跨框架的模型執行環境,前身是 TensorFlow Lite,可跑在 CPU、GPU、NPU
- AICore
- 系統層的 Gen AI,Gemini Nano 經由它提供給 app
- Gemma 4
- 這場主要的模型,E2B 與 E4B 是 Gemini Nano 的基底;Cormac 說上週才發佈
- Google AI Edge Gallery
- 團隊做的 iOS 與 Android app,用來試小模型與 skills,Android 版開源
- FunctionGemma
- 270 million 參數、專攻 function calling 的小模型,可微調
- Eloquent
- 離線轉錄 app,由兩個小模型串成,目前只在 iOS 且尚未在歐洲上架








