コンテンツにスキップ

英文维基 | 中文维基 | 日文维基 | 草榴社区

利用者:Irgenwodubist/MLOps

MLOpsとは、DevOpsをベースとした概念であり、機械学習またはディープラーニングライフサイクルを管理するために、データサイエンティスト、エンジニア、保守運用担当者のコラボレーションおよびコミュニケーションに関する実践手法。

概要

[編集]

ソフトウェア開発ライフサイクル全体におけるワークロードの管理は、従来からDevOpsの概念があった。機械学習プロジェクトにDevOpsを適用した場合、モデルトレーニング等を含むのCI/CDのプロセス管理やデータサイエンティストとデータエンジニアの職種の役割分担など多数の機械学習特有の課題を考慮する必要が生まれた。その結果DevOpsをベースに機械学習プロジェクトに合理化された手法がMLOpsとして概念化された。

定義

[編集]

Google社の定義[1]

[編集]

MLOps は、ML システム開発(Dev)と ML システム オペレーション(Ops)の統合を目的とする ML エンジニアリングの文化と手法です。MLOps を実践すると、統合、テスト、リリース、デプロイ、インフラストラクチャ管理など、ML システム構築のすべてのステップで自動化とモニタリングを推進できます。

Microsoft社の定義[2]

[編集]

MLOps は、ワークフローの効率を向上させる DevOps の原則と実践に基づいています。 たとえば、継続的インテグレーション、配信、デプロイです。 MLOps では、次のことを目標に、これらの原則を機械学習プロセスに適用します。

  • モデルのより迅速な実験と開発
  • 実稼働環境へのモデルのより迅速なデプロイ
  • 品質保証

Amazon社の定義[3]

[編集]

MLOps は、機械学習ワークロードにDevOps プラクティスを適用することに基づいて構築された方法論を指します。DevOps は、ソフトウェア開発ライフサイクル (SDLC) 全体でソフトウェアの配信を合理化するために、開発と運用の分野の交差に焦点を当てています。MLOps は、データ サイエンス、データ エンジニアリング、既存の DevOps プラクティスと組み合わせて、機械学習開発ライフサイクル (MLDC) 全体にわたるモデルの提供を合理化することに重点を置いています。 MLOps は、ML ワークロードをリリース管理、CI/CD、および運用に統合する規律です。多くの企業では、ML プロジェクトは、他のチームから隔離された研究チーム内で動作するデータ サイエンティストから始まります。MLプロジェクトは、最初の概念実証の結果で価値を証明するので、企業は当然それらを生産に移したいと考えています。DevOps がソフトウェア開発と運用を統合するのと同様に、MLOps ではソフトウェア開発、運用、セキュリティ、データ エンジニアリング、データ サイエンスの統合が必要です。

背景・歴史

[編集]

アプリケーションにおける機械学習の継続的な使用の課題は、機械学習システムにおける隠された技術的負債という2015年の論文で強調された[4]。機械学習市場は2021年までに576億ドルに達すると予測され、年間成長率(CAGR)は50.1%と推定されている[5]

2018年、GoogleからML生産に関するプレゼンテーションを行った後[6][7]MLOpsとそれに対するアプローチは、企業における機械学習の複雑さと成長に対処できるソリューションとして、AI / MLの専門家、企業、テクノロジージャーナリストの間で牽引力を得始めました。[8][9][10][11][12][13][14][15][16]

さまざまな企業が MLOps のプラクティスを開始した。

2018年12月Microsoftは機械学習モデルの構築やデプロイのプロセスの簡略化と短縮化を目的として設計されたAzure Machine Learning Serviceを一般公開した[17]。Amazon社は2017年11月公開の機械学習プラットフォームであるAmazon SageMakerに順次機能を追加し、MLワークロードの統合管理機能を提供している[18]

課題

[編集]

MLOpsの概念を導入する以前の機械学習プロジェクトの主な問題点を下記に挙げる。これらの課題は後述するMLOps#特性にて解決への内容を記載する。

機械学習モデルの精度は、利用の開始時点で最も精度がよい。その後、環境が変化を予測をするにつれて悪化する。この現象はコンセプトドリフトとして知られており、機械学習モデルが予測しようとしている目的変数の統計的特性が、予期せぬ方法で時間の経過とともに変化することが原因となる。この問題を解決するには機械学習モデルを固定のモデルではなく、継続的に再訓練することで環境の変化に適応する必要がある[19]

機械が自ら膨大なデータを学習し答えを導き出すという特性上、その「思考のプロセスが人間には分からない」という問題がある[20]。この問題は特にニューラルネットワークを利用する深層学習で課題になることが多い。ニューラルネットワークはその特性上、隠れ層のノードにて複数の入力を処理し次の隠れ層のノードへ出力することを繰り返し、無限に複雑になる可能性がある。膨大なデータから機械が出力した回答はどのような判断基準でその回答が導き出されたのかが分からない[21]

モデル構築コスト

[編集]

一般的に機械学習のモデル構築プロセスはデータの収集、データの前処理、モデルの訓練、モデルの評価といったプロセスを繰り返して完成した精度の良いモデルを本番環境へ適用する[22][23]。このプロセスは非常にステップが多く、時間がかかるものであり、初めのステップである収集されたデータが変わるたびにこのプロセスを繰り返すことは非常に手間と時間がかかる課題がある[24]

特性

