モバイル端末上でMLモデルの推論をするための技術

最近、効率よくスマホ上で推論したくてTensorFlowLiteとかMediaPipeとかとずっと戯れているんだけど、そのあたりの周辺技術をもう少し調べようとしてまとめたやつです。

どれもデモ動画を見ないと全然わからないと思うんだけど、公式のgifとかどこまで使っていいかわからないので載せれない。リンク飛んで見てみてください。

王道なやつ

  • TensorFlowLite
    • モデルの軽量化とかするのに使ってる。プロダクションに入れることを考えると、一番安定してるんじゃないか。
  • CoreML (Apple)
    • iOSしか使えないので試したことない。
    • どれくらい良いのか教えてほしい。
  • ML Kit (Firebase, Google)
    • 試してみた感じまたストリーミングデータとかはカクカクな感じだった
    • 導入は簡単だった
  • PyTorch Mobile
    • まだプロダクションで使われている事例を自分は聞いたことがない
    • 一度ちゃんと使ってみようと思う
  • Mediapipe (Google)
    • TensorFlowLiteベースでストリーミングデータを推論するのに効率いいやつ
    • Googleがイケイケで作ってるけど、他社がプロダクションに入れるにはまだメンテが必要だなぁという感じ
    • iosとかframeworkとして提供してくれてないところが辛い

面白そうなので試してみたいやつ

モバイルじゃないけど調べてたら気になったやつ

  • OctoML
    • TensorFlow, PyTorch, ONNX, etc. のモデルを最適化してTVMのモデルにしてくれる? 気になる。
    • Octomizer Early Access is now available
  • Detectron2
    • Facebook Reserachが作ってる物体検出のシステム
      • Detectron2 is Facebook AI Research’s next generation software system
    • PyTorchベース
    • デモ見た感じすごい精度良さそうだから気になる