アプリに適した AI/ML ソリューションを見つける

このガイドは、Google の生成 AI および ML(AI/ML)ソリューションをアプリケーションに統合するのに役立つように設計されています。利用可能なさまざまな AI / ML ソリューションを理解し、ニーズに最適なソリューションを選択するのに役立つガイダンスを提供します。このドキュメントの目的は、ニーズとユースケースに焦点を当てて、どのツールを使用すべきか、またその理由を判断できるようにすることです。

特定の要件に最適な AI/ML ソリューションを選択できるように、このドキュメントにはソリューション ガイドが含まれています。プロジェクトの目標と制約に関する一連の質問に答えることで、最も適切なツールとテクノロジーがガイドに表示されます。

このガイドは、アプリに最適な AI ソリューションを選択する際に役立ちます。データの種類(テキスト、画像、音声、動画)、タスクの複雑さ(単純な要約から専門知識を必要とする複雑なタスクまで)、データサイズ(短い入力と大きなドキュメント)などの要素を考慮してください。これにより、デバイスで Gemini Nano を使用するか、Firebase のクラウドベースの AI(Gemini Flash または Gemini Pro)を使用するかを判断できます。

生成 AI ユースケースの意思決定フローチャート。基準には、モダリティ(テキスト、画像と音声、動画、画像生成)、複雑さ(要約、書き換えとドメイン知識)、コンテキスト ウィンドウ(短い入力/出力と広範なドキュメント/メディア)などがあり、オンデバイス生成 AI(Gemini Nano)または Firebase AI Logic(Gemini Flash、Pro)のいずれかに分類されます。
図 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 タスクでは、独自のカスタムモデルを柔軟に実装できます。Google は、開発プロセスを効率化するために、ML KitMediaPipeLiteRTGoogle Play の配信機能などの強力なツールを提供しています。

高度に特殊なソリューションが必要なアプリケーションには、Gemma などの独自のカスタムモデルや、特定のユースケースに合わせて調整された別のモデルを使用できます。LiteRT を使用してユーザーのデバイスでモデルを直接実行します。LiteRT は、最適化されたパフォーマンスを実現するために事前に設計されたモデル アーキテクチャを提供します。

オンデバイス モデルとクラウドモデルの両方を活用して、ハイブリッド ソリューションを構築することも検討できます。

モバイルアプリは通常、チャットの会話やブログ記事などの小さなテキストデータにローカルモデルを使用します。ただし、大規模なデータソース(PDF など)の場合や、追加の知識が必要な場合は、より強力な Gemini モデルを備えたクラウドベースのソリューションが必要になることがあります。

高度な Gemini モデルを統合する

Android デベロッパーは、Firebase AI Logic SDK を使用して、強力な Gemini Pro モデルや Gemini Flash モデルなどの Google の高度な生成 AI 機能をアプリケーションに統合できます。この SDK は、大規模なデータニーズに対応するように設計されており、これらの高性能なマルチモーダル AI モデルへのアクセスを可能にすることで、拡張された機能と適応性を提供します。

Firebase AI Logic SDK を使用すると、デベロッパーは最小限の労力で Google の AI モデルにクライアントサイド呼び出しを行うことができます。Gemini Pro や Gemini Flash などのモデルは、クラウドで推論を実行し、Android アプリが画像、音声、動画、テキストなど、さまざまな入力を処理できるようにします。Gemini Pro は複雑な問題の推論や広範なデータの分析に優れており、Gemini Flash シリーズは優れたスピードと、ほとんどのタスクに十分な大きさのコンテキスト ウィンドウを備えています。

従来の ML を使用するタイミング

生成 AI は、テキスト、画像、コードなどのコンテンツの作成や編集に役立ちますが、現実世界の多くの問題は、従来の機械学習(ML)手法を使用して解決する方が適しています。これらの確立された方法は、予測、分類、検出、既存のデータ内のパターンの理解などのタスクに優れており、多くの場合、生成モデルよりも効率が高く、計算コストが低く、実装が簡単です。

従来の ML フレームワークは、完全に新しい出力を生成するのではなく、入力の分析、特徴の特定、学習したパターンに基づく予測に重点を置いたアプリケーションに対して、堅牢で最適化された、より実用的なソリューションを提供します。Google の ML Kit、LiteRT、MediaPipe などのツールは、特にモバイルやエッジ コンピューティング環境において、これらの非生成ユースケースに合わせて調整された強力な機能を提供します。

