1分で分かる!MLOpsとは?
~ ことりん君、誰かとスマートフォンで通話中。かなり深刻そうな顔… ~
「うんうん。それは大変そうだね。うん。笹の葉だよね。うん…。また電話するね。」
ことりん君、こんにちは。何やら深刻そうな顔をしているね?
あぁ、ジャバード先生!!そうなんだ…。またトラブルが起きているみたいでさ…。
今日は一体どうしたの?笹の葉がどうとか聞こえてきたけど。
笹の葉でおなじみのパンダさんとお話してたんだ。
たしかパンダさんはPythonで「AIを使って鮮度が良い笹の葉を見分けるシステム」を開発しているとかいってたっけ?
そうそう!その機械学習なんだけどね。どうやら最近あんまりうまくいってないみたいなんだ。
ふむふむ。どんな問題があるっていってた?
なんかね、機械学習の開発チームと運用チームの仲があんまり良くないみたいなんだよね。2つのチームが協力していこうぜ!って感じじゃないみたい。
なるほどね。
あとはボクよく知らないんだけど、機械学習って結構大変なの?なんか聞いた話によれば、要員的にも時間的にもかなりコストがかかるみたいなんだよねぇ。それも問題点として、最近浮き彫りになってきたみたいなんだ。
ことりん君ありがとう。問題点はだいたいわかったよ。ところでさ「開発チームと運用チームの衝突」って聞き覚えないかな?前にも似たようなテーマを話したと思うんだけど。
開発チームと運用チームの衝突?そういえば何か聞き覚えがあるような…。ちょっと待ってね。そうだ!あれだ!あの「なんとかかんとか」ってやつ!!
「なんとかかんとか」って何も出てきてないね。
あ、わかった!DevOpsだ!!
そうそう!今回はそのDevOpsの機械学習版であるMLOps(エムエルオプス)を適用するのがいいんじゃないかな?
MLOps??
そうだね。DevOpsは「Development and Operations」を略した言葉だけど、MLOpsは「Machine Learning Operations」を略した言葉なんだ。
えっとMachine Learningが機械学習でOperationsが運用ってことだよね?
そのとおり!機械学習も開発と同じように、開発チームと運用チームが縦割りのままでは思うような成果をあげることは難しいんだよ。だから、DevOpsの機械学習版ってやつを作って、機械学習のプロジェクトがもっと成功するようなチーム体制や開発基盤を作りましょう!ってやつがMLOpsなんだよ。
なるほどねぇ。そんな便利なものがあるんだね。あ、ちょっとまって。開発チームと運用チームの仲はそれで改善するかもしれないけど、「コストがかかる」って点は解決できてないんじゃない??
そこも、もちろんMLOpsで解決できるんだ。現在ではさまざまな企業がMLOpsを促進させるためのツールを提供しているんだ。そのツールを活用すれば、機械学習をもっと効率化したり省人化することができるんだ。
それはいいことを聞いた!じゃあパンダさんには、そのMLOpsってやつを紹介すれば良さそうだね!
うん。それできっとうまくいくんじゃないかな?
ジャバード先生ありがとう!ちょっとパンダさんのところに行ってくるね!
はーい!機械学習うまくいくといいね!
MLOpsとは?採用に役立つMLOpsの基礎知識
MLOpsとは機械学習に関する開発チームと運用チームにおけるベストプラクティスをまとめたものです。さまざまなソフトウェアやサービスを活用したり、開発チームと運用チームが協力しやすい体制を構築することで、機械学習をより成功に導くための手法です。簡単にいえば、MLOpsとは「DevOpsの機械学習版」と覚えておくとよいでしょう。
なお、IT業界を代表する企業であるGoogleやAmazonもMLOpsを重要事項ととらえ、自社でも積極的に活用しています。
MLOpsに関連するエンジニア
前述したとおり、MLOpsは機械学習に関するものです。そのため、機械学習エンジニアなどがMLOpsに最も近いポジションといえます。
MLOpsを使うエンジニアの特徴と在籍業界
機械学習という言葉自体が、比較的最近の技術要素といえます。また、当然ではありますがMLOpsも登場して日が浅い技術要素です。そのため、現時点でMLOpsについて詳細を把握しているというエンジニアは、新しい技術要素のキャッチアップに余念がなく、自己研鑽し続けることができる人だといえます。
なお、MLOpsに関連するエンジニアが在籍している業界として特定の傾向はありません。
採用する時に知っておくとよいこと
MLOpsエンジニアに必要なもの
MLOpsエンジニアと聞くと非常に難しいスキルが必要になるイメージを持つかもしれません。たしかにそういった面もあります。ただし、MLOpsエンジニアが対応する範囲は広く、設計や実装はもちろん、ユーザーに対するヒアリング力なども求められます。
現在、MLOpsエンジニアの需要はかなり高くなっています。そのため、企業によっては採用のハードルを下げているケースもあります。
求人のポイント
求人を作成する時は、下記の内容を求人に入れるとよいです。
1システム(サービス)の詳細
※特にそのシステム(サービス)をなぜ作っているのかを熱量をもって記載する。
2開発環境
3現在のエンジニア組織の体制
4現行システムの課題と募集の背景
5求められる業務と期待値
6エンジニアとしてのスキルアップ支援制度の有無と詳細
7エンジニアチーム内での相互成長のための仕組み(勉強会やLT会など)の有無と詳細
8選考フロー
9待遇
10キャリアパス
MLOpsの豆知識
MLOps関連のサービス
ここではMLOps関連のサービスをいくつか紹介します。
NTT DATA社 MLOps導入サービス
日本を代表するSIerであるNTT DATA社は、MLOps導入サービスとして同社のAltemistaというサービスを中心にオープンソースソフトウェアやクラウドサービスを組み合わせたものを提供しています。このサービスを導入することにより、AI開発の効率化が可能となるとのことです。ちなみに同社の公式サイトによれば、最大で250%以上の効率化が可能となったとのことです。
https://abler.nttdata.com/solution/altemista/mlops.html
AWS社 AWS MLOps フレームワークフレームワークとは、必要となる機能を簡単に開発できるようにまとめたプログラム群です。昨今、ビジネスのスピードは急速にあがっています。そのため、サービスを開発する際も、より早く完成させることが求められています。ただ、すべての機能をゼロから開発していると多くの時間を費やしてしまいます。 フレームワークは、システムを開発する際に必要となる機能があらかじめプログラミングされており、簡単に利用することができます。例えば、Webアプリケーションのフレームワークであれば、ログインなどの認証機能、メール送信機能、簡単な画面などといった具合です。 なお、フレームワークはプログラミング言語ごとに異なります。PythonであればDjango、Flask、PHPであればLaravel、CakePHP、RubyであればRuby on Railsなどです。それぞれ特徴があるため、目的や用途などを考慮して採用するフレームワークを決定します。 More
各クラウドベンダーもMLOpsに力を入れています。具体的にはクラウドサービスを組み合わせてMLOpsフレームワークを実現できるようになっています。以下のリンクではAWSソリューションを用いたMLOpsのフレームワーク実装例がサンプルとして掲載されています。
https://aws.amazon.com/jp/solutions/implementations/aws-mlops-framework/
MLOps関連の資格
MLOpsに関連する資格としては、Google社のProfessional Machine Learning Engineerがあります。この資格は、Google CloudのMLOps関連サービスに対するスキルのほかに、MLOpsの知識なども問われます。
また、Amazon社のAWS Certified Machine Learning – SpecialtyもMLOpsに関連する資格の1つです。
MLOps関連のイベント
MLOps関連のカンファレンスとしては、MlSysという国際会議が有名です。その他にはUSENIX Associationという非営利団体が主催しているOPMLという国際会議があります。