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

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

為協助您根據特定需求選取最合適的 AI/ML 解決方案,本文件提供解決方案指南。您只要回答一系列有關專案目標和限制的問題,指南就會引導您使用最合適的工具和技術。

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

生成式 AI 用途的決策流程圖。評估標準包括模式 (文字、圖片與音訊、影片、圖片生成)、複雜度 (摘要、重寫與領域知識) 和內容視窗 (短輸入/輸出與大量文件/媒體),可用於裝置端 GenAI (Gemini Nano) 或 Firebase AI 邏輯 (Gemini Flash、Pro、Imagen)。
圖 1:這張插圖呈現高層級的解決方案指南,可協助您為 Android 應用程式找到合適的 AI/ML 解決方案。如需 AI 和機器學習選項的詳細說明,請參閱本文後續的解決方案指南

善用裝置端推論的力量

在 Android 應用程式中加入 AI 和 ML 功能時,您可以選擇在裝置上或使用雲端,以不同方式提供這些功能。

Gemini Nano 等裝置端解決方案可在本機處理輸入資料,因此無需額外付費就能提供結果,並提供更完善的使用者隱私權和可靠的離線功能。這些優點對於某些用途 (例如訊息摘要) 來說至關重要,因此在選擇合適的解決方案時,請優先考量裝置端。

Gemini Nano 可讓您直接在 Android 裝置上執行推論。如果您要處理文字或圖片,請先使用 ML Kit 的 GenAI API,取得現成解決方案。ML Kit GenAI API 採用 Gemini Nano 技術,並針對特定裝置端工作進行精密調整。由於 ML Kit GenAI API 具有更高層級的介面和可擴充性,因此是應用程式正式版的理想選擇。這些 API 可讓您實作用途,以便摘要、校對重寫文字,以及產生圖片說明

如要超越 ML Kit GenAI API 提供的基本用途,請考慮使用 Gemini Nano 實驗功能。透過 Gemini Nano 實驗功能,您可以更直接地使用 Gemini Nano 自訂提示。

對於傳統機器學習工作,您可以靈活導入自訂模型。我們提供強大的工具,例如 ML KitMediaPipeLiteRTGoogle Play 發布功能,協助您簡化開發程序。

如果應用程式需要專門的解決方案,您可以使用自訂模型,例如 Gemma 或其他專門針對特定用途設計的模型。使用 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 提供可正式發布的行動裝置最佳化解決方案,可用於常見的機器學習工作,而且無須具備機器學習專業知識。這個簡單易用的行動 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) 進行高度最佳化,可實現低延遲推論。

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

進一步瞭解如何使用 LiteRT 部署機器學習模型

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

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

MediaPipe 的圖表式管道可高度自訂,讓您為 Android、iOS、網頁、電腦和後端應用程式量身打造解決方案。如果應用程式需要瞭解並即時回應即時感應器資料 (尤其是影像串流),請選擇 MediaPipe。這類用途包括手勢辨識、擴增實境效果、健身追蹤或自訂圖示控制,這些用途都著重於分析及解讀輸入內容。

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

選擇方法:裝置端或雲端

將 AI/ML 功能整合至 Android 應用程式時,您必須在初期做出重要的決定,也就是要直接在使用者的裝置上或雲端執行處理作業。機器學習套件、Gemini Nano 和 TensorFlow Lite 等工具可啟用裝置端功能,而搭配 Firebase AI Logic 的 Gemini 雲端 API 則可提供強大的雲端處理功能。您必須根據自己的使用情境和使用者需求等各種因素,選擇合適的做法。

