このガイドは、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 タスクでは、独自のカスタムモデルを柔軟に実装できます。開発プロセスを効率化するために、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 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 は、トレーニング済みの ML モデル(通常は分類、回帰、検出用)を、スマートフォン、IoT デバイス、マイクロコントローラなど、コンピューティング能力やバッテリー駆動時間が限られているデバイスに効率的にデプロイする必要がある場合に選択します。速度とリソースの節約が最優先されるエッジで、カスタム予測モデルまたは標準予測モデルをデプロイする場合に推奨されるソリューションです。
詳しくは、LiteRT を使用した ML のデプロイをご覧ください。
MediaPipe を使用してアプリにリアルタイム認識機能を組み込む
MediaPipe は、ライブ メディアとストリーミング メディア向けに設計された、オープンソースのクロスプラットフォームでカスタマイズ可能な ML ソリューションを提供します。ハンド トラッキング、ポーズ推定、フェイス メッシュ検出、オブジェクト検出などの複雑なタスク向けに最適化された事前構築済みのツールを活用して、モバイル デバイスでも高性能なリアルタイム インタラクションを実現できます。
MediaPipe のグラフベースのパイプラインは高度にカスタマイズ可能で、Android、iOS、ウェブ、パソコン、バックエンド アプリケーション向けにソリューションを調整できます。ジェスチャー認識、AR エフェクト、フィットネス トラッキング、アバター制御などのユースケースで、入力の分析と解釈に重点を置いたアプリで、ライブ センサーデータ(特に動画ストリーム)を即座に理解して反応する必要がある場合は、MediaPipe を選択します。
ソリューションを調べて、MediaPipe で構築を開始しましょう。
アプローチを選択する: オンデバイスまたはクラウド
AI/ML 機能を Android アプリに統合する際に、ユーザーのデバイスで直接処理を行うか、クラウドで処理を行うかを早期に決定することが重要です。ML Kit、Gemini Nano、TensorFlow Lite などのツールを使用すると、オンデバイス機能を有効にできます。また、Firebase AI Logic を使用した Gemini クラウド API を使用すると、強力なクラウドベースの処理を実現できます。適切な選択を行うには、ユースケースとユーザーのニーズに固有のさまざまな要因を考慮する必要があります。
判断の参考として、次の点を考慮してください。
- 接続性とオフライン機能: アプリケーションがインターネット接続なしで確実に機能する必要がある場合は、Gemini Nano などのオンデバイス ソリューションが最適です。クラウドベースの処理は、その性質上、ネットワーク アクセスを必要とします。
- データ プライバシー: プライバシー上の理由からユーザーデータをデバイス上に保持する必要があるユースケースでは、オンデバイス処理によって機密情報がローカルに保持されるため、大きなメリットがあります。
- モデルの機能とタスクの複雑さ: クラウドベースのモデルは、多くの場合、サイズが大きく、強力で、更新頻度が高いため、非常に複雑な AI タスクや、出力品質と広範な機能が最も重要な大規模な入力の処理に適しています。シンプルなタスクは、オンデバイス モデルで適切に処理できる場合があります。
- 費用の考慮事項: Cloud APIs には通常、使用量ベースの料金設定が適用されます。つまり、推論の数や処理されるデータ量に応じて費用が変動します。オンデバイス推論は、通常、使用ごとの直接的な料金は発生しませんが、開発費用が発生し、バッテリー寿命や全体的なパフォーマンスなどのデバイスリソースに影響を与える可能性があります。
- デバイス リソース: オンデバイス モデルは、ユーザーのデバイスのストレージ容量を消費します。また、Gemini Nano などの特定のオンデバイス モデルのデバイス互換性を把握して、ターゲット ユーザーが機能を利用できるようにすることも重要です。
- ファインチューニングとカスタマイズ: 特定のユースケースに合わせてモデルをファインチューニングする機能が必要な場合は、一般的にクラウドベースのソリューションの方が柔軟性が高く、カスタマイズのオプションも豊富です。
- クロス プラットフォームの整合性: iOS を含む複数のプラットフォームで一貫した AI 機能が重要である場合は、Gemini Nano などの一部のオンデバイス ソリューションが、まだすべてのオペレーティング システムで利用できない可能性があることに注意してください。
ユースケースの要件と利用可能なオプションを慎重に検討することで、Android アプリを強化し、インテリジェントでパーソナライズされたエクスペリエンスをユーザーに提供するのに最適な AI/ML ソリューションを見つけることができます。
AI/ML ソリューションのガイド
このソリューション ガイドは、Android プロジェクトに AI/ML テクノロジーを統合するための適切なデベロッパー ツールを特定する際に役立ちます。
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 に生成モデルが必要な場合は、[Start] に戻って [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 が提供する効率化されたタスクに特に一致していますか?(テキストの要約、テキストの校正、テキストの書き換え、画像の説明の生成、音声認識の実行) AND トークン上限は十分ですか?
- 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)最大限の柔軟性、幅広いモデル(サードパーティ製/カスタムを含む)へのアクセス、高度なファインチューニングが必要で、独自のバックエンド統合(より複雑)を管理する意欲がある。
- → 使用: カスタム クラウド バックエンド(Google Cloud Platform を使用)での Gemini API
- 理由: 最も高いレベルの制御、最も幅広いモデルへのアクセス、カスタム トレーニング オプションが提供されますが、バックエンドの開発に多大な労力が必要になります。複雑で大規模なニーズや高度にカスタマイズされたニーズに適しています。
(Firebase AI Logic SDK を選択した場合)どのような生成タスクとパフォーマンス プロファイルが必要ですか?
- A)パフォーマンスと費用のバランスが取れており、速度が重要な一般的なテキスト生成、要約、チャット アプリケーションに適している必要がありますか?
- → 使用: Gemini Flash を使用した Firebase AI Logic SDK
- 理由: Vertex AI マネージド環境内の速度と効率性を最適化します。
- B)複雑なテキスト生成、推論、高度な NLU、指示の実行に、より高い品質と機能が必要ですか?
- → 使用: Gemini Pro を使用した Firebase AI Logic SDK
- 理由: 要求の厳しいタスクに対応する、より強力なテキスト モデル。Firebase を通じてアクセスできます。
- C)高度な画像生成、またはテキスト プロンプトに基づく高度な画像理解や操作が必要ですか?
- → 使用: Imagen 3 を使用した Firebase AI Logic SDK
- 理由: マネージド Firebase 環境を使用してアクセスされる最先端の画像生成モデル。