0
会員になると、いいね!でマイページに保存できます。
いま、多くの企業が機械学習(ML:Machine Learning)の導入、活用を進めています。ただ、機械学習を継続的に運用し成果を生み続けるのは容易ではありません。概念実証(PoC)は成功したもののシステム化できない場合や、何らかの形でシステムを構築したものの、効果が出ない、あるいは次第に効果が薄れてきたと悩んでいる企業も多いはずです。そこで注目されているのが、「MLOps(Machine Learning Operations)という考え方です。本稿では「MLOps」が必要な背景や活用のメリット、実際のサービス、市場環境、展望を含め、アクセンチュアのAIコンサルタントが解説します。
MLOpsとは何か?
MLOpsとは、「Machine Learning Operations」の略で、機械学習における運用サイクルを管理することです。AIという技術分野の中でも、データに基づいてモデルが学習を行う機械学習は、最も広く活用されている技術です。深層学習(Deep Learning)も、機械学習の一部です。機械学習には実験段階のモデル作成(PoC)、商用化を想定したシステム化、運用という3つのフェーズがあります(図1)。それぞれのフェーズをスムーズにつなぎ、継続的に価値を創出するためには、各フェーズを担当するチーム、あるいは業務の効果的な連携が欠かせません。それがMLOpsの考え方です。
機械学習は2010年代に研究分野で活用されていましたが、近年はビジネス分野でも広く活用されるようになりました。さまざまな研究機関や企業が機械学習モデルの開発・運用に取り組む中で、3つのフェーズをトータルに管理することが、機械学習を成功に導くカギであるとの認識が広がりました。いま、MLOpsへの関心は世界的に高まっています。
システム開発において、DevOps(Development and Operations)という手法があります。開発と運用の連携を重視し、改善を繰り返しながら継続的かつスピーディーにサービスを向上させようというアプローチです。MLOpsはこの考え方を機械学習に適用したものです。
MLOpsと似た用語で、ModelOpsがあります。ModelOpsは機械学習モデルのライフサイクル管理に焦点を当てており、ビジネス改善を含めた広いエリアを対象にしています。これに対して、MLOpsはそのライフサイクルの中でも機械学習の開発、テスト、運用を対象にしており、現場のデータサイエンティストやデータエンジニアが活用する手法です。一般的には、MLOpsはModelOpsのサブセットと位置付けられています。
アクセンチュアではMLOpsを機械学習モデルの管理のみだけでなく、ModelOpsのようなビジネス効果につなげる視点から、MLOpsを実現するための組織のあり方や人材育成を含めて、MLOpsを広くとらえています。
MLOpsが必要になった背景
機械学習のビジネス活用の広がりに伴い、新たな価値を創造する企業が増えるとともに、一方ではさまざまな課題が浮上しています。例えば、PoCで作成されたAI/機械学習モデルの多くが実証にとどまり、約90%がビジネスに実装されていないとの調査も
あります。
また、PoCから商用への移行に要する時間も課題です。半数程度のAI/機械学習モデルで、商用移行に平均約9カ月かかっているとの指摘が
あります。
課題の背景には、AI/機械学習システムを取り巻く環境の複雑さがあります。AI/機械学習システムとその周囲で用いられる技術要素は非常に多く、複雑に連携しています。また、新しい技術分野ということもあり、GPUといった特殊なハードウェアやソフトウェアの扱いに慣れている専門家は少ないのが実情です。
加えて、PoCや開発を担うチームと運用チームとの意識の乖離も起こりがちです。例えば、運用チームは障害やセキュリティのリスクを懸念して完成度の高い機械学習モデルを要求する一方、開発チームは完成度よりもリリースのスピードを優先する、といったことがよくあります。そこで、開発と運用が連携し、改善を繰り返しながら継続的かつスピーディーにサービスを向上させようとMLOpsのアプローチが求められるようになったのです。
ソフトウェア開発における機械学習「4つの特殊性」
ソフトウェア開発の観点で見ると、機械学習には一般的なシステムと異なるいくつかの特性があります。これも機械学習モデル開発、運用の複雑性を高める要因です。ここでは大きく4点紹介します。以下、4つの特徴はAIおよび機械学習に特有の「考慮すべき要素」です。従来のシステム開発の延長ととらえるのではなく、こうした要素を踏まえた上でシステム開発・運用に向き合う必要があります。
特徴1:CACE原理
CACEとは「Change Anything, Change Everything」の略語で、「何かを変えれば、すべてが変わってしまう」という意味です。局所的と思われる小さな変更であっても、全体に深刻な影響を及ぼす可能性を考慮した上で、機械学習システム全体を管理する必要があります。
特徴2:継続的な再学習
学習時と推論時にデータに何らかの変化(ドリフト)が生じた場合、機械学習モデルの精度が低下する恐れがあります。そのため、モデル精度やデータ傾向を監視するとともに、再学習を繰り返す仕組みを構築する必要があります。
特徴3:責任あるAI(Responsible AI)
学習データの偏りやモデル開発者の無意識バイアスなどにより、AIが人を差別してしまうなど倫理的に問題のある事例が報告されています。こうした事態を避けるためには、倫理面のルールやガバナンスの整備、モデルやデータの多角的なテストが必要です。
特徴4:扱う技術領域の広さ
PoC、システム化、運用という3つフェーズを実行するためには多様な技術が求められます。それぞれの担当者が協力、連携するためには、相互理解とともにチーム体制や開発ルールの整備が欠かせません。
機械学習プロジェクトにおける課題と原因
機械学習システムの開発プロジェクトにおける具体的な課題はいくつかあります。ここでは、代表的な課題5つについて、その原因を含めて概説します。
- 過去のモデル・精度の再現ができない
そもそも実験管理(学習データなどモデル作成条件の管理、モデル評価指標の管理など)ができていない、あるいはモデルを管理するシステムやルールの不備などが考えられます。各担当者が属人的な経験則に基づいて、開発を行っているケースがしばしば見られます。
- 最新データクレンジングの状況が不明
そもそものデータ管理ができておらず、データの取込・加工・格納ルールがないことなどが原因です。結果として、各担当者が独自でデータテーブルを作成しているため、データの誤記や未入力・重複などの不備を修正する作業(データクレンジング)の状況が分からなくなります。例えば、ある開発者がクレンジングしたデータを、別のメンバーがクレンジング状況を十分に把握しないまま使い回すことがあります。その場合、最初にクレンジングしたときのデータに問題が含まれているかもしれません。ルールの未整備がこうした問題を引き起こします。
- 商用システムにおける障害発生
PoCで暫定的な成果を出せたとしても、商用化を見据えた開発として問題を残すケースがあります。例えば、属人的なテスト、ドキュメントやエビデンスの不備、商用化前にPoCで作成した分析モデルのテスト・精度確認を十分実施していないなど、PoCフェーズに原因がある場合が多くみられます。
- 商用化における工数の増大
PoCにおけるドキュメント作成や実装のルールがないため、商用システムの品質が不均質になることがあります。また、商用化ルールが曖昧になり、チーム内の役割分担が不明確になるといった原因から、商用システムに必要な機能にヌケやモレが生じることもあります。
- モデル精度の低下
取り込むデータの変動やモデル自体が抱える課題によって、モデルの精度自体が低下することがあります。例えば、法改正などの環境変化により、社内外のデータの傾向が大きく変わる場合、データを取り込んだ機械学習の結果は大きな影響を受けます。データが変動するだけでなく、モデルの対象が変わるケースもあります。例えば、マーケティングにおけるターゲット顧客層は、自然災害など外部環境の大きな変化があると、顧客層の定義そのものが変わる可能性があります。モデルの精度に影響を与える要因はさまざまです。
【次ページ】 AWSやAzure、GCPなど「機械学習の開発・運用」サービス比較
関連タグ