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

Mercar Gears MercariにおけるEdgeAIについて

oshima
September 14, 2021

Mercar Gears MercariにおけるEdgeAIについて

Mercari Gears lecture session にて利用したスライドです。
https://www.youtube.com/watch?v=kKL0RKd34a0

oshima

September 14, 2021
Tweet

More Decks by oshima

Other Decks in Technology

Transcript

  1. 2 多くの機能をリリース • 検索の改善 • 画像検索 • 違反出品検知 • AI出品

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

  3. 11 • 応答性 ◦ 素早く結果を返せるか • 連続性 ◦ 状態の遷移が連続的か •

    フィードバック ◦ アクションの結果が伝わるか • 柔軟性 ◦ 変更を加えるのが容易か UIの評価指標 [Aagesen, P. T., & Heyer, C. 2016]
  4. 22 Edge AI 1 sec 〜 〜 50ms • 100ms未満を実現可能

    • ネット環境の影響がない
  5. 36 スニーカー 売れている価格 XXX ~ △△△ 円 Nike エアマックス UI上の工夫

    AIが間違ったときに納得できるように 認識結果の情報を提示することで 間違っていた場合に納得感がある* 売れている価格の範囲であり 絶対の価格と思わせない * [J. Zhou et al. 2019] https://pair.withgoogle.com/
  6. 42 Java API Objective C API Core C Library Delegate

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

    Android両方:特定の行列演算をCPU上で高速化 • NNAPI ◦ Android向け:Pixel4ではEdgeTPUを利用できる • CoreML ◦ iOS向け:iPhone 11ではNPUが利用可能 TFLite でサポートされる Delegate
  8. 57 オブジェクト認識に使われるモデル • SSD-Mobilenetv2 [Sandler, Mark, et al. 2018] •

    SSD-Mobilenetv3-small [Howard, Andrew, et al. 2019] • SSD-MobileDet [Xiong, Yunyang, et al. 2020] EdgeにおけるMLモデルの選定 精度だけでは決められない
  9. 61 • FLOAT32 ◦ サーバでモデルを学習・推論するときと同じ • FLOAT16 ◦ 重みを単精度で表現することで軽量化 •

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

    △ △ 小 UINT8: weight only quant ◎ △ 中 UINT8: full quant ◯ ◎ 大 ※劣化の可能性が高い 変換オプションによる比較 ※
  11. 64 Delegateオプションと実行デバイス Delegate • CPU • GPU • XNNPACK •

    NNAPI • CoreML iOS Android デバイスごとにCPU, GPUの性能は異なる [Wu, C. J., et. al. 2019]
  12. 75

  13. 78