請考量下列事項後再做決定:

  • 連線和離線功能:如果應用程式需要在沒有網際網路連線的情況下可靠運作,Gemini Nano 等裝置端解決方案就是理想的選擇。雲端式處理作業本質上需要網路存取權。
  • 資料隱私權:如果使用者資料基於隱私權考量必須保留在裝置上,在裝置上處理資料可保留機密資訊在本機,因此具有明顯優勢。
  • 模型功能和工作複雜度:雲端模型通常體積龐大、功能強大且更新頻繁,因此適合用於處理複雜的 AI 工作,或是處理較大輸入內容時,需要更高輸出品質和更多功能的情況。裝置端模型可能會妥善處理較簡單的工作。
  • 費用考量:雲端 API 通常是依據使用量計費,也就是說,費用會隨著推論次數或處理的資料量而調整。裝置端推論雖然通常不需支付每次使用費用,但會產生開發成本,且可能會影響裝置資源,例如電池續航力和整體效能。
  • 裝置資源:裝置端模型會消耗使用者裝置上的儲存空間。您也必須瞭解特定裝置端模型 (例如 Gemini Nano) 的裝置相容性,確保目標對象可以使用這些功能。
  • 微調和自訂:如果您需要針對特定用途微調模型,雲端式解決方案通常可提供更大的彈性和更多自訂選項。
  • 跨平台一致性:如果您認為在多個平台 (包括 iOS) 上提供一致的 AI 功能非常重要,請注意,某些裝置端解決方案 (例如 Gemini Nano) 可能尚未在所有作業系統上推出。

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


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

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

AI 功能的主要目標為何?

  • A) 產生新內容 (文字、圖片說明),或執行簡單的文字處理作業 (摘要、校對或重寫文字)?→ 前往「生成式 AI
  • B) 分析現有資料/輸入內容,以便預測、分類、偵測、瞭解模式或處理即時串流 (例如影片/音訊)?→ 前往「傳統機器學習與感知

傳統機器學習和感知

您需要分析輸入內容、找出特徵,或根據學習到的模式做出預測,而非產生全新的輸出內容。

你正在執行哪項具體工作?

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

生成式 AI

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

您是否需要 AI 在離線情況下運作、需要最大程度的資料隱私權 (將使用者資料保留在裝置上),或是想避免雲端推論成本?

  • 答:是,離線、最高隱私權或無雲端費用是關鍵。
  • B) 否:連線功能可用且可接受,雲端功能和可擴充性更重要,或特定功能需要雲端。

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

注意事項:需要相容的 Android 裝置、支援的 iOS 裝置有限、特定權杖限制 (1024 個提示訊息、4096 個內容),模型的功能不如雲端版本。

您的用途是否「專門」與 ML Kit GenAI API 提供的簡化工作相符?(摘要文字、校對文字、重寫文字、產生圖片說明) 以及符號限制是否足夠?

  • A) 是
    • → 使用:ML Kit GenAI API (由 Gemini Nano 提供支援)
    • 原因:這是在裝置上整合特定常見生成作業的最簡單方法,也是優先採用的裝置解決方案。
  • B) 否 (您需要更靈活的提示或任務 (超出特定 ML Kit GenAI API 的範圍),但仍希望在 Nano 的功能範圍內執行裝置端作業):
    • → 用途:Gemini Nano 實驗性存取權
    • 原因:在裝置上提供開放式提示功能,適用於結構化 ML Kit GenAI API 以外的用途,並遵守 Nano 的限制。

雲端生成式 AI

使用功能更強大的模型,需要連線,通常會產生推論成本,可觸及更多裝置,並提供更簡單的跨平台 (Android 和 iOS) 一致性。

您最重視的是 Firebase 中的整合便利性,還是彈性/控制性?

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

(您選擇了 Firebase AI Logic SDK) 您需要哪種類型的生成作業和效能設定檔?

  • A) 需要兼顧效能和成本,適合用於一般文字產生、摘要或速度至關重要的即時通訊應用程式?
  • B) 需要更高品質和功能,以便生成複雜文字、推理、進階 NLU 或遵循指示?
  • C) 是否需要根據文字提示進行複雜的圖像生成、進階圖像理解或圖像處理?