ML Kit で機械学習の統合を始めましょう

ML Kit は、一般的な ML タスク向けに、すぐに使用可能なモバイル向け最適化ソリューションを提供します。ML の専門知識は必要ありません。この使いやすいモバイル SDK を使用すると、Google の ML の専門知識を Android アプリや iOS アプリに直接取り込むことができるため、モデルのトレーニングや最適化ではなく、機能開発に集中できます。ML Kit には、バーコード スキャン、テキスト認識(OCR)、顔検出、画像ラベル付け、オブジェクトの検出とトラッキング、言語識別、スマート リプライなどの機能に、事前構築済みの API とすぐに使用できるモデルが用意されています。

これらのモデルは通常、オンデバイス実行用に最適化されており、低レイテンシ、オフライン機能、ユーザー プライバシーの強化が保証されます。データは多くの場合、デバイスに残ります。ML Kit を選択すると、モデルのトレーニングや生成出力の必要なしに、確立された ML 機能をモバイルアプリにすばやく追加できます。Google の最適化されたモデルを使用したり、カスタム TensorFlow Lite モデルをデプロイしたりして、アプリを「スマート」機能で効率的に強化する場合に最適です。

ML Kit デベロッパー サイトで、包括的なガイドとドキュメントをご覧ください。

LiteRT を使用したカスタム ML のデプロイ

より詳細な制御を行う場合や、独自の ML モデルをデプロイする場合は、LiteRT と Google Play 開発者サービス上に構築されたカスタム ML スタックを使用します。このスタックは、高性能 ML 機能をデプロイするために必要な機能を提供します。LiteRT は、リソースが制約されたモバイル デバイス、組み込みデバイス、エッジ デバイスで TensorFlow モデルを効率的に実行するために最適化されたツールキットです。これにより、メモリ、電力、ストレージの使用量が少ない、大幅に小型で高速なモデルを実行できます。LiteRT ランタイムは、エッジ デバイス上のさまざまなハードウェア アクセラレータ(GPU、DSP、NPU)向けに高度に最適化されており、低レイテンシの推論を実現します。

LiteRT は、スマートフォン、IoT デバイス、マイクロコントローラなど、コンピューティング能力やバッテリー駆動時間が限られているデバイスに、トレーニング済みの ML モデル(通常は分類、回帰、検出用)を効率的にデプロイする必要がある場合に選択します。速度とリソースの節約が最優先されるエッジで、カスタム予測モデルまたは標準予測モデルをデプロイする場合に推奨されるソリューションです。

詳しくは、LiteRT を使用した ML のデプロイをご覧ください。

MediaPipe を使用してアプリにリアルタイム認識機能を組み込む

MediaPipe は、ライブ メディアとストリーミング メディア向けに設計された、オープンソースのクロスプラットフォームでカスタマイズ可能な ML ソリューションを提供します。ハンド トラッキング、ポーズ推定、フェイス メッシュ検出、オブジェクト検出などの複雑なタスク用に最適化された事前構築済みのツールを活用して、モバイル デバイスでも高性能なリアルタイム インタラクションを実現できます。

MediaPipe のグラフベースのパイプラインは高度にカスタマイズ可能で、Android、iOS、ウェブ、パソコン、バックエンド アプリケーション向けにソリューションを調整できます。ジェスチャー認識、AR エフェクト、フィットネス トラッキング、アバター制御などのユースケースで、入力の分析と解釈に重点を置いたアプリで、ライブ センサーデータ(特に動画ストリーム)を即座に理解して反応する必要がある場合は、MediaPipe を選択します。

ソリューションを調べて、MediaPipe で構築を開始しましょう。

アプリをデバイス アシスタントと統合する

従来の AI 統合では「アプリに AI を組み込む」ことに重点が置かれていますが、「アプリを AI に組み込む」こともできます。アプリの機能をシステム AI 機能に提供することで、システムレベルのアシスタント(Gemini など)がアプリの機能をエージェント的に検出して呼び出すことができるようになります。AppFunctions は、この統合を実現するための主な方法であり、アプリがより広範な Android AI エコシステムに参加できるようにします。

アプローチを選択する

