読書・勉強会

Machine Learning Production Pitch #2に行ってみた

Machine Learning Production Pitch

はじめに

ただの感想文です

みなさんが「Machine Learning Production Pitch」ってこういう勉強会なんだなー、行ってみたいなー」と思ってもらえたら嬉しいです

https://machine-learning-pitch.connpass.com/event/125115/

Machine Learning Production Pitchとは

機械学習について業務で培った知見や経験や苦労を共有してみんなでハッピーになる集まり

今回の懇親会のスポンサーはABEJAさん

ABEJA PlatformでMLOpsの課題を解決する

ABEJAとは

  • googleとnvidiaから日本で初めて出資してもらったスタートアップ
  • 製造・小売・物流が顧客
  • エンジニアもマネージャーも、様々な職種を絶賛募集中
  • ABEJA Insight for Retail というAIサービスを提供している
  • IOTの設定、ダッシュボードの提供まで、一括してサービスを提供している
    • 店舗にいらっしゃったお客様の顔、立ち姿から性別や年齢を取得
    • お客様の属性を自動的に取得することができる。
    • 人がフレームインした回数を測る
    • 人が同一人物かどうかもバックグラウンドで働いているデータ測ることができる

10個のプロセス提供価値

12枚目のスライドより

  • もともとこのようなデータ分析はインターネット広告業界で行われていた
  • インターネット広告業界はMLOpsの先駆者
  • javascriptで顧客の行動を取得することができるので、データ分析との相性がよかった
  • それを物流や小売に展開していっているABEJA 
  • ABEJA PLATFORMをどんどん展開していく、
  • 主にクラウド型サービス
  • お客様の方で管理UIを使ってもらう
  • MLエンジニアを雇っている企業入るがAI人材を雇えていない企業も多い

ABEJAの強み

教師データを手にれることが難しい。誰でも悩むことである。人が写真を切り抜きそれにラベルをつける途方もない作業のもと教師データは作られている。

なのでアノテーションの作業をいかに短縮化するか、それに注力し、人間がやっている、画像にラベリングする作業をAIにやらせる取り組みをしている。

人間の手作業はかなり削減される。ロボが入れたものが正常か異常か判定する、それだけになる

富士通研のAI基盤の話

  • AI研で作っている技術は日々試行錯誤
  • 社内だけのクローズな独自技術
  • みんなjupyter notebook

しかし「研究者」と「営業職・エンジニア・事務」との間に、AIの技術をやりとりするための基盤がなく、大変になってきた。

そのためインフラ寄りのエンジニアが環境を考案。それが下の環境。

  • grafana
  • k8s
  • gluster FS
  • もう一個なんか

こんな感じでつくればいいんじゃない・・・こういうスタートだった 

しかし、kubeの学習コストが大きかった

今日の名言「人類にk8sは早い

代わりに独自のWEBAPIサーバを作ることにした。

クローズなサービスを提供しているので、基本はオンプレ。

DockerをAIエンジニアに学んでもらう

k8sは難しいがdockerは利用してもらう必要があった。そこで

AI人材にDocker技術を学んで貰った!

社内で何かの技術に習熟した人に新しく技術を学んでもらうことはかなり難しいことだと思う。これをやりきったところ参考にしたい。

コンテナ駆逐コンテナ

dockerコンテナが他のdockerコンテナをアウトオブメモリーさせまくった事例

機械学習系のライブラリは突然、想定していない行列演算ロジックに進むとメモリがどんと膨れ上がることが学びになった。

rekcurd Update & Demo

モデリングに集中できるような、その他の運用を全て担保してくれるようなOSS!

  • 人類にKubernetesは早すぎる問題
  • Kubernetesは覚えることが多すぎる
  • 研究所の人は、研究以外のことをやるのはめっちゃ拒否
  • 結局トラブル起きる時は起きる、新人入ればまあ起きる

rekcurdとは

  • Recurdはgitからイメージをpullしてくることもできるようにしている。
  • Rekcurdのダッシュボードが簡単に立ち上がる。jupyter notebookみたいに
  • k8sを立ち上げるのも落とすのもワンクリック
  • アプリケーションごとにプロジェクトを作成できる。
  • ADD DATABSE機械学習のモデルを保存するデータベースも登録する。
  • 手順はこんな感じ
    • モデルを登録する
    • システムの中にモデルファイルを保存
    • 複数のモデルを並列で立ち上げることができる
    • 立ち上げはk8sで立ち上げる、セキュア
    • Routingでどのモデルを利用するか選べる
      • ABテストも簡単!!
    • LDAP認証も合わせて使うと、ユーザごとに権限を割り当てられる

作ったモデルをGUIから直感的に利用できるのはいいなぁ。

rekcurdはこちら

https://github.com/rekcurd/rekcurd-python

TODO、まずistio勉強すること

KubeFlow/Katib

ハイパーパラメータチューニングは至難の業

  • パラメータ同士の依存関係などあります
  • GPUを使ってガチャを回していく。
  • 徐々に職人ライクになっていく。

そんな時のKatib!

https://github.com/kubeflow/katib

  • チューニングのアルゴリズムを選択
  • そしてパラメータを選択する
  • どのパラメータがどのような値になっている時に、学習の精度はどうだったのか、
  • わかりやすくビジュアライズできるようなOSSになっている
    • 32枚目のスライドが例

 

次やってみたいなーKatib、やってみたブログ書いてみようかな

正直ね、このあたりは凄すぎてわかんなかった。

でもML基盤のOSSは多く出ていること自体が勉強になったし、自分の会社に入れてみたいと思った。

まだ会社のML基盤は全く出来上がっていないけど、だからこそチャンスだと思う。

とくに最後の総括がすごく参考になった。

ML基盤OSSに触れていく価値

OSSの開発を見ていくという観念がそもそも自分にはなかった。ソフトが開発されていく様子を見つめていき、議論を見つめることで勉強していく。

最後に

すごいレベルの高い場所に来てとても刺激になりました。

またMLOps、ML基盤、ML運用界隈は、まだまだ発展途上でよくしていきたいと考えている企業は多く、今後必ずニーズがあるように感じた。

とーーーってもいい時間でしたーーー

ABOUT ME
hirayuki
今年で社会人3年目になります。 日々体当たりで仕事を覚えています。 テーマはIT・教育です。 少しでも技術に親しんでもらえるよう、noteで4コマ漫画も書いています。 https://note.mu/hirayuki