Upgrade to Pro — share decks privately, control downloads, hide ads and more …

MLSE モバイル向け機械学習モデル管理基盤

oshima
November 06, 2020

MLSE モバイル向け機械学習モデル管理基盤

これまで機械学習を使った機能は,サーバ上にモデルを配置しクライアントからAPI経由で呼び出すことが一般的でした. しかしモバイル端末の高性能化によって,モバイル端末上でMLモデルの推論を行うことが可能になってきています. それによってインターネット越しにAPIを呼ぶ必要がなく,高速かつセキュアなML機能を実現することができるようになりました. しかしMLモデルの推論をサーバ上で行う場合に比べ,モバイル端末上ではモデルサイズや推論速度の制限が厳しく,多くのハードウェア上での動作を保証しなくてはなりません. メルカリではそのようなモバイル端末上で動作するMLモデルを管理するための機械学習基盤を構築し,モバイル上で推論を行う機能を開発しています. 本発表ではその基盤についてお話します.

oshima

November 06, 2020
Tweet

More Decks by oshima

Other Decks in Technology

Transcript

  1. whoami 大嶋 悠司 2019/12 ~ Tech Lead of EdgeAI team

    in Mercari • OSS活動: ◦ Kubeflow katib (owner) ◦ Docker infrakit (maintainer) • Github: YujiOshima • Twitter: @overs_5121
  2. 多くの機能をリリース • 検索の改善 • 画像検索 • 違反出品検知 • AI出品 •

    レコメンデーション Mercariにおける機械学習の取り組み 機械学習プラットフォーム
  3. 5

  4. 7 滑らかなUX実現の課題 サーバで推論を行う場合 滑らかな体験を実現するためには 100 msec 未満が必要 [Card, S. K.,

    Robertson, G. G., & Mackinlay, J. D. (1991, March)] サーバでの推論では間に合わない
  5. 8 Edge AI 1 sec 〜 〜 50ms • 100ms未満を実現可能

    • ネット環境の影響がない • データをサーバに送らないのでセキュア
  6. 15 • FLOAT32 ◦ サーバでモデルを学習・推論するときと同じ • FLOAT16 ◦ 重みを単精度で表現することで軽量化 •

    Weight only quantization (UINT8) ◦ 重みをUINT8量子化 • Full quantization (UINT8) ◦ 重みと活性化関数を量子化 TF Liteの変換オプション
  7. 16 変換オプション サイズ レイテンシ 精度劣化 FLOAT32 ✕ △ なし FLOAT16

    △ △ 小 UINT8: weight only quant ◎ △ 中 UINT8: full quant ◯ ◎ 大 ※劣化の可能性が高い 変換オプションによる比較 ※
  8. 19 Java API Objective C API Core C Library Delegate

    GPU CPU CoreML NNAPI TensorFlow Liteのアーキテクチャ
  9. 20 • GPU ◦ iOS, Android両方をサポート • XNNPack ◦ iOS,

    Android両方:特定の行列演算をCPU上で高速化 • NNAPI ◦ Android向け:Pixel4ではEdgeTPUを利用できる • CoreML ◦ iOS向け:iPhone 11ではNPUが利用可能 TFLite でサポートされる Delegate
  10. 23 Delegateオプションと実行デバイス Delegate • CPU • GPU • XNNPACK •

    NNAPI • CoreML iOS Android デバイスごとにCPU, GPUの性能は異なる [Wu, C. J., et. al. 2019] 広範な実デバイスでのテストが重要
  11. 39 • EdgeAI@スマホ ◦ 精度とモデルサイズ,レイテンシのトレードオフ ◦ EdgeAIでなければ実現できないUXがある • Edge用モデル検証プラットフォーム ◦

    物理デバイス上でのテストをパイプラインに組み込む ◦ 他のモデルやデバイスと様々な観点で比較できるUI まとめ
  12. 41