跳至主要內容
YIM NEWS
† 最新報導
科技 分析

從 596 秒到 10 秒:把 0.6B 模型塞進手機,每一輪慢的原因都不一樣

刊登 2026/11/04 07:36 閱讀約 5 分鐘 全站第 1,447 篇

2026 年 10 月 31 日,掘金出現一篇技術長文。作者張益達 Yida 記錄了自己一個人開發的自動記帳 App:拍一張支付截圖,認出金額、商戶、日期,自動記成一筆帳,全程不聯網,OCR 加一個 0.6B 的文字模型全部跑在手機本地。真正值得留下來討論的數字是單張處理時間的變化:從基線的 596 秒,四輪之後壓到 8.4 到 11 秒。

596 秒是什麼概念?拍完照去泡杯茶回來,畫面還在轉圈。作者自己下的判斷很直白:這不是慢一點,是根本不能用,所以後面所有工作都不是性能調優,而是讓這個東西能存在。

為什麼堅持不上雲

自動記帳這個需求早已被驗證。文中提到,錢跡最初公開表示因隱私考量不做截圖識別,後來在使用者催促下於 2025 年底陸續上線。同類做法大致兩條路:無障礙服務即時監聽螢幕,識別能力最強,但等於把手機上的一切交給一個第三方程序;雲端 OCR 最簡單,但截圖必須上傳。

支付截圖裡有什麼?餘額、商戶、訂單號、時間,有時還有卡號末四碼。作者選了第三條路:整條處理流程留在裝置上,不監聽螢幕,不授權支付帳號,不上傳圖片。這個決定做完,技術路線就被鎖死了,沒有退路。

視覺大模型為什麼出局

一開始自然是直接上 VLM:截圖丟進去,JSON 拿出來。作者先在桌面用 Qwen3-VL-4B(Q4_K_M 量化,2.8GB)跑一張 1080×2400 的真機截圖,vision prefill 單張要 3 到 5 分鐘,瓶頸全在視覺端。關鍵在於 vision token 的數量跟著像素面積漲,這是結構性成本,不會自己變好。手機 SoC 的持續多核吞吐約是那臺桌面的五分之一到十分之一,推算下來單張要 15 到 40 分鐘。

於是改成兩段式:先 OCR 出文字行,再讓 0.6B 的文字模型把文字行轉成 JSON。落地時還有個文件裡看不到的細節:ADR 裡寫 PP-OCRv5,實際用的是 v4,因為桌面品質閘門跑的是 RapidOCR 內嵌的 v4 三件套,模型層面零偏移,這在除錯階段的價值遠大於版本號好看。中文字典也不必帶檔案,6623 個字直接內嵌在辨識模型的 metadata 裡。

這種「先把大問題切成小問題,每段用剛好的模型」的思路,和先前把 27B 模型壓進消費級顯卡的做法是同一門功課:讓模型跑得動,靠的往往不是模型本身,而是部署這一側的工程取捨。

0.6B 打贏 1.7B:選型要跟著閘門數據走

同一份 30 張真實訂單截圖的測試集,同一套 harness,結果是反直覺的:Qwen3-0.6B(Q8_0)硬欄位準確率 100%,耗時 5 分鐘;Qwen3-1.7B 準確率 96.7%,金額錯一例,耗時 17 分鐘。更大的模型更慢,而且更差。三倍體積、三倍多時間,還多錯一筆。

作者的結論是:端側做「文字轉 JSON」這種純結構化任務,0.5B 到 2B 加語法約束就夠了。模型再大,能力溢出到用不上的地方,付出的卻是實打實的延遲和記憶體。這和選型時的算術題是同一個道理:規格表上的參數量,從來不是最終答案,量測數據才是。

四輪優化,瓶頸各不相同

第一輪從 596 秒到 208 秒,改的不是演算法,是編譯參數。llama.cpp 的 ARM 分支預設不加 NEON flags,交叉編譯下 GGML_NATIVE 也不生效,照文件老實編出來的函式庫,跑的是晶片最保守的指令集。必須顯式指定 ARM 架構為 armv8.2-a 加 dotprod,同時關掉 OpenMP。這裡還有個隱蔽的坑:NDK 27 自帶 libomp,find_package(OpenMP) 會意外成功,然後真機在 prefill 段偶發 SIGSEGV,難定位難重現。順手把 Q8_0 換成 Q4_K_M,模型縮到 397MB。

第二輪換後端為 LiteRT-LM 的 dynamic INT8,降到 41.9 秒。第三輪切到 OpenCL GPU 並補上採樣器,17.4 秒。第四輪把輸出契約砍到四個欄位、讓引擎常駐,最後落在 8.4 到 11 秒。品質閘門全程 30/30 通過,金額識別 96.7%,日期 100%。

這張成績單最有價值的地方,在於每一輪的瓶頸都不在同一層:第一輪是指令集,第二輪是推論引擎,第三輪是硬體後端,第四輪是輸出設計。換句話說,端側 AI 應用的效能問題沒有銀彈,它是一連串各自獨立的工程決策疊加出來的。

對開發者的實際啟示

這篇文章對想做端側功能的團隊有幾個可以直接帶走的判斷。先鎖定隱私與架構邊界,技術路線自然收斂,事後改路的成本極高。視覺任務在手機上,能用 OCR 加小文字模型拆解的,就別硬上 VLM。模型選型用固定測試集跑閘門,讓數據說話,而不是讓參數量說話。最後,編譯與部署細節值得單獨排進時程,第一輪近三倍的提速全部來自環境變數層級的修改。

至於應用面,離線、不監聽、不上傳的自動記帳,把過去必須用隱私換的便利,變成可以兩者兼得的選項。當 10 秒級的端側處理成為可行,這條路就不只適用於記帳,任何「拍照、辨識、結構化」的日常流程都可以照著這套方法重新想一遍。

資料來源

  1. 01 參考來源 juejin.cn

本文使用 AI 協助整理或撰稿,引用與分析仍應依原始資料核對。

編輯政策 更正與勘誤