JS Conf JP

加藤 倫弘 / Tomohiro Kato

加藤 倫弘 / Tomohiro Kato

Software Engineer / Client-side Machine Learning

モバイルブラウザにおけるClient-side MLアプリケーションのプロダクション開発事例

11/27/2021, 16:20 - 16:50
Track B
Spoken language: ja
Slide language: ja

(Untranslated) 私たちはフリマアプリ「メルカリ」を開発しています。私たちEdge AI Platformチームでは、スマートフォンのカメラで商品を写すだけで、瞬時にメルカリで取引されている類似商品のカテゴリや価格情報が得られるWebアプリケーションを開発し、ユーザーテストを行っています。 このアプリケーションは、カメラをかざすだけで情報を表示するために、物体検出や物体追跡といった機械学習モデルの推論や画像処理を行っています。 さらに、レスポンスを速くしてスムーズでわかりやすいUXを提供するために、私たちはそれらの処理をサーバーサイドではなくブラウザ上で実行しています。このとき、WebAssemblyやWebGLといった技術を用いて、モバイルブラウザでも高速に動作するように実装しています。 一般に、機械学習モデルや画像処理はコストの高い処理です。さらに、同じ処理をネイティブアプリケーションで実現することと比べて、モバイルブラウザではパフォーマンスが低下したり、技術的な制約で同じアルゴリズムの実現が難しかったりしました。 そのため、プロダクトとしてリリースするために、私たちは適切な技術選択を行ったり、ローエンドデバイスでも満足に動くようなチューニングをしたりする必要がありました。 本発表では、以上のようなプロダクション開発中の試行錯誤で得られた、次のようなトピックを紹介する予定です。 client-side MLの技術動向、ライブラリの比較 ソフトウェアアーキテクチャや利用している技術スタック モバイルブラウザ向けのパフォーマンスチューニングの方法 ユーザーからのフィードバックとそれに関する改善の事例