このガイドは、Google の生成 AI と ML(AI/ML)ソリューションをアプリケーションに統合する際に役立つように設計されています。利用可能なさまざまな AI と ML ソリューションをナビゲートし、ニーズに最適なものを選択するためのガイダンスを提供します。このドキュメントの目的は、ニーズとユースケースに焦点を当てて、使用するツールとその理由を判断できるようにすることです。
特定の要件に最適な AI/ML ソリューションを選択できるように、このドキュメントにはソリューション ガイドが含まれています。プロジェクトの目標と制約に関する一連の質問に回答すると、最も適切なツールとテクノロジーが提示されます。
このガイドは、アプリに最適な 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 タスクでは、独自のカスタムモデルを柔軟に実装できます。Google は、ML Kit、MediaPipe、LiteRT、Google 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 シリーズは優れた速度と、ほとんどのタスクに十分な大きさのコンテキスト ウィンドウを提供します。
従来の ML を使用する場合
生成 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 Kit を選択すると、モデルをトレーニングしたり、生成出力を必要としたりすることなく、確立された ML 機能をモバイルアプリにすばやく追加できます。Google の最適化済みモデルを使用するか、カスタム TensorFlow Lite モデルをデプロイして、アプリに「スマート」機能を効率的に追加するのに適しています。
ML Kit デベロッパー サイトで、包括的なガイドとドキュメントをご覧ください。
LiteRT を使用したカスタム ML デプロイ
より細かい制御や独自の ML モデルのデプロイを行うには、LiteRT と Google Play サービス上に構築されたカスタム ML スタックを使用します。このスタックには、高性能 ML 機能をデプロイするための基本機能が含まれています。LiteRT は、リソースに制約のあるモバイル デバイス、組み込みデバイス、エッジデバイスで TensorFlow モデルを効率的に実行するように最適化されたツールキットです。これにより、メモリ、電力、ストレージの消費量を抑えながら、大幅に小型で高速なモデルを実行できます。LiteRT ランタイムは、エッジデバイス上のさまざまなハードウェア アクセラレータ(GPU、DSP、NPU)向けに高度に最適化されており、低レイテンシの推論を可能にします。
トレーニング済みの ML モデル(通常は分類、回帰、検出用)を、コンピューティング能力やバッテリー駆動時間が限られているデバイス(スマートフォン、IoT デバイス、マイクロコントローラなど)に効率的にデプロイする必要がある場合は、LiteRT を選択します。これは、速度とリソースの節約が最優先されるエッジにカスタムまたは標準の予測モデルをデプロイする場合に推奨されるソリューションです。
詳しくは、LiteRT を使用した ML のデプロイをご覧ください。
MediaPipe を使用してアプリにリアルタイム認識を組み込む
MediaPipe は、ライブ メディアとストリーミング メディア向けに設計された、オープンソースのクロスプラットフォームでカスタマイズ可能な ML ソリューションを提供します。手のトラッキング、ポーズ推定、顔メッシュ検出、オブジェクト検出などの複雑なタスク向けに最適化された、事前構築済みのツールを利用できます。これにより、モバイル デバイスでも高パフォーマンスのリアルタイム インタラクションを実現できます。
MediaPipe のグラフベースのパイプラインは高度にカスタマイズ可能で、Android、iOS、ウェブ、デスクトップ、バックエンド アプリケーションに合わせてソリューションを調整できます。アプリケーションでライブ センサーデータ(特に動画ストリーミング)を理解し、即座に反応する必要がある場合は、MediaPipe を選択します。これは、入力の分析と解釈に重点を置いた、ジェスチャー認識、AR 効果、フィットネス トラッキング、アバター制御などのユースケースに適しています。
ソリューションを確認し、MediaPipe で構築を開始しましょう。
アプローチを選択する: オンデバイスまたはクラウド
AI/ML 機能を Android アプリに統合する場合、処理をユーザーのデバイスで直接行うのか、クラウドで行うのかを早い段階で決定することが重要です。ML Kit、Gemini Nano、TensorFlow Lite などのツールはオンデバイス機能を有効にしますが、Firebase AI Logic を備えた Gemini Cloud API は、強力なクラウドベースの処理を提供できます。適切な選択は、ユースケースとユーザーのニーズに固有のさまざまな要因によって異なります。
次の点を考慮して判断してください。
- 接続とオフライン機能: インターネット接続がなくてもアプリケーションを安定して機能させる必要がある場合は、Gemini Nano などのデバイス上のソリューションが理想的です。クラウドベースの処理では、その性質上、ネットワーク アクセスが必要です。
- データ プライバシー: プライバシー上の理由からユーザーデータをデバイスに保持する必要があるユースケースでは、機密情報をローカルに保持できるオンデバイス処理が大きなメリットとなります。
- モデルの機能とタスクの複雑さ: クラウドベースのモデルは、多くの場合、大幅に大きく、より強力で、より頻繁に更新されるため、高度に複雑な AI タスクや、出力の品質と幅広い機能を重視する大規模な入力を処理する場合に適しています。シンプルなタスクは、オンデバイス モデルで適切に処理できます。
- 費用に関する考慮事項: Cloud APIs は通常、使用量ベースの料金が適用されます。つまり、推論の数や処理されるデータの量に応じて費用が増加する可能性があります。オンデバイス推論は、通常は使用ごとの直接的な料金は発生しませんが、開発コストがかかり、バッテリー駆動時間や全体的なパフォーマンスなどのデバイス リソースに影響する可能性があります。
- デバイス リソース: オンデバイス モデルは、ユーザーのデバイスのストレージ容量を使用します。また、Gemini Nano などの特定のオンデバイス モデルのデバイス互換性にも注意し、ターゲット ユーザーが機能を使用できるようにする必要があります。
- ファインチューニングとカスタマイズ: 特定のユースケースに合わせてモデルをファインチューニングする必要がある場合、クラウドベースのソリューションは通常、より柔軟で、カスタマイズのオプションが豊富です。
- クロス プラットフォームの整合性: iOS を含む複数のプラットフォームで AI 機能の整合性が重要である場合は、Gemini Nano などの一部のオンデバイス ソリューションが、すべてのオペレーティング システムでまだ利用できない可能性があることに注意してください。
ユースケースの要件と利用可能なオプションを慎重に検討することで、Android アプリを強化し、ユーザーにインテリジェントでパーソナライズされたエクスペリエンスを提供するのに最適な AI/ML ソリューションを見つけることができます。
AI/ML ソリューション ガイド
このソリューション ガイドでは、AI/ML テクノロジーを Android プロジェクトに統合するための適切なデベロッパー ツールを特定できます。
AI 機能の主な目的は何ですか?
- A)新しいコンテンツ(テキスト、画像の説明)を生成するか、簡単なテキスト処理(要約、校正、テキストの書き換え)を行うか?→ 生成 AI に移動します。
- B)予測、分類、検出、パターンの理解、リアルタイム ストリーム(動画や音声など)の処理のために、既存のデータや入力を分析しますか?→ 従来の ML と認識に移動
従来の 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 API、Google Cloud Translation API(カスタム バックエンドまたは Vertex AI を使用してアクセス可能)。(オフラインまたはプライバシーが重要である場合は、デバイス上のオプションよりも優先度が低くなります)。
- 理由: クラウド ソリューションは強力なモデルと幅広い言語サポートを提供しますが、接続が必要であり、費用が発生する可能性があります。
生成 AI
新しいコンテンツの作成、要約、書き換え、複雑な理解やインタラクション タスクの実行が必要である。
AI をオフラインで機能させる必要があるか、データ プライバシーを最大限に確保する必要があるか(ユーザーデータをデバイス上に保持する)、クラウド推論費用を回避する必要があるか。
- A)はい: オフライン、最大限のプライバシー、クラウド費用なしが重要です。
- → オンデバイス生成 AI に移動
- B)いいえ。接続が利用可能で許容され、クラウド機能とスケーラビリティがより重要であるか、特定の機能にクラウドが必要である。
- → Cloud 生成 AI に移動
デバイス上の生成 AI(Gemini Nano を使用)
注意事項: 対応する Android デバイスが必要です。iOS のサポートは限定的です。トークンの上限が特定されています(1,024 プロンプト、4,096 コンテキスト)。モデルはクラウド モデルよりも処理能力が低くなります。
ユースケースが ML Kit GenAI API が提供する効率的なタスクに具体的に一致していますか?(テキストの要約、テキストの校正、テキストの書き換え、画像の説明の生成)と、トークンの上限が十分かどうかを確認します。
- A)はい:
- → 使用: ML Kit GenAI API(Gemini Nano を搭載)
- 理由: 特定の一般的な生成タスクをデバイスに統合する最も簡単な方法。優先度の高いデバイス上のソリューション。
- B)いいえ(特定の ML Kit GenAI API を超える柔軟なプロンプトやタスクが必要だが、Nano の機能内でオンデバイス実行したい場合):
- → 使用: Gemini Nano 試験運用版アクセス
- 理由: 構造化 ML Kit GenAI API 以外のユースケース向けに、Nano の制限を尊重したオープン プロンプト機能をオンデバイスで提供します。
Cloud 生成 AI
より強力なモデルを使用、接続が必要、通常は推論コストがかかる、デバイスのリーチが広い、クロスプラットフォーム(Android と iOS)の整合性が容易。
優先するのは、Firebase 内での統合の容易さか、最大限の柔軟性/制御か?
- A)統合が簡単で、マネージド API を希望し、Firebase をすでに使用している場合
- → 使用: Firebase AI Logic SDK → Firebase AI Logic に移動
- B)最大限の柔軟性、幅広いモデル(サードパーティ/カスタムを含む)へのアクセス、高度なファインチューニングが必要で、独自のバックエンド統合(より複雑)を管理する意思がある場合。
- → 使用: カスタム クラウド バックエンド(Google Cloud Platform を使用)で Gemini API
- 理由: 最も高いレベルの制御、最も幅広いモデル アクセス、カスタム トレーニング オプションが提供されますが、バックエンドの開発に多大な労力が必要です。複雑なニーズ、大規模なニーズ、高度なカスタマイズが必要なニーズに適しています。
(Firebase AI Logic SDK を選択した場合)どのような生成タスクとパフォーマンス プロファイルが必要ですか?
- A)パフォーマンスと費用のバランスが必要な場合、速度が重要な一般的なテキスト生成、要約、チャット アプリケーションに適していますか?
- → 使用: Firebase AI Logic SDK with Gemini Flash
- 理由: Vertex AI マネージド環境内の速度と効率性を重視して最適化されています。
- B)複雑なテキスト生成、推論、高度な NLU、指示の実行で、より高い品質と機能を必要とする場合はどうすればよいですか?
- → 使用: Gemini Pro を使用した Firebase AI Logic SDK
- 理由: 負荷の高いタスク向けのより強力なテキストモデル。Firebase からアクセスできます。
- C)テキスト プロンプトに基づく高度な画像生成、高度な画像認識、画像操作が必要ですか?
- → 使用: Firebase AI Logic SDK with Imagen 3
- 理由: マネージド Firebase 環境を使用してアクセスする最先端の画像生成モデル。