データサイエンティストとして働く上で成果を評価されるには、分析結果や開発モデルがビジネスにインパクトある貢献をすることが必要です。
そのためには、開発したモデルをしっかりと本番や商用の環境でデプロイし、継続的に活用していかなければなりません。その際に非常に重要になってくるのがMLOpsの考え方で、この記事ではその由来と概要を紹介します。
MLOpsとは
モデル開発、CI/CD、モニタリング、テスト検証、ガバナンスの一連のライフサイクルを、データサイエンスチームとビジネスチーム、ITエンジニアチームでうまく連携するためのプロセスや手法体系です。
MLOpsが普及する前
MLOpsの概念やそれを実現するツールやソリューション群が出現する前は、以下のような場合がしばしば機械学習サービスの開発現場で問題としてありました。
- 沢山の試行錯誤をし、モデルの再現性を試みたとき、データバージョンやモデルバージョンの管理が煩雑になり、場合によっては条件が保存されずに、再現するのに苦労をしてしまう
- 複数のバージョンのモデルを作ったが、バージョンの切り替えでソースコードやデータの変更に労力がかかり、場合によってはバージョンの変更ミスが起きてしまう
- 上記によって、最悪同じことのやり直しになり、大きな手戻りに繋がったり、影響の出た関連部門に対して火消し対応が求められたりする
- 本番環境にデプロイしたモデルのテストに漏れができ、それが障害トラブルに繋がってしまう
データサイエンスチーム内でさえ、試行錯誤の過程でデータ・モデルのバージョン管理や実験管理が大変なのに、商用・本番環境にデプロイしたり、テストをして開発チームや運用チームも関わってくるようになると、意思疎通やこの領域の交通整備をすることが困難かつ大変なことは想像に難くありません。
こうしたことは、機械学習システムが内包する技術的負債として有名なgoogleの論文(Hidden Technical Debt in Machine Learning Systems)でも言及されています。
MLOpsの提唱
MLOpsという言葉や概念は、ParalleMという機械学習の商用化を支えるプラットフォームを提供するスタートアップによって生み出され、実際ParalleMはMLOpsを実現するサービスを提供していました。
2019年の6月には、Datarobot社によって買収されています。
MLOpsのゴール
MLOpsによって以下のゴールを達成しようとしています。
- 効率よく実験とモデル開発ができる
- 効率よくモデルを本番環境でデプロイ、更新できる
- モデルの品質保証
- 上記の一連のライフサイクルが早く回せる
MLOpsの考え方ややり方よって開発モデルの本番適用に対して、
データサイエンティストから機械学習エンジニアを含む開発エンジニアへの連携が
シームレスにできるようになります。
なぜMLOpsが必要か
よくMLOpsの特徴として紹介されるのは、以下のような技術的な観点です。
- データのバージョンや属性の管理を行う必要がある
- 実験管理をしたり、実験過程を次に生かす必要がある
- 再現性確保のためのコード資産の管理とバックアップ
- パイプラインのチェックポイント管理
- 技術観点、ビジネス観点でのテストや検証の確証と自動化
- モデル精度・劣化およびデータドリフトのモニタリング
- モニター結果に基づくモデルの再学習の自動実施
では、より本質的なところでなぜMLOpsを企業は導入しなければいけないのか。
それは、以下のような理由でしょう。
- 機械学習モデルがビジネスの競争力の源泉であればあるほど、モデルとその周辺のシステムの改善サイクルを多く回す必要がある
- 変化の速いマーケットでは、改善サイクルやモデルの商用リリースを競合よりいち早く行うことが重要である
中途採用時にも重視されるMLOps経験
事業会社でデータサイエンティストの採用をする立場としても、MLOpsの経験は他人と差別化できるものです。
進んでいる企業ほど、アドホックの分析やPoCではなく、開発した機械学習アルゴリズムを商品やシステムとしての展開を考えている、ないし、実施しているからです。
他にも以下の理由でMLOpsの経験はデータサイエンティストにとって重要だと考えます。
- MLOpsによって機械学習モデルの価値がシームレスにビジネスで発揮できるため、それができている現場での経験は新しい環境でも同様にMLOpsの導入に役に立つ
- MLOpsのプラクティスを導入しないと機械学習サービスが立ち行かないような事業でなければいけない、またMLOps実行し、成功させるためにも複数のステークホルダーの協力の下、しかるべき開発運用環境が必要等、複数の条件が揃わないとMLOpsの導入必然性は低く、実業務として経験を持つこと自体珍しい
- MLOpsの経験を持つデータサイエンティストは、必然的に開発や運用に関する素養を持っており、関連部署との連携においても価値を発揮しやすい
最後に
機械学習の技術が進展し、より多くの便利なOSS、ツールや高性能な計算環境が提供されればされるほど、ビジネスへの導入が論点となり、いかに早く、効率よく商用への導入ができるかに移っていくのが間違いなく大きなトレンドになっていくでしょう。
その為、データサイエンティストとしてMLOpsについて理解するだけでなく、しっかりとMLOpsを通したビジネス貢献の経験も今後必須になってくるでしょう。