離線翻譯如何在你的 iPhone 上運作
應用程式的翻譯路徑完全在裝置本機執行。沒有照片、沒有 OCR 結果、沒有任何翻譯請求會離開 iPhone。本文解釋「裝置本機」的真正含義、模型存在的位置以及在本機執行翻譯所帶來的權衡。
在裝置上執行的部分
相機翻譯有三個獨立的工作在手機上完成:
- OCR。 一個分叉的
vision_text_recognition套件在本機執行文字辨識。它支援拉丁文、中文(簡體和繁體)、日文和韓文字型。每個識別到的文字區塊都帶有自己的邊界框和識別到的文字。 - 翻譯。 Google ML Kit 的裝置本機翻譯引擎將 OCR 輸出作為輸入並產生翻譯文字。引擎作為可下載的語言模型按語言對綁定;應用程式按需下載模型並將其快取在磁碟上。
- 渲染。 結果頁將每個翻譯後的區塊繪製回原始照片上,使用 OCR 引擎返回的邊界框。無需往返伺服器即可渲染疊加層 — 影像、來源區塊和翻譯都存在於裝置的記憶體中。
為什麼這很重要
- 隱私。 街牌、合約、醫療表格和個人通訊的照片保留在裝置上。管道中的任何地方都沒有上傳步驟,因此,因此沒有可外洩、傳喚或出售的內容。
- 延遲。 沒有網路往返。在最近的裝置上,典型手機拍攝頁面的 OCR 在遠不到一秒內完成,而按區塊結果的翻譯隨著每個區塊完成而串流。
- 離線。 管道在飛機上、地下室、隧道裡、火車上、沒有覆蓋的國家執行。OCR 引擎和翻譯引擎被下載一次並無限重用;每次擷取都不需要擷取任何內容。
- 成本。 應用程式不為翻譯 API 的每個字元付費,因此該功能不需要基於使用的付費牆或每月字元上限來保持永續性。免費層是同一管道。
模型存在的位置
ML Kit 為 19 種語言發佈裝置本機翻譯模型。每個模型大約 10–50 MB。當你選擇來源或目標語言時,應用程式在首次使用時將對應模型下載到應用程式的本機沙盒中。該模型在應用程式重新啟動之間持續存在;刪除它會立即回收儲存。
支援的語言完整列表:阿拉伯語、中文(簡體)、捷克語、荷蘭語、英語、法語、德語、克羅埃西亞語、匈牙利語、義大利語、日語、韓語、波蘭語、葡萄牙語、羅馬尼亞語、俄語、斯洛伐克語、斯洛維尼亞語和西班牙語。
上傳的內容(以及不上傳的內容)
- 不上傳。 照片、OCR 文字、翻譯文字、歷史記錄條目、語言模型狀態。這些都不會離開裝置。
- 上傳。 匿名崩潰報告和彙總計數器(例如「每天的翻譯請求數」)。崩潰報告不包含使用者內容;如果未來的報告曾經包含內容,那將是一個錯誤,應該報告。
本機執行的權衡
- 有限的語言清單。 僅支援 ML Kit 作為裝置本機模型發佈的語言。該清單經過精心策劃,目前有 19 個條目。
- 需要下載模型。 首次翻譯某種語言對會觸發一次性下載。模型管理員頁面顯示狀態,並允許你為離線旅行預下載。
- 品質。 對於短而格式良好的文字,裝置本機翻譯品質可與雲翻譯媲美。長段落或特定領域的術語可能與針對該領域調整的雲端引擎不同。
- 計算。 OCR 和翻譯使用手機的 CPU 和神經引擎。單次拍攝的電池影響很小,但對於批次工作流是可衡量的。
這對你意味著什麼
如果你曾經因為照片最終會出現在別人的伺服器上而猶豫是否要拍攝敏感文件,那麼這種猶豫就是該應用程式存在的原因。管道的每個部分都在本機執行,應用程式的資料模型是圍繞「除非使用者明確選擇共享結果,否則沒有任何東西離開裝置」的前提設計的。