SREの林です。今回は社内の面白い取り組みを紹介します。
その名も"MLOps勉強会"です。
"MLOps"が何かは上記のリンク先が詳しいですが、一部を引用すると以下の通りです。
MLOps stands for Machine Learning Operations. MLOps is a core function of Machine Learning engineering, focused on streamlining the process of taking machine learning models to production, and then maintaining and monitoring them. MLOps is a collaborative function, often comprising data scientists, devops engineers, and IT.
強引に一言で表現すると "機械学習をいい感じに回していくやり方" と(個人的に)捉えています。
私自身はこの勉強会が始まるまではMLOpsの知識を全く持っていませんでした。例えばAIOpsとMLOpsの違いが良く分かっていない状態でした。(この違いについては現在最も日本のエンジニアリング界隈で熱いPodcastの一つである "e34.fm" の18回で、yuuk1t さんが説明されていますので興味がある方は聴かれてはいかがでしょうか。*1 )
私はゼロからの状態で参加したMLOps勉強会の中で質疑応答や議論を通して、現在はMLOpsの入り口には立てた感触を持っており、その楽しい体験をブログで紹介したい気持ちで本記事を書いています。
MLOps勉強会の発足の経緯
Oisix ra daichi Inc.(以後はORD)は、国内外で食品宅配を中心としたECサービスを行なっています。私たちは"中の人"として、私たちのサービスが日々お客様に喜んで頂けるための努力を重ねています。その中で「より良い商品のリコメンドができないだろうか」「仕組みを洗練させてお客様のために尽力する時間を増やせないだろうか」などの自問自答を重ねてきました。
ORDサービス紹介
そういった中で今年(2022)から参画したメンバーを中心に「機械学習を社内でも検討しよう、そうだ!MLOpsだ!!」の流れを受けて勉強会の開催が決まり、社内へ募集をかけたところ20名以上の参加者が集まる盛り上がりを見せています。*2
主催者でもある"中野高文"さんについては以下でインタビューがあるのでぜひ。*3
MLOps勉強会での学び
勉強会ではGoogle Cloudが公開している "Practitioners Guide to MLOps" を自分たちなりに解釈していこうと取り組んでいます。いち参加者である私は機械学習についての知識はゼロでしたが、回を重ねるうちにMLOpsの理解が進み、CI/CDやMonitoringなどシステム開発と似ている部分があることを学ぶことができました。改めて素晴らしいドキュメントを公開しているGoogle社に感謝と敬意を送ります。 cloud.google.com
この勉強会のいいところは、何を言っても許される空気です。*4
ゼロからMLOpsを学ぶ上で最初の関門は機械学習ならではの"専門用語"です、例えば以下のような言葉たちです。
- 説明可能
- Prediction serving(予測の実行)
- データドリフト
- etc...
私たちのMLOps勉強会ではカジュアルに「この用語わからない><」のようなやりとりを行いながら、参加者の理解を進めていく空気を作っています。
MLOpsが事業に貢献できるかは慎重に考える
勉強会の中で共有されている認識として「MLOpsが事業に貢献できるかは慎重に検討しなければならない」です。MLOps勉強会の主催メンバは"AI Cloud"でデータサイエンティストとしてのキャリアを持っており、世界を見てきた経験からORDで何ができるかを真剣に考えています。
"MLには不確実性が確実にある"からこそ、事業に貢献するためにどういった活用ができるのか、ROIが得られるのかといった議論に始まり、そもそも自分たちが果たしている役割は会社に貢献できているのだろうか?といったMLOpsだけでない議論にもつながっているところは良い意味で幅が広い勉強会となっていると感じています。
Amazon SageMaker への興味
MLOps勉強会では機械学習の理論を学ぶだけではなく、MLOpsを実現するためのプロダクトにもテーマを持っています。主催者が興味のあるプロダクトを上げたところ20にもなっており、全てではないですがチュートリアル程度の検証を行なって感触を確かめる動きを今後していく予定です。 リストアップされたプロダクトの一部を紹介すると以下です。*5
- Amazon SageMaker
- DataRobot
- H2o Driverless AI
- Dataiku
- Feast
- Tecton
- Kubeflow
ORDでMLOpsを進めていくプロダクトの候補の筆頭としてあげられるのは"Amazon SageMaker"です。
先日開催された AWS Summit Tokyo 2022で
"スケールする Oracle DB を求めて 〜Oisix の Amazon RDS for Oracle 移行への挑戦〜(CUS-32)" のセッションで紹介した通り、ORDではAWSをサービスを行う主要なInfrastructureとして採用しているため、MLOpsを行う上でもAWSのサービスを検討しています。
この流れを受け、先日Amazon SageMaker StudioでJupyterLab 3が利用できるようになった勢いで検証環境での利用を始めました。
Amazon SageMaker Studioの初見の印象としては、AWS Single Sign-Onとの連携で必要な人たちにシュッとJupyterLabを配れるのが大変良い体験です。*6
JupyterLabの画面も大変クールです。
もちろん大事なのはここからです。どのようにしてMLOpsを会社の役に立てられるのか?を検証を通して探る必要があります。
機械学習のバックグラウンドを持つメンバは社内に少ないですが、地道に検証と議論を進めていきたいと考えていて、それを行っていくのが"MLOps勉強会"なのです。
MLOps同様SageMakerについても学び始めたばかりですが、主催メンバからは「以下の機能が気になる!」とコメントが出ています。検証・勉強やっていきです!
- SageMaker Pipeline:MLOpsのワークフロー管理
- SageMaker Model Monitor:モデルの精度やドリフトの検知
- SageMaker Projects:MLプロジェクトのテンプレート化
- SageMaker Model Registry:モデルの管理
まとめ
以上がORDのMLOps勉強会の紹介でした。いつかORDのMLOps事例を紹介できる日を社員としても期待しています。
最後に以下は3行にまとめたものです。
- Oisix ra daichi Inc. でMLOpsの種まきをしつつあります
- リモートワーク下でも勉強会が発足し、20名を超える有志が参加しています
- 様々な分野で採用を進めています、カジュアル面談ウェルカムです、少しでも気になったら コチラへどうぞ