為應用程式尋找合適的 AI/機器學習解決方案

本指南旨在協助您將 Google 的生成式人工智慧和機器學習 (AI/ML) 解決方案整合至應用程式。這份指南提供相關指引,協助您瞭解各種人工智慧和機器學習解決方案,並選擇最符合需求的方案。這份文件的目標是協助您根據自身需求和用途,判斷要使用哪種工具及原因。

為協助您根據特定需求選擇最合適的 AI/機器學習解決方案,這份文件包含解決方案指南。只要回答一系列有關專案目標和限制的問題,指南就會引導您使用最合適的工具和技術。

本指南可協助您為應用程式選擇最佳 AI 解決方案。請考量下列因素:資料類型 (文字、圖片、音訊、影片)、工作複雜度 (簡單摘要到需要專業知識的複雜工作),以及資料大小 (簡短輸入內容與大型文件)。這有助於您決定要在裝置上使用 Gemini Nano,還是 Firebase 的雲端 AI (Gemini Flash、Gemini Pro 或 Imagen)。

生成式 AI 用途的決策流程圖。評估標準包括模態 (文字、圖片與音訊、影片、圖像生成)、複雜度 (摘要、重寫與網域知識) 和脈絡窗口 (短輸入/輸出與大量文件/媒體),進而決定使用裝置端生成式 AI (Gemini Nano) 或 Firebase AI Logic (Gemini Flash、Pro、Imagen)。
圖 1:這張插圖是高階解決方案指南,可協助您為 Android 應用程式尋找合適的 AI/ML 解決方案。如要進一步瞭解 AI 和 ML 選項,請參閱本文稍後提供的解決方案指南

充分發揮裝置端推論的威力

在 Android 應用程式中新增 AI 和 ML 功能時,您可以選擇在裝置上或透過雲端提供這些功能。

Gemini Nano 等裝置端解決方案可提供結果,且不需額外付費、加強保護使用者隱私,並提供可靠的離線功能,因為輸入資料是在本機處理。這些優點對於訊息摘要等特定用途至關重要,因此選擇合適的解決方案時,裝置端模型是優先考量。

Gemini Nano 可讓您直接在 Android 裝置上執行推論。如果處理的是文字、圖片或音訊,請先使用 ML Kit 的 GenAI API,取得現成解決方案。ML Kit GenAI API 採用 Gemini Nano,並以 AICore 做為基礎系統服務,可針對特定裝置端工作進行微調。ML Kit GenAI API 具有較高層級的介面和可擴充性,是應用程式的理想正式版路徑。這些 API 可讓您透過文字和圖片輸入內容傳送自然語言要求,支援各種用途,例如圖像解讀、簡短翻譯、引導式摘要等。

對於傳統機器學習工作,您可以彈性地實作自己的自訂模型。我們提供 ML KitMediaPipeLiteRTGoogle Play 傳送功能等強大工具,簡化開發程序。

如果應用程式需要高度專業的解決方案,您可以使用自己的自訂模型,例如 Gemma 或其他專為特定用途打造的模型。使用 LiteRT 直接在使用者裝置上執行模型,LiteRT 提供預先設計的模型架構,可發揮最佳效能。

您也可以考慮同時運用裝置端和雲端模型,建構混合式解決方案。

行動應用程式通常會使用本機模型處理小型文字資料,例如即時通訊對話或網誌文章。不過,如果資料來源較大 (例如 PDF),或需要額外知識,可能就得使用雲端解決方案,搭配更強大的 Gemini 模型。

整合進階 Gemini 模型

Android 開發人員可使用 Firebase AI Logic SDK,將 Google 的先進生成式 AI 功能 (包括強大的 Gemini Pro、Gemini Flash 和 Imagen 模型) 整合至應用程式。這個 SDK 專為滿足較大的資料需求而設計,可存取這些高效能多模態 AI 模型,提供更廣泛的功能和適應性。

