>_tech-draft
Firebaseのアイコン
Firebase
動画公開日
タイトル

Implement hybrid inference in Android using Firebase AI Logic

再生時間

3分 52秒

Firebase AI Hybrid SDKでAndroidオンデバイス推論を安全かつコスト効率良く実現

ポイント

  • Androidアプリ開発者がAI推論を導入する際の安全性・コスト・複雑さの課題を、Firebase AI Logic Hybrid SDKが解決します。
  • このSDKは、オンデバイス推論とクラウドモデルへのフォールバックを効率的に統合し、オフライン対応やAPI利用料削減といったメリットをもたらします。
  • 既存の共有モデル活用、モデルの可用性管理、デバウンス処理などの具体的な実装ステップを学び、高品質なAI駆動アプリを構築できます。

はじめに:オンデバイスAIの課題とハイブリッドSDKによる解決

ユーザーに新しい機能を届けたいが、安全性とコスト効率を両立させたいと考える開発者は多いでしょう。特にAIモデルの利用においては、オンデバイスモデルとクラウドモデルのどちらを選ぶかという課題に直面します。

オンデバイスモデルは、デバイス上でAI推論を実行するため、レイテンシーの短縮やオフラインでの利用が可能という利点があります。しかし、モデルの選定、デバイスへのダウンロード、多様なエンドユーザーデバイスでの実行互換性の確認、そして実行できない場合のクラウドモデルへのフォールバックといったプロセスは、開発者にとって大きな負担となりがちです。また、これらをすべて自前で実装するのは非常に複雑です。

この課題に対し、GoogleはAndroid向けのFirebase AI Logic Hybrid SDKのサポートを発表しました。このSDKは、モデルの配信方法やデバイスでの実行可能性を心配することなく、ユーザーのデバイス上でプロンプトを実行する機能を提供します。これにより、オンデバイス推論の導入が格段に容易になります。

本記事では、このHybrid SDKを用いて、どのようにオンデバイス推論をAndroidアプリに組み込むか、そのメリットと実装方法について詳しく解説します。

ハイブリッド推論のメリットと具体的なユースケース

ハイブリッド推論の導入は、アプリに繊細ながらも強力な機能を追加することを可能にします。例えば、レビューアプリに自動で星評価を付与する機能です。

この機能は、ユーザーが入力したレビューの内容が十分に詳細であるか、また、与えられた星評価とレビュー内容が正確に一致しているかを判断するのに役立ちます。これにより、ユーザーはより質の高いレビューを作成できるようになり、アプリ全体のコンテンツ品質向上にも貢献します。

このような小さなリクエストをクラウドベースのモデル、例えばGemini 3.1 Flashlightに送信することも可能ですが、オンデバイスで実行することで、以下のような大きなメリットが得られます。

  • 信頼性の向上とオフラインサポート: ネットワーク接続がない環境でも推論が実行できるため、ユーザー体験が向上します。
  • コスト削減: クラウドベースの推論リクエストはGemini APIの使用料が発生しますが、オンデバイスで実行することで、これらのコストを削減できます。

さらに、モデルを個別にダウンロードしてローカルで使用することもできますが、Hybrid SDKモデルを使用する最大の利点は、デバイスに既に存在する共有モデルを利用できる点にあります。これにより、アプリごとのモデルダウンロードのオーバーヘッドがなくなり、多くのアプリで共通のモデルが利用されるため、効率的です。

Androidアプリでのハイブリッド推論実装ステップ

それでは、実際にハイブリッド推論をアプリに実装する際の主要なステップを見ていきましょう。具体的なコードは動画では直接示されていませんが、その実装の流れが説明されています。

1. 必要なSDKの追加

まず、AndroidプロジェクトにFirebase AI Logic Hybrid SDKを追加する必要があります。現在、Hybrid SDKは試験段階にあるため、追加のライブラリをダウンロードする必要があります。

2. モデルの可用性確認とダウンロード管理

次に、デバイス上でモデルが利用可能かどうかを確認し、必要であればモデルをダウンロードします。私のテストデバイスでは以前にモデルがダウンロード済みだったため、すぐに利用可能でした。

Androidのシステムサービスである「AI Core」が、デバイス上のすべてのモデルダウンロードを管理しています。AI Coreは、オンデバイスモデルを見つけるための一元的な場所として機能します。もしモデルが利用できない場合、設定によってはクラウドホスト型モデルにフォールバックするか、またはオンデバイス専用フラグが設定されている場合は例外をスローするように設定できます。

3. パブリックプレビューAPIの使用同意(Opt-in)

Composable関数内でoptinを設定し、パブリックプレビューAPIの使用に明示的に同意を与えます。

4. JSONスキーマとモデルの宣言

返却されるデータのJSONスキーマを宣言します。例えば、星評価と、その評価の正当化理由を返却する形式を定義します。そして、使用したいモデルを宣言します。

動画の例では、Vertex AIバックエンドを使用し、オンデバイスモデルが利用できない場合のフォールバックとしてGemini 3.1 Flashlightを指定し、ondeviceConfigpreferOndeviceに設定しています。この設定により、オンデバイスモデルが利用できない場合にクラウドホスト型モデルへフォールバックすることが可能になります。

5. デバウンス処理を用いたリアルタイム推論

リアルタイム推論を実行する際には、デバウンス処理を導入することが重要です。これは、ユーザーが文字入力するたびに連続して推論リクエストが送信されるのを防ぐためです。特にクラウドホスト型モデルにフォールバックする場合、継続的にバックエンドへリクエストを送信してしまうことを避けるために役立ちます。

アプリケーションの動作例

実際にアプリが動作している様子を見ると、この機能の有用性がよくわかります。例えば、ユーザーが「料理は最高だった。でもサービスはひどかった。」というレビューを入力すると、アプリは当初その内容を「2つ星」と評価しました。

ユーザービリティの観点からは、ユーザーがこの自動評価を必要に応じて変更できるようにすることが理想的です。動画のデモでは、ユーザーが自動評価を「3つ星」に修正して提出していました。このように、AIによる提案をユーザーが最終的にコントロールできることは、非常に重要なUXデザインの一部と言えるでしょう。

まとめ

本記事では、Firebase AI Logic Hybrid SDKを利用して、Androidアプリでオンデバイス推論を安全かつコスト効率良く実現する方法について解説しました。

Hybrid SDKは、デバイスに既存のモデルを活用することで、推論コストを削減し、必要に応じてクラウドホスト型モデルにフォールバックする機能を提供します。これにより、開発者はモデルの管理や配信の複雑さから解放され、より高品質で信頼性の高いAI駆動型アプリケーションを構築できるようになります。

ぜひ、皆さんのAndroidアプリでハイブリッド推論をどのように活用するか、アイデアをコメント欄でお聞かせください。

参考動画

Firebase AI logic for Android: Hybrid SDK