本指南旨在協助您將 Google 的生成式人工智慧和機器學習 (AI/ML) 解決方案整合至應用程式。這份指南提供相關指引,協助您瞭解各種人工智慧和機器學習解決方案,並選擇最符合需求的方案。本文件的目標是著重於您的需求和用途,協助您判斷要使用哪種工具,以及使用原因。
為協助您根據特定需求選擇最合適的 AI/機器學習解決方案,這份文件包含解決方案指南。只要回答一系列有關專案目標和限制的問題,指南就會引導您使用最合適的工具和技術。
本指南可協助您為應用程式選擇最佳 AI 解決方案。請考量下列因素:資料類型 (文字、圖片、音訊、影片)、工作複雜度 (簡單摘要到需要專業知識的複雜工作),以及資料大小 (簡短輸入內容與大型文件)。這有助於您決定要在裝置上使用 Gemini Nano,還是 Firebase 的雲端 AI (Gemini Flash、Gemini Pro 或 Imagen)。
善用裝置端推論技術
在 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 Kit、MediaPipe、LiteRT 和 Google 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,即可快速在行動應用程式中加入已建立的 ML 功能,不必訓練模型或要求生成輸出內容。非常適合使用 Google 的最佳化模型或部署自訂 TensorFlow Lite 模型,有效提升應用程式的「智慧」功能。
如要開始使用,請前往 ML Kit 開發人員網站,參閱詳盡的指南和說明文件。
使用 LiteRT 部署自訂機器學習模型
如要進一步控制或部署自有機器學習模型,請使用以 LiteRT 和 Google Play 服務為基礎建構的自訂機器學習堆疊。這個堆疊提供部署高效能 ML 功能的必要條件。LiteRT 是一套最佳化工具包,可在資源受限的行動裝置、嵌入式裝置和邊緣裝置上有效執行 TensorFlow 模型,讓您執行更小、更快的模型,且耗用的記憶體、電量和儲存空間更少。LiteRT 執行階段已針對邊緣裝置上的各種硬體加速器 (GPU、DSP、NPU) 進行高度最佳化,可實現低延遲推論。
如果需要在運算能力或電池續航力有限的裝置上,有效部署已訓練的機器學習模型 (通常用於分類、迴歸或偵測),請選擇 LiteRT,例如智慧型手機、物聯網裝置或微控制器。這是部署自訂或標準預測模型的首選解決方案,適用於速度和資源節省至關重要的邊緣裝置。
進一步瞭解如何使用 LiteRT 部署 ML。
使用 MediaPipe 在應用程式中建構即時感知功能
MediaPipe 提供開放原始碼、跨平台且可自訂的機器學習解決方案,專為即時和串流媒體設計。您可運用預先建構的最佳化工具,輕鬆完成手部追蹤、姿勢估算、臉部網格偵測和物體偵測等複雜工作,即使在行動裝置上也能實現高效能的即時互動。
MediaPipe 的圖表式管道可高度自訂,讓您為 Android、iOS、網頁、電腦和後端應用程式量身打造解決方案。如果應用程式需要瞭解即時感應器資料 (尤其是影片串流) 並立即做出反應,請選擇 MediaPipe,適用於手勢辨識、AR 效果、健身追蹤或虛擬人偶控制等用途,這些用途都著重於分析及解讀輸入內容。
探索解決方案,並使用 MediaPipe 開始建構。
選擇方法:裝置端或雲端
將 AI/ML 功能整合至 Android 應用程式時,一開始就要做出重要決定:直接在使用者裝置上處理,還是透過雲端處理。ML Kit、Gemini Nano 和 TensorFlow Lite 等工具可啟用裝置端功能,而搭配 Firebase AI Logic 的 Gemini Cloud API 則可提供強大的雲端處理功能。做出正確選擇取決於多種因素,包括您的用途和使用者需求。
請考量下列事項,協助您做出決定:
- 連線和離線功能:如果應用程式需要離線運作,Gemini Nano 等裝置端解決方案就是理想選擇。雲端式處理作業本質上需要網路存取權。
- 資料隱私權:在使用者資料必須保留在裝置上以保護隱私權的用途中,裝置端處理功能可將敏感資訊保留在裝置上,因此具有明顯優勢。
- 模型功能和工作複雜度:雲端模型通常更大、更強大,且更新頻率更高,因此適合處理高度複雜的 AI 工作,或處理較大的輸入內容,這時輸出品質和廣泛功能至關重要。裝置端模型可能很適合處理較簡單的工作。
- 費用考量:雲端 API 通常是依用量計費,也就是說,費用會隨著推論次數或處理的資料量而有所不同。裝置端推論通常不會直接收取使用費,但會產生開發成本,並可能影響裝置資源,例如電池續航力和整體效能。
- 裝置資源:裝置端模型會佔用使用者裝置的儲存空間。此外,請務必瞭解特定裝置端模型 (例如 Gemini Nano) 的裝置相容性,確保目標對象可以使用這些功能。
- 微調和自訂:如果您需要微調模型,以符合特定用途,雲端解決方案通常會提供更大的彈性,以及更多自訂選項。
- 跨平台一致性:如果需要跨多個平台 (包括 iOS) 提供一致的 AI 功能,請注意,部分裝置端解決方案 (例如 Gemini Nano) 可能尚未支援所有作業系統。
只要仔細考量用途需求和可用選項,就能找到最合適的 AI/機器學習解決方案,提升 Android 應用程式的效能,為使用者提供智慧型個人化體驗。
AI/機器學習解決方案指南
這份解決方案指南可協助您找出合適的開發人員工具,將 AI/機器學習技術整合至 Android 專案。
AI 功能的主要目標為何?
- A) 生成新內容 (文字、圖片說明),或執行簡單的文字處理作業 (摘要、校對或重寫文字)? → 前往「生成式 AI」
- B) 分析現有資料/輸入內容,以進行預測、分類、偵測、瞭解模式或處理即時串流 (例如影片/音訊)?→ 前往「傳統機器學習與感知」
傳統機器學習和感知
您需要分析輸入內容、找出特徵,或根據所學模式進行預測,而不是產生全新的輸出內容。
您正在執行什麼特定工作?
- A) 需要快速整合預先建構的常見行動裝置 ML 功能嗎?
(例如條碼掃描、文字辨識 (OCR)、臉部偵測、圖像標籤、物件偵測和追蹤、語言 ID、基本智慧回覆)
- → 使用:ML Kit (傳統 API)
- 原因:最容易整合,適用於既有的行動裝置機器學習工作,通常會針對裝置端使用進行最佳化 (低延遲、離線、隱私權)。
- B) 需要處理即時串流資料 (例如影片或音訊),以執行感知工作嗎?(例如手部追蹤、姿勢評估、臉部網格、
影片中的即時物件偵測和區隔)
- → 使用:MediaPipe
- 原因:這個架構專為各種平台上的高效能即時感知管道而設計。
- C) 需要在裝置上有效率地執行自行訓練的機器學習模型 (例如用於分類、迴歸、偵測),並優先考量效能和低資源用量嗎?
- → 使用:LiteRT (TensorFlow Lite 執行階段)
- 原因:在行動裝置和邊緣裝置上有效率地部署自訂模型,並提供最佳化執行階段 (體積小、推論速度快、硬體加速)。
- D) 需要訓練自己的自訂機器學習模型來執行特定工作嗎?
- → 使用:LiteRT (TensorFlow Lite Runtime) + 自訂模型訓練
- 原因:提供工具,可訓練及部署自訂模型,並針對行動裝置和邊緣裝置進行最佳化。
- E) 需要進階內容分類、情緒分析,或多種語言的翻譯,且要能掌握細微差異?
- 請考慮是否適用傳統機器學習模型 (可能使用 LiteRT 或雲端部署),或是進階 NLU 是否需要生成模型 (返回「開始」並選擇 A)。如要使用雲端分類、情緒或翻譯功能:
- → 使用:雲端解決方案 (例如 Google Cloud Natural Language API、Google Cloud Translation API,可能透過自訂後端或 Vertex AI 存取。(如果離線或隱私權是首要考量,則優先順序低於裝置端選項)。
- 原因:雲端解決方案提供強大的模型和廣泛的語言支援,但需要連線,且可能產生費用。
生成式 AI
您需要建立新內容、摘要、重寫,或執行複雜的理解或互動工作。
您是否需要 AI 離線運作、需要盡可能保護資料隱私權 (將使用者資料保留在裝置上),或是想避免雲端推論成本?
- A) 是,離線、最高隱私權或無雲端費用至關重要。
- B) 否,連線功能可用且可接受,雲端功能和擴充性更重要,或特定功能需要雲端。
- → 前往 Cloud 生成式 AI
裝置端生成式 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?
- → 使用:Firebase AI Logic SDK → 前往 Firebase AI Logic
- B) 需要最大彈性、存取最廣泛的模型 (包括第三方/自訂模型)、進階微調,且願意管理自己的後端整合 (較複雜)?
- → 使用:Gemini API 搭配自訂 Cloud 後端 (使用 Google Cloud Platform)
- 原因:提供最高的掌控度、最廣泛的模型存取權和自訂訓練選項,但需要投入大量後端開發工作。適合複雜、大規模或高度自訂的需求。
(您選擇 Firebase AI Logic SDK) 您需要哪種生成式工作和效能設定檔?
- A) 需要兼顧效能和成本,適合一般文字生成、摘要或聊天應用程式,且重視速度?
- → 使用:Firebase AI Logic SDK 和 Gemini Flash
- 原因:在 Vertex AI 管理環境中,可提高速度和效率。
- B) 需要更高品質和能力,才能生成複雜文字、推論、執行進階 NLU 或遵循指令?
- → 使用:Firebase AI Logic SDK 和 Gemini Pro
- 原因:透過 Firebase 存取功能更強大的文字模型,以執行高難度工作。
- C) 需要根據文字提示生成精緻的圖像,或是進階瞭解/操控圖像嗎?
- → 使用:Firebase AI Logic SDK 搭配 Imagen 3
- 原因:透過受管理的 Firebase 環境存取最先進的圖片生成模型。