Gemini Nano を使用すると、ネットワーク接続やクラウドへのデータ送信を必要とせず、充実した生成 AI 体験を可能にします。オンデバイス AI は、低コストとプライバシー保護が主な懸念事項であるユースケースに最適なソリューションです。
デバイス上のユースケースでは、Google の Gemini Nano 基盤モデルを利用できます。Gemini Nano は Android の AICore システム サービスで実行され、デバイス ハードウェアを活用して推論レイテンシを低減し、モデルを最新の状態に保ちます。
ML Kit GenAI API
ML Kit の GenAI API は、Gemini Nano の機能を活用して、アプリがオンデバイスの生成 AI タスクを実行できるようにします。これらの API は、AICore の上に構築されています。AICore は、生成 AI 基盤モデルのオンデバイス実行を可能にする Android システム サービスで、データをローカルで処理することで、アプリの機能強化やユーザーのプライバシーの向上などの機能を促進します。詳細
主な機能
ML Kit は、GenAI 機能を次のカテゴリに分類しています。
カスタム生成とエージェント
カスタム ユースケースで Gemini Nano 基盤モデルを直接操作する。
- モデルへの直接アクセス(
GenerativeModelクラスを使用): カスタムのテキストのみまたはマルチモーダル プロンプトからテキストまたは型付き構造化出力を生成します。または、USERロールとMODELロール、sessionId値を持つList<Content>オブジェクトを使用して、独自のマルチターン チャット履歴を直接管理します。 - Agentic Workflows(
AgentRunnerクラスを使用):GenerativeModelクラスをベースに構築され、マルチターン セッション管理(メモリ内会話履歴を含む)とマルチステップ ツール呼び出しループを自動化します。
音声
デバイス上で音声の音声文字変換、翻訳、合成を行う:
- 音声認識: 音声コンテンツを同じ言語のテキストに変換します。
- 音声翻訳: 音声を別の言語のテキストにリアルタイムで翻訳します。
- Text-to-Speech: テキストから自然な音声合成を行います。
テキストと画像のタスク
一般的なビジョン、書き込み、検索タスクに最適化されたタスク固有の API を、高レベルのインターフェースを介して使用します。
- 画像の説明: 指定された画像の簡単な説明を生成します。
- 要約: 記事や会話を箇条書きで要約します。
- 校正: 短いチャット メッセージを校正します。
- 書き換え: 短いチャット メッセージをさまざまなトーンやスタイルで書き換えます。
- セマンティック検索: Embedding API を使用してテキストと画像のベクトル エンベディングを生成し、AndroidX AppSearch と組み合わせて、意味に基づいてコンテンツを検索します。
Android のスキル
GitHub で表示ML Kit Prompt API を使用する
android skills add ml-kit-genai-prompt-apiAICore を介したアーキテクチャ
システムレベルのモジュールとして、一連の API を介して AICore にアクセスし、デバイス上で推論を実行します。さらに、AICore には複数の安全機能が組み込まれており、安全フィルタに照らして徹底的な評価が行われます。次の図は、アプリが AICore にアクセスして Gemini Nano をオンデバイスで実行する方法の概要を示しています。
ユーザーデータのプライバシーとセキュリティを確保する
オンデバイス生成 AI はプロンプトをローカルで実行するため、サーバー呼び出しが不要になります。これによりネットワーク レイテンシはなくなりますが、推論速度はデバイスのハードウェアに依存します。このアプローチでは、機密データをデバイスに保持することでプライバシーを強化し、オフライン機能を有効にして、推論コストを削減します。
AICore は Private Compute Core の原則に準拠しており、次のような主な特徴があります。
- 制限付きパッケージ バインディング: AICore は、特定のシステム パッケージの限定的な例外を除き、他のほとんどのパッケージから分離されています。この許可リストの変更は、Android の完全な OTA アップデート中にのみ行うことができます。
- 間接的なインターネット アクセス: AICore はインターネットに直接アクセスできません。モデルのダウンロードを含むすべてのインターネット リクエストは、オープンソースの Private Compute Services コンパニオン APK を介してルーティングされます。Private Compute Services 内の API は、プライバシー重視の性質を明示的に示す必要があります。
さらに、AICore は各リクエストを分離するように構築されており、ユーザーのプライバシーを保護するため、処理後に入力データや結果の出力の記録を保存しません。詳しくは、ブログ投稿「Gemini Nano のプライバシーと安全性に関する概要」をご覧ください。
AICore で AI 基盤モデルにアクセスするメリット
AICore により、Android OS は AI 基盤モデルを提供、管理できます。これにより、アプリでこれらの大規模モデルを使用する費用が大幅に削減されます。主な理由は次のとおりです。
- デプロイの容易さ: AICore は Gemini Nano の配布を管理し、今後のアップデートを処理します。ネットワーク経由で大規模なモデルをダウンロードまたは更新する必要はなく、アプリのディスクやランタイム メモリの予算に影響することもありません。
- 推論の高速化: AICore は、オンデバイス ハードウェアを活用して推論を高速化します。アプリは各デバイスで最高のパフォーマンスを発揮し、基盤となるハードウェア インターフェースについて心配する必要はありません。
ハイブリッド推論を使用するタイミング
Gemini Nano は、オフラインやプライバシーに配慮したタスクに最適ですが、トークン制限、デバイス ハードウェアの制限、モデル機能の境界など、オンデバイスの制約があります。このようなシナリオでは、ハイブリッド推論を使用して、ローカル デバイスとクラウドの間で AI ワークロードのバランスを取ることができます。
すべてのデバイスで一貫したユーザー エクスペリエンスを提供し、複雑なクエリを処理するには、Firebase AI Logic Hybrid API を使用します。これにより、アプリは次のことが可能になります。
- 適切にフォールバックする: ユーザーのデバイスで Gemini Nano が利用できない、またはサポートされていない場合は、リクエストをクラウドの Gemini Flash モデルまたは Gemini Pro モデルに自動的にルーティングします。
- セキュリティを強化する: Firebase App Check(および Play Integrity などのサポートされている証明書プロバイダ)を使用してクラウド推論を保護し、機密性の高いシステム プロンプトをサーバーサイドに保持します。