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

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

特定の要件に最適な AI/ML ソリューションを選択できるように、 ソリューション ガイドを用意しています。プロジェクトの目標と制約に関する一連の質問に答えることで、最適なツールとテクノロジーを見つけることができます。

このガイドでは、アプリに最適な 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 タスクでは、独自のカスタムモデルを柔軟に実装できます。ML KitMediaPipeLiteRTGoogle Play の配信機能などの堅牢なツールを提供し、開発プロセスを効率化します。

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

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

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

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

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

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

従来の機械学習を使用する場合

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

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

ML Kit を使用して ML の統合を開始する

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

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

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

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

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

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

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

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

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

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

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

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

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

アプローチを選択する

AI を組み込んで Android アプリを改善する場合は、デバイス上で処理を実行する、クラウドベースのモデルを活用する、アプリの機能をシステムレベルの 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カスタム バックエンドまたは Vertex AIを使用してアクセスできる可能性あり)。(オフラインまたはプライバシーが重要な場合は、オンデバイス オプションよりも優先度が低くなります)。
    • 理由: クラウド ソリューションは 強力なモデルと幅広い言語サポートを提供しますが、接続が必要で 、費用が発生する可能性があります。

生成 AI

新しいコンテンツの作成、要約、書き換え、または複雑な理解やインタラクションのタスクを実行する必要があります。

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

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

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

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

ML Kit の Prompt 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、指示の遵守に、より高い品質と機能が必要である。
  • C)テキスト プロンプトに基づいて、高度な 画像生成 、高度な画像理解、操作が必要である。

AppFunctions

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

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