Android アプリを改善するために AI を組み込む場合は、デバイス上で処理を実行する、クラウドベースのモデルを活用する、アプリの機能をシステムレベルの AI に追加するという 3 つの主なアプローチを検討する必要があります。ML Kit、Gemini Nano、LiteRT などのツールはオンデバイス機能を有効にし、Firebase AI Logic を搭載した Gemini クラウド API は強力なクラウドベースの処理を提供します。AppFunctions は 3 つ目のパスを表します。このパスでは、アプリの機能をエージェントとしてシステムで利用できるようにすることで、「アプリを AI に組み込む」ことができます。

アプローチを選択する際は、次の要素を考慮してください。

要素 オンデバイス ソリューション クラウド ソリューション
接続性とオフライン機能 オフラインでの使用に最適。ネットワーク接続なしで機能します。 リモート サーバーと通信するためのネットワーク接続が必要です。
データのプライバシー センシティブ データをデバイス上でローカルに処理して保存します。 データがクラウドに送信されるため、プロバイダのセキュリティに対する信頼が必要です。
見つけやすさとリーチ OS との直接統合(AppFunctions)により、アシスタントは機能を検出できます。 通常、検出はアプリの内部 UI または特定の API 統合に限定されます。
モデルの機能 低レイテンシと特定の負荷の少ないタスク向けに最適化されています。 複雑な処理や大量の入力を処理できる強力なモデル。
費用に関する考慮事項 使用ごとの直接的な料金は発生しません。既存のデバイス ハードウェアを利用します。 通常、使用量ベースの料金または継続的なサブスクリプション費用が発生します。
デバイス リソース ローカル ストレージ、RAM、バッテリー寿命を利用します。 ローカルへの影響は最小限で、重い処理はサーバーにオフロードされます。
ファインチューニング 柔軟性が制限され、ローカル ハードウェアの機能によって制約されます。 広範なカスタマイズと大規模なチューニングの柔軟性が向上します。
クロス プラットフォームの整合性 利用できるかどうかは、OS とハードウェアのサポートによって異なる場合があります。 インターネットにアクセスできるあらゆるプラットフォームで一貫したエクスペリエンスを実現します。

ユースケースの要件と利用可能なオプションを慎重に検討することで、Android アプリを強化し、インテリジェントでパーソナライズされたエクスペリエンスをユーザーに提供するのに最適な AI/ML ソリューションを見つけることができます。


AI/ML ソリューションのガイド

このソリューション ガイドは、Android プロジェクトに AI/ML テクノロジーを統合するための適切なデベロッパー ツールを特定するのに役立ちます。

AI 機能の主な目的は何ですか?

  • A)新しいコンテンツ(テキスト、画像の説明)を生成する、または簡単なテキスト処理(テキストの要約、校正、書き換え)を行う場合生成 AI に移動
  • B)予測、分類、検出、パターンの理解、リアルタイム ストリーム(動画や音声など)の処理のために既存のデータや入力を分析しますか?従来の ML と認識に移動
  • C)システム AI 機能と統合するためにアプリの機能を強化する(アプリを AI に組み込む)?AI にアプリを組み込むに移動

従来の ML と認識

完全に新しい出力を生成するのではなく、入力を分析し、特徴を特定するか、学習したパターンに基づいて予測を行う必要があります。

どのような具体的なタスクを実行していますか?

  • A)事前構築済みの一般的なモバイル ML 機能をすばやく統合する必要があるか? (バーコード スキャン、テキスト認識(OCR)、顔検出、画像ラベル付け、オブジェクト検出とトラッキング、言語 ID、基本的なスマート リプライなど)
    • → 使用: ML Kit(従来の API)
    • 理由: 確立されたモバイル ML タスクを最も簡単に統合できます。多くの場合、デバイス上での使用(低レイテンシ、オフライン、プライバシー)向けに最適化されています。
  • B)認識タスクのためにリアルタイムのストリーミング データ(動画や音声など)を処理する必要がありますか?(ハンド トラッキング、ポーズ推定、フェイス メッシュ、動画内のリアルタイム オブジェクト検出とセグメンテーションなど)。
    • → 使用: MediaPipe
    • 理由: さまざまなプラットフォームで高パフォーマンスのリアルタイム認識パイプラインに特化したフレームワーク。
  • C)パフォーマンスとリソース使用量の削減を優先して、デバイス上で独自のカスタム トレーニング済み ML モデル(分類、回帰、検出など)を効率的に実行する必要がある。
    • → 使用: LiteRT(TensorFlow Lite ランタイム)
    • 理由: モバイル デバイスやエッジデバイスにカスタムモデルを効率的にデプロイするための最適化されたランタイム(サイズが小さく、推論が高速で、ハードウェア アクセラレーション)。
  • D)特定のタスク用に独自のカスタム ML モデルをトレーニングする必要がありますか?
    • → 使用: LiteRT(TensorFlow Lite ランタイム)+ カスタム モデル トレーニング
    • 理由: モバイル デバイスとエッジデバイス向けに最適化されたカスタムモデルをトレーニングしてデプロイするためのツールを提供します。
  • E)高度なコンテンツ分類、感情分析、ニュアンスの強い多くの言語の翻訳が必要ですか?
    • 従来の ML モデル(LiteRT またはクラウドを使用してデプロイされる可能性あり)が適しているかどうか、または高度な NLU に生成モデルが必要かどうかを検討します(スタートに戻り、A を選択します)。クラウドベースの分類、感情分析、翻訳の場合:
    • → 使用: クラウドベースのソリューション( Google Cloud Natural Language APIGoogle Cloud Translation API など。カスタム バックエンドまたは Gemini Enterprise Agent Platform を使用してアクセスされる可能性があります)。(オフラインやプライバシーが重要な場合は、デバイス上のオプションよりも優先度が低くなります)。
    • 理由: クラウド ソリューションは強力なモデルと幅広い言語サポートを提供しますが、接続が必要で、費用が発生する可能性があります。

