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

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

744424a2b6307140bf794ffb00ce5ec1?s=47 oshima
November 06, 2020

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

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

744424a2b6307140bf794ffb00ce5ec1?s=128

oshima

November 06, 2020
Tweet

Transcript

  1. モバイル向け機械学習モデル管理基盤 大嶋悠司 2020/11/06

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

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

    レコメンデーション Mercariにおける機械学習の取り組み 機械学習プラットフォーム
  4. 4 EdgeAI モバイルのようなデバイス上で機械学習の推論を行う技術

  5. 5

  6. 6 滑らかなUX実現の課題 ② 物体検出や画像検索 ① 写真を送信 ③ 結果を返す サーバで推論を行う場合 全体で1sec程度

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

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

    • ネット環境の影響がない • データをサーバに送らないのでセキュア
  9. 9 本日お話すること • EdgeAI@スマホを実現する技術 • EdgeAI@スマホの課題 • Edge用モデルの検証基盤

  10. 10 課題設定 目標:インタラクティブなUXを実現 必要項目: • アプリにネガティブな影響を与えない • 100ms未満の推論レイテンシ • 大半のお客様をサポート

  11. 11 Core ML モバイル上でのML推論用ライブラリ

  12. 12 Core ML • マルチプラットフォーム • 柔軟なランタイムオプション TensorFlow Lite を採用

    モバイル上でのML推論用ライブラリ
  13. 13 EdgeAIにおけるMLモデル • 学習データの作成 • MLモデルの学習 MLモデルの変換 変換されたMLモデルを実行

  14. 14 モデルサイズ MLモデルの変換 数百MB~数GB 20 MB 程度 ※変換オプションに依存

  15. 15 • FLOAT32 ◦ サーバでモデルを学習・推論するときと同じ • FLOAT16 ◦ 重みを単精度で表現することで軽量化 •

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

    △ △ 小 UINT8: weight only quant ◎ △ 中 UINT8: full quant ◯ ◎ 大 ※劣化の可能性が高い 変換オプションによる比較 ※
  17. 17 推論速度と精度のパフォーマンス [Howard, Andrew, et al. 2019] 推論レイテンシ ms (Pixel

    1) Accuracy Top1 %
  18. 18 Edgeデバイス上でのモデル実行 オブジェクト検出モデル 例:SSDlite-mobilenetv2 前処理等も含むと不十分 device CPU Pixel3 120 msec

  19. 19 Java API Objective C API Core C Library Delegate

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

    Android両方:特定の行列演算をCPU上で高速化 • NNAPI ◦ Android向け:Pixel4ではEdgeTPUを利用できる • CoreML ◦ iOS向け:iPhone 11ではNPUが利用可能 TFLite でサポートされる Delegate
  21. 21 Edgeデバイス上でのモデル実行 オブジェクト検出モデル 例:SSDlite-mobilenetv2 device CPU GPU Pixel3 120 msec

    30 msec
  22. 22 Edgeデバイス上でのモデル実行 オブジェクト検出モデル 例:SSDlite-mobilenetv2 device CPU GPU Pixel3 120 msec

    30 msec メルカリが動作するデバイスは多種
  23. 23 Delegateオプションと実行デバイス Delegate • CPU • GPU • XNNPACK •

    NNAPI • CoreML iOS Android デバイスごとにCPU, GPUの性能は異なる [Wu, C. J., et. al. 2019] 広範な実デバイスでのテストが重要
  24. 24 EdgeにおけるMLモデルの選定 変換形式 Delegate デバイス モデル いかに精度を保ちながらモデルサイズとレイテンシを減らしていくか

  25. 25 EdgeにおけるMLモデルの選定 変換形式 Delegate デバイス モデル 自動化!

  26. 26 Edgeモデル検証用プラットフォーム

  27. 27 Edgeモデル検証用プラットフォーム

  28. 28 Kubernetes上にML基盤を構築するプロジェクト 複数のコンポーネントを持つ • Kubeflow pipeline ◦ 機械学習モデルの学習や評価のパイプラインの管理 • Kubeflow

    metadata ◦ 機械学習モデルのメタデータ管理
  29. 29 Edgeモデル検証用プラットフォーム

  30. 30 学習 評価 変換 ベンチマーク実行 ベンチマーク結果を metadataに保存 変換による精度劣化評価

  31. 31 Edgeモデル検証用プラットフォーム

  32. 32 公式でAndroid, iOS向けにBenchmarkアプリが公開 https://github.com/tensorflow/tensorflow/tree/master/tensorflow/lite/t ools/benchmark • モデルを読み込んで推論時間を計測できる • オペレータごとの所要時間なども計測可能 TFLite

    Model Benchmark
  33. 33 Edgeモデル検証用プラットフォーム 生成されたモデルを組み込んでAndroid, iOS用のアプリをビルド

  34. 34 Edgeモデル検証用プラットフォーム

  35. 35 https://firebase.google.com/docs/test-lab Android, iOS両方の実デバイス上でアプリのテストが行える メルカリで主要なデバイスを指定しbenchmarkアプリを実行 Firebase Test Lab

  36. 36 Edgeモデル検証用プラットフォーム

  37. 37 精度比較と変換による劣化の検証 モデルA モデルB float16 float32 uint8

  38. 38 デバイスごとのベンチマーク iPhone 11 iPhone 8 CoreML GPU CPU XNNPack

  39. 39 • EdgeAI@スマホ ◦ 精度とモデルサイズ,レイテンシのトレードオフ ◦ EdgeAIでなければ実現できないUXがある • Edge用モデル検証プラットフォーム ◦

    物理デバイス上でのテストをパイプラインに組み込む ◦ 他のモデルやデバイスと様々な観点で比較できるUI まとめ
  40. 40 Edgeモデル検証用プラットフォーム

  41. 41