[編集]

MLOpsの特性にはDevOpsを踏襲する特性[25][26][27]を含む。

  • CI/CD
  • ソフトウェアの安定性、品質の向上
  • チームによるコラボレーション ※DevOpsでは開発者と運用保守担当者が焦点だが、MLOpsではデータサイエンティスト、エンジニア、保守運用担当者を主要なメンバーとする。
  • 高速なモデル訓練のライフサイクル
  • 監視、アラート、セキュリティの統合
  • 説明可能なAI(Explainable AI)

方法論

[編集]

MLOps: 機械学習における継続的デリバリーと自動化のパイプライン  |  Google Cloud

https://cloud.google.com/solutions/machine-learning/mlops-continuous-delivery-and-automation-pipelines-in-machine-learning?hl=ja#mlops_level_0_manual_process


脚注

[編集]
  1. ^ MLOps: 機械学習における継続的デリバリーと自動化のパイプライン”. Google Cloud. 2021年3月18日閲覧。
  2. ^ jpe316. “MLOps:ML モデル管理 - Azure Machine Learning”. docs.microsoft.com. 2021年3月18日閲覧。
  3. ^ aws-samples/mlops-amazon-sagemaker-devops-with-ml” (英語). GitHub. 2021年3月18日閲覧。
  4. ^ Sculley, D.; Holt, Gary; Golovin, Daniel; Davydov, Eugene; Phillips, Todd; Ebner, Dietmar; Chaudhary, Vinay; Young, Michael et al. (7 December 2015). “Hidden Technical Debt in Machine Learning Systems”. NIPS Proceedings (2015). https://papers.nips.cc/paper/5656-hidden-technical-debt-in-machine-learning-systems.pdf 14 November 2017閲覧。. 
  5. ^ Worldwide Semiannual Artificial Intelligence Systems Spending Guide”. IDC. 25 September 2017閲覧。
  6. ^ What is ML Ops? Best Practices for Devops for ML”. YouTube. YouTube. 19 July 2020閲覧。
  7. ^ What is MLOps?”. Algomox. Algomox. 25 November 2020閲覧。
  8. ^ MLOps Silicon Valley”. Meetup. Meetup. 2 February 2018閲覧。
  9. ^ Should every business function have an Ops extension?”. Tech HQ. Tech HQ. 13 April 2018閲覧。
  10. ^ How to build AI culture: go through the curve of enlightenment”. Medium. Hackernoon. 28 April 2018閲覧。
  11. ^ Why MLOps (and not just ML) is your Business’ New Competitive Frontier”. AITrends. AITrends. 30 January 2018閲覧。
  12. ^ MLOps with serverless architectures (October 2018)”. LinkedIn SlideShare. Julien Simon. 23 October 2018閲覧。
  13. ^ Scalable Data Science/Machine Learning: The State of DataOps / MLOps in 2018”. MachineLearning.AI. Alejandro Saucedo. 9 September 2018閲覧。
  14. ^ Operational Machine Learning: Seven Considerations for Successful MLOps”. KDNuggets. KDNuggets. 1 April 2018閲覧。
  15. ^ BD Podcast Ep 34 – Putting AI to Work with MLOps Powered by ParallelM”. Big Data Beard. Big Data Beard. 17 July 2018閲覧。
  16. ^ What is ML Ops? Solutions and best practices for applying DevOps to production ML services”. Artificial Intelligence Conference. O'Reilly. 10 October 2018閲覧。
  17. ^ Azure Machine Learning service の一般公開に関するお知らせ: その具体的な内容 | Azure のブログと更新プログラム | Microsoft Azure”. azure.microsoft.com. 2021年3月18日閲覧。
  18. ^ 特徴 - Amazon SageMaker | AWS”. Amazon Web Services, Inc.. 2021年3月18日閲覧。
  19. ^ Talby, David. “Council Post: Why Machine Learning Models Crash And Burn In Production” (英語). Forbes. 2021年3月28日閲覧。
  20. ^ AI研究における「ブラックボックス問題」とは何か”. Forbes JAPAN(フォーブス ジャパン) (2018年2月20日). 2021年3月28日閲覧。
  21. ^ The AI black box problem” (英語). ThinkAutomation (2019年11月26日). 2021年3月28日閲覧。
  22. ^ Education, Kamalika is passionate to write about Analytics driving technological change (2020年7月3日). “How does a Data Scientist Build a Machine Learning Model in 8 Steps?” (英語). Analytics Insight. 2021年3月28日閲覧。
  23. ^ Education, Kamalika is passionate to write about Analytics driving technological change (2020年7月3日). “How does a Data Scientist Build a Machine Learning Model in 8 Steps?” (英語). Analytics Insight. 2021年3月28日閲覧。
  24. ^ Weaveworks (2019-12-18). Using MLOps to Bring ML to Production/The Promise of MLOps. https://www.slideshare.net/weaveworks/using-mlops-to-bring-ml-to-productionthe-promise-of-mlops. 
  25. ^ What is DevOps? DevOps Explained | Microsoft Azure” (英語). azure.microsoft.com. 2021年3月28日閲覧。
  26. ^ DevOps とは: 研究とソリューション”. Google Cloud. 2021年3月28日閲覧。
  27. ^ DevOps とは? - DevOps と AWS | AWS”. Amazon Web Services, Inc.. 2021年3月28日閲覧。