生成 AI

新しいコンテンツの作成、要約、書き換え、複雑な理解やインタラクションのタスクの実行が必要な場合。

AI をオフラインで機能させる必要があるか、データ プライバシーを最大限に確保する必要があるか(ユーザーデータをデバイス上に保持)、クラウド推論の費用を回避したいか?

  • A)はい。オフライン、最大限のプライバシー、クラウド費用なしが重要です。
  • B)いいえ。接続は利用可能で許容範囲内である、クラウドの機能とスケーラビリティがより重要である、特定の機能でクラウドが必要である。

オンデバイスの生成 AI(Gemini Nano を使用)

注意: 対応する Android デバイスが必要、iOS のサポートは限定的、モデルの性能はクラウド版よりも低い。

ML Kit のプロンプト API を使用すると、テキストのみの入力またはテキストと画像の入力で自然言語リクエストを送信して、画像理解、短い翻訳、ガイド付き要約など、さまざまなユースケースに対応できます。ユースケースがこれらのトークン上限を満たしている場合は、ML Kit GenAI API がオンデバイスの生成 AI に最適なオプションです。ML Kit には、要約やスマート リプライなどの一般的なタスク用の効率化された API も用意されています。

  • → 使用: ML Kit GenAI API(Gemini Nano を搭載)
  • 理由: 自然言語プロンプトを使用してオンデバイスで生成 AI タスクを統合する最も簡単な方法であり、オンデバイス ソリューションの優先度が最も高い。

クラウド生成 AI

より強力なモデルを使用し、接続が必要で、通常は推論コストが発生し、デバイスのリーチが広がり、クロス プラットフォーム(Android と iOS)の整合性が容易になります。

Firebase 内での統合の容易さと、最大限の柔軟性/制御のどちらを優先しますか?

  • A)統合の容易さ、マネージド API エクスペリエンスを重視し、すでに Firebase を使用している可能性が高い場合
  • B)最大限の柔軟性、幅広いモデル(サードパーティ/カスタムを含む)へのアクセス、高度なファインチューニングが必要で、独自のバックエンド統合(より複雑)を管理する意欲がある。
    • → 使用: カスタム クラウド バックエンド(Google Cloud Platform を使用)での Gemini API
    • 理由: 最も高いレベルの制御、最も幅広いモデル アクセス、カスタム トレーニング オプションを提供しますが、バックエンドの開発に多大な労力を要します。複雑で大規模なニーズや、高度にカスタマイズされたニーズに適しています。

Firebase AI Logic SDK を選択した場合)どのような生成タスクとパフォーマンス プロファイルが必要ですか?

  • A)パフォーマンスとコストのバランスが取れており、速度が重要な一般的なテキスト生成、要約、チャット アプリケーションに適している必要がありますか?
  • B)複雑なテキスト生成、推論、高度な NLU、指示の実行に、より高い品質と機能が必要ですか?

AppFunctions

システム AI 機能と統合するために、アプリの機能を強化する必要があります(アプリを AI に組み込む)。

  • → 使用: AppFunctions
  • 理由: アシスタントなどのシステム AI 機能がアプリの機能を検出して呼び出せるようにするためです。