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

SansanにおけるエッジAIの実用例とMLOps

Sansan
December 14, 2022

 SansanにおけるエッジAIの実用例とMLOps

■イベント


第26回 MLOps 勉強会

https://mlops.connpass.com/event/265554/

■登壇概要

タイトル:SansanにおけるエッジAIの実用例とMLOps

登壇者:Sansan株式会社 技術本部 研究開発部 Architectグループ 堤 修一



■Sansan 技術本部 採用情報

https://media.sansan-engineering.com/

Sansan

December 14, 2022
Tweet

More Decks by Sansan

Other Decks in Technology

Transcript

  1. - 名刺のデータ化 - NineOCR: 名刺に特化した独自開発のOCRエンジン(記事) - Smart Captured(スマキャプ) - etc...

    - 請求書・契約書etc.のデータ化 - 名刺同様に多々ある - メール署名取り込み - ニュース配信 - 名寄せ - etc... Sansan研究開発部におけるML
  2. エッジ側のモデル - Detection: 名刺矩形検出 - SSD - Segmentation: 名刺切り出し -

    U-Netベース - 一工夫して軽量化している - 両モデルともTensorFlowで学習
  3. Core ML化によるパフォーマンス向上 - before: TensorFlowから出力したProtocol Buffers 形式のモデル(.pb) - after: Core

    MLモデル(.mlmodel) ➔ 結果 - 名刺検出は300%高速化 - 3年前の端末で18 fps → 55 fps - セグメンテーションも推論時間は0.01~0.02[s]に
  4. デバイスの性能を最も活かせるのはCore ML - Tensor Flow for iOS → CPU・・・変換前バージョン -

    Tensor Flow Lite → CPU, GPU - PyTorch Mobile / LibTorch → CPU - Core ML → CPU, GPU, Neural Engine なぜCore ML化すると速くなるのか
  5. - ニューラルネットワークの演算を高速処理するプロセッサ - ANE (Apple Neural Engine) とも略される - NPU

    (Neural Processing Unit) の一種 - GoogleのTPUみたいなもの Neural Engineとは
  6. - 2017発売のiPhone 8, iPhone X以降のiPhone / iPadに搭載 - 搭載端末(非搭載端末)一覧 -

    Core MLによって利用されるANEはA12 Bionic (2018) 以降 - ANE自体の性能も毎年上がっている > The A14 has a 16-core Neural Engine that is twice as fast as the previous generation, and can perform 11 trillion operations per second. > The A15 has a 16-core Neural Engine, with the same amount of cores it can perform 15.8 trillion operations per second (43% faster than the previous generation). Neural Engine搭載端末
  7. ※ - ここからは弊社での実運用の例ではなく、 私個人のアイデアレベルのものになります。 - 実運用はしていないものの、一応実際に使ったことがある要素を 組み合わせて考えています。 - 一部実現性不明なものはその旨明示しています。 -

    Sansanで行っているMLOpsの例 - Data Version Control による実験管理の実務での適用事例 - 自社OCRエンジン「NineOCR」の学習効率化のためFeature Storeを導 入した話 - Sansan Tech Blog
  8. Core ML × MLOpsのアイデア - パターン1: Core ML × 実験管理

    - パターン2: 実機での新モデルの検証 - テスターにだけ新モデルを配布する - クラウド経由でモデルを更新
  9. 評価 Core MLモデル変換 パターン1: Core ML × 実験管理 既存の学習パイプラインにcoremltoolsによる変換を組み込めばOK 前処理

    学習 PyTorch, TensorFlow, etc… coremltools 詳しくはこちらの資料へ:MLOps for Core ML #iOSDC 2022 データ取得
  10. - 量子化やスパース化も可能 - https://apple.github.io/coremltools/source/coremltools.models.html#com pression-utils - アプリのバイナリには含めず、あとからダウンロードさせる方法もある - Core ML

    Models - iCloud - Apple Developer - iOSビルトインの特徴抽出器を利用すれば劇的に小さくなる - Core MLモデルを連結してひとつのモデルにするパイプライン機能 - Create MLのモデルはなぜ小さいのか 〜coremltoolsでパイプラインモデ ルの中身をのぞいてみる - Sound Analysisのビルトイン音声分類器 補⾜資料: Core MLモデルサイズに関するTips
  11. - 育児関連サービス:アルバムから子供が写っている写真だけを抽出 - 超解像ライブラリ - 動画へのエフェクト(姿勢検出、Style Transfer, …) - 動画の4コマ漫画化

    - Core MLモデルへの変換(YOLOv5, etc.) - LiDARデータ収集(エッジAIではない) etc… 補⾜資料: 経験したiOS × MLの実案件
  12. - R&D MLOps/DevOpsエンジニア | Sansan株 式会社 - R&D MLOps/DevOpsエンジニア(中部) |

    Sansan株式会社 MLOpsエンジニア絶賛募集中です!