Englishこんにちは!メルカリのセラーエンゲージメントチームのRakeshです。最近、インターン生のメンターを担当していました。インターン生の名前はPriyanshです。彼がメルカリで担当した仕事の一部である、Firebaseを使用したクライアントサイドでの機械学習モデル構築に関してまとめたテックブログとなります。はじめに現代では、大規模データの利用が可能となったほか、処理能力やストレージ機能の進歩、自動化・データドリブンな意思決定の需要の高まりを受け、機械学習の人気が高まっています。多くの企業が機械学習を取り入れたいと考えていますが、機械学習のコストは非常に高額になり得ます。開発、トレーニング、デプロイにかかるコストや、GPU、クラウドコンピューティングリソース、ストレージ、ネットワークなどの特化型のハードウェアを使用する際のコストがかさむ可能性があるためです。これまで機械学習モデルは、サーバーサイドでデプロイされてきましたが、クライアントサイドでデプロイを可能にしようとする試みも増えてきました。事実、AIをエッジ上で使用するメリットは数多くあります。インターネット接続が必要ないデータをサーバーに送信する必要がないレイテンシーが極めて短いリアルタイムの推論が可能サーバーコストが少額、あるいはゼロクライアントサイドで機械学習を使用しようと考えた経緯メルカリでは常に革新的な機能を開発し、マーケットプレイスとしての価値を高めようとしています。「バーコード出品機能」もそのための強力な機能のひとつです。販売者は、特定カテゴリの商品のバーコードをスキャンするだけで、簡単に出品を行うことができます。メルカリのお客さま、とりわけ新規のお客さまがメルカリの機能のすべてを理解していないというのはよくあることで、バーコード出品もそのような機能のひとつです。AIを利用してお客さまの体験を向上させることができないか考えました。TFLiteには、下記のような特徴があります。優れたパフォーマンス画像分類や物体検出といった数多くの機械学習タスクに対応TFLiteモデルは、apkやipaにパッケージングした状態で、AndroidアプリやiOSアプリに埋め込むことも可能です。これは、クライアントサイドで機械学習を使用するための最も簡単な方法のひとつですが、いくつかの制限があります。サービスのひとつで、独自のカスタム機械学習モデルをエッジデバイス上でデプロイできます。機械学習モデルをアプリにパッケージングする必要はありません。その代わりに、アプリをインストール済みのクライアントが、バックグラウンドで必要に応じてリモートから機械学習モデルをダウンロードします。この機械学習モデルのダウンロードは一度だけ発生するもので、以降の推論で繰り返し利用されます。この方法を使用するメリットは数多くあります。modelFirebaseの動的モデル読み込みを使用することには多くの利点があるものの、以下の点には注意する必要があります。ユーザーがWi-Fiに接続されている場合のみダウンロードするなどまとめ機械学習は、物体検出やバーコードスキャンなど、幅広いユースケースで非常に有用です。機械学習をクライアントサイドで使用するにあたってはさまざまな課題がありますが、Firebaseのカスタムモデルであれば、APIによるリモートからの機械学習モデルのフェッチ、モデル管理を簡単に行えます。テストの迅速化にも貢献し、デベロッパーによる構成のカスタマイズも可能になります。