開發人員只要使用 Firebase AI Logic SDK,就能輕鬆從用戶端呼叫 Google 的 AI 模型。這些模型 (例如 Gemini Pro 和 Gemini Flash) 會在雲端執行推論,並協助 Android 應用程式處理各種輸入內容,包括圖片、音訊、影片和文字。Gemini Pro 擅長處理複雜問題的推論和分析大量資料,而 Gemini Flash 系列則提供卓越的速度,以及足以應付大多數工作的脈絡窗口。

傳統機器學習的使用時機

生成式 AI 可用於建立及編輯文字、圖片和程式碼等內容,但許多實際問題更適合使用傳統機器學習 (ML) 技術解決。這些成熟的方法擅長處理預測、分類、偵測和瞭解現有資料模式等工作,而且通常比生成模型更有效率、運算成本更低,實作也更簡單。

傳統機器學習架構提供強大、經過最佳化且通常更實用的解決方案,適用於著重分析輸入內容、識別特徵,或根據所學模式進行預測的應用程式,而非生成全新的輸出內容。Google 的 ML Kit、LiteRT 和 MediaPipe 等工具提供強大的功能,專為這些非生成式用途設計,特別是在行動裝置和邊緣運算環境中。

使用 ML Kit 整合機器學習功能

ML Kit 提供適用於正式環境、針對行動裝置最佳化的解決方案,可處理常見的機器學習工作,無須具備機器學習專業知識。這個易於使用的行動 SDK 可直接將 Google 的機器學習專業知識帶入 Android 和 iOS 應用程式,讓您專注於功能開發,而非模型訓練和最佳化。ML Kit 提供預先建構的 API 和即用型模型,可支援條碼掃描、文字辨識 (OCR)、臉部偵測、圖像標籤、物件偵測和追蹤、語言辨識,以及智慧回覆等功能。

這類模型通常會針對裝置端執行作業進行最佳化,確保低延遲、離線功能,以及強化使用者隱私權,因為資料通常會保留在裝置上。選擇 ML Kit,即可快速在行動應用程式中加入已建立的機器學習功能,不必訓練模型或要求生成輸出內容。非常適合使用 Google 的最佳化模型或部署自訂 TensorFlow Lite 模型,有效提升應用程式的「智慧」功能。

如要開始使用,請前往 ML Kit 開發人員網站,參閱我們提供的詳盡指南和說明文件。

使用 LiteRT 部署自訂機器學習模型

如要進一步控制或部署自己的機器學習模型,請使用以 LiteRT 和 Google Play 服務為基礎建構的自訂機器學習堆疊。這個堆疊提供部署高效能機器學習功能的基本要素。LiteRT 是一套最佳化工具包,可在資源受限的行動裝置、嵌入式裝置和邊緣裝置上有效執行 TensorFlow 模型,讓您執行更小、更快的模型,且耗用的記憶體、電量和儲存空間更少。LiteRT 執行階段經過高度最佳化,適用於邊緣裝置上的各種硬體加速器 (GPU、DSP、NPU),可實現低延遲推論。

如要在運算能力或電池續航力有限的裝置 (例如智慧型手機、IoT 裝置或微控制器) 上,有效部署訓練好的機器學習模型 (通常用於分類、迴歸或偵測),請選擇 LiteRT。這是部署自訂或標準預測模型的首選解決方案,可讓邊緣裝置在速度和資源節省方面發揮最大效益。

進一步瞭解如何使用 LiteRT 部署 ML

使用 MediaPipe 在應用程式中建構即時感知功能

MediaPipe 提供開放原始碼、跨平台且可自訂的機器學習解決方案,專為直播和串流媒體設計。運用最佳化、預先建構的工具,簡化手勢追蹤、姿勢估算、臉部網狀偵測和物體偵測等複雜工作,即使在行動裝置上也能實現高效能的即時互動。

MediaPipe 的圖表式管道可高度自訂,讓您為 Android、iOS、網頁、電腦和後端應用程式量身打造解決方案。如果應用程式需要瞭解即時感應器資料 (尤其是影片串流) 並立即做出反應,請選擇 MediaPipe,適用於手勢辨識、AR 效果、健身追蹤或虛擬人偶控制等用途,這些用途都著重於分析及解讀輸入內容。

探索解決方案,並使用 MediaPipe 開始建構。

將應用程式與裝置助理整合

傳統的 AI 整合方式著重於「將 AI 導入應用程式」,但您也可以「將應用程式導入 AI」。將應用程式功能提供給系統 AI 功能,可讓系統層級的助理 (例如 Gemini) 探索及自主叫用應用程式功能。AppFunctions 是達成這項整合的主要方式,可讓您的應用程式參與更廣泛的 Android AI 生態系統。

選擇適用的方式

將 AI 整合到 Android 應用程式時,建議考慮三種主要做法:在裝置端執行處理作業、運用雲端模型,或將應用程式功能新增至系統層級的 AI。ML Kit、Gemini Nano 和 LiteRT 等工具可啟用裝置端功能,而 Gemini 雲端 API 搭配 Firebase AI Logic 則可提供強大的雲端處理功能。AppFunctions 代表第三種路徑,可讓您「將應用程式導入 AI」,讓系統以代理程式的形式使用應用程式的功能。

選擇做法時,請考量下列因素:

因素 裝置端解決方案 雲端解決方案
連線與離線功能 適合離線使用,無需網路連線即可運作。 需要網路連線才能與遠端伺服器通訊。
資料隱私權 在本機處理及儲存裝置上的私密資料。 資料會傳輸至雲端,因此您必須信任供應商的安全措施。
曝光度和觸及率 直接整合 OS (AppFunctions) 可讓智慧助理探索功能。 通常僅限於應用程式的內部 UI 或特定 API 整合。
模型功能 適合低延遲和特定、較不密集的任務。 功能強大的模型,可處理高複雜度和大量輸入內容。
費用注意事項 不直接收取使用費,而是利用現有裝置硬體。 通常包括依用量計費或持續訂閱費用。
裝置資源 使用本機儲存空間、RAM 和電池續航力。 對本機的影響極小,繁重的工作會卸載至伺服器。
微調 彈性有限,受限於本機硬體功能。 可進行大規模調整,並提供大量自訂內容,更具彈性。
跨平台一致性 實際支援情況視作業系統和硬體而定。 在任何可連上網路的平台,都能享有一致的體驗。

只要仔細考量用途需求和可用選項,就能找到最適合的 AI/機器學習解決方案,進而提升 Android 應用程式,為使用者提供智慧型個人化體驗。


AI/機器學習解決方案指南

這份解決方案指南可協助您找出合適的開發人員工具,將 AI/機器學習技術整合至 Android 專案。

AI 功能的主要目標為何?

  • A) 生成新內容 (文字、圖片說明),或執行簡單的文字處理作業 (摘要、校對或重寫文字)? → 前往「生成式 AI」
  • B) 分析現有資料/輸入內容以進行預測、分類、偵測、瞭解模式,或處理即時串流 (例如影片/音訊)?→ 前往「傳統機器學習與感知
  • C) 強化應用程式功能,與系統 AI 功能整合 (讓應用程式支援 AI)?→ 前往「讓 AI 存取您的應用程式

傳統機器學習和感知

您需要分析輸入內容、找出特徵,或根據所學模式進行預測,而不是產生全新的輸出內容。

您正在執行哪項特定工作?

  • A) 需要快速整合預先建構的常見行動裝置機器學習功能嗎? (例如條碼掃描、文字辨識 (OCR)、臉部偵測、圖像標籤、物件偵測和追蹤、語言 ID、基本智慧回覆)
    • → 使用:ML Kit (傳統 API)
    • 原因:最容易整合,適用於既有的行動裝置機器學習工作,通常會針對裝置端使用進行最佳化 (低延遲、離線、隱私權)。
  • B) 需要處理即時串流資料 (例如影片或音訊),以執行感知工作嗎?(例如手勢追蹤、姿勢評估、臉部網格、 影片中的即時物件偵測和區隔)
    • → 使用:MediaPipe
    • 原因:這個框架專為各種平台上的高效能即時感知管道而設計。
  • C) 需要在裝置上有效率地執行自行訓練的機器學習模型 (例如用於分類、迴歸、偵測),並優先考量效能和低資源用量?
    • → 使用:LiteRT (TensorFlow Lite 執行階段)
    • 原因:在行動裝置和邊緣裝置上有效率地部署自訂模型時,可獲得最佳化執行階段 (體積小、推論速度快、硬體加速)。
  • D) 需要訓練自己的自訂機器學習模型來執行特定工作嗎?
    • → 使用:LiteRT (TensorFlow Lite Runtime) + 自訂模型訓練
    • 原因:提供工具,可訓練及部署自訂模型,並針對行動裝置和邊緣裝置進行最佳化。
  • E) 需要進階內容分類、情緒分析,或多種語言的翻譯,且要能掌握細微差異?
    • 請考慮是否適用傳統機器學習模型 (可能使用 LiteRT 或雲端部署),或是進階 NLU 是否需要生成模型 (返回「開始」並選擇 A)。如要使用雲端分類、情緒或翻譯功能:
    • → 使用:雲端解決方案 (例如 Google Cloud Natural Language APIGoogle Cloud Translation API,可能透過自訂後端或 Vertex AI 存取)。(如果離線或隱私權是首要考量,則優先順序低於裝置端選項)。
    • 原因:雲端解決方案提供強大的模型和廣泛的語言支援,但需要連線,且可能產生費用。

生成式 AI

您需要建立新內容、摘要、重寫或執行複雜的理解或互動工作。

您是否需要 離線運作的 AI、需要盡可能保護資料隱私權 (將使用者資料保留在裝置端),或是想避免雲端推論費用?

  • A) 是,離線、最高隱私權或無雲端費用至關重要。
    • → 前往「裝置端生成式 AI」
  • B) 否,連線功能可用且可接受,雲端功能和擴充性更重要,或特定功能需要雲端。

裝置端生成式 AI (使用 Gemini Nano)

注意事項:需要相容的 Android 裝置,iOS 支援有限,模型效能不如雲端對應版本。

透過 ML Kit 的 Prompt API,您可以傳送僅含文字或文字和圖片的自然語言要求,用於各種用途,例如圖片理解、簡短翻譯和引導式摘要。如果這些權杖限制符合您的用途,ML Kit GenAI API 就是裝置端生成式 AI 的最佳選擇。ML Kit 也提供簡化的 API,可執行摘要和智慧回覆等常見工作。


雲端生成式 AI

使用更強大的模型、需要連線、通常會產生推論成本、適用於更多裝置,且更容易跨平台 (Android 和 iOS) 保持一致性。

您優先考量的是:在 Firebase 中輕鬆整合,還是盡可能提高彈性/控管能力?

  • A) 偏好更簡單的整合方式、受管理的 API 體驗,且可能已使用 Firebase?
  • B) 需要最大彈性、存取最多樣的模型 (包括第三方/自訂模型)、進階微調,且願意管理自己的後端整合 (較複雜)?
    • → 使用:Gemini API 搭配自訂 Cloud 後端 (使用 Google Cloud Platform)
    • 原因:提供最高的掌控度、最廣泛的模型存取權和自訂訓練選項,但需要投入大量後端開發工作。適合複雜、大規模或高度客製化的需求。

(您選擇 Firebase AI Logic SDK) 您需要哪種生成式工作和效能設定檔?

  • A) 需要兼顧效能和成本,適合用於一般文字生成、摘要或聊天應用程式,且重視速度?
  • B) 需要更高品質和能力,才能生成複雜文字、推論、進階 NLU 或遵循指令?
  • C) 需要根據文字提示生成精緻圖像,或是進階瞭解/操控圖像?

AppFunctions

您需要強化應用程式功能,與系統 AI 功能整合 (讓應用程式支援 AI)。

  • → Use: AppFunctions
  • 原因:啟用系統 AI 功能 (例如 Google 助理),探索及叫用應用程式功能。