第3次AIブームと言われて久しく、すでにさまざまな企業が画像認識や音声認識、自然言語処理などを生かしたAIサービスを提供するようになった。
AIを実装する機械学習アルゴリズム、特に深層学習は、従来のルールベースなアルゴリズムより高い精度を出せる場合があるのが利点の一つだ。しかし、内部はブラックボックスになりがちで精度改善が難しい場合や、機械学習モデルに学習させるべきデータが適切に整形されていないこともある。
こうした「AI開発」前後の運用を成功に導く取り組みとして、近年「MLOps」(エムエルオプス)という開発手法に注目が集まり始めている。
AIベンダーやノーコード/ローコードでのAIモデル作成ツールなどが増え、以前よりはAIを導入しやすい環境になった。しかし、AI導入の“前後”はおろそかになっていないか。開発体制は迅速に回るか。モデル精度はモニタリングできているか。機械学習の開発と運用にまつわる開発手法「MLOps」のいまをお届けする。
MLOpsという言葉自体は、少なくとも2018年のGoogle Cloud Nextで同社のDeveloper Advocateである佐藤一憲さんが登壇した際に登場している。同セッションは「What is ML Ops? Best Practices for DevOps for ML」(ML Opsとは何か? 機械学習版DevOpsのためのベストプラクティス)と題したもので、中で佐藤さんは「この言葉は私と同僚が作ったもの」と解説している。
MLOpsというワードは、AI系のベンダー各社で微妙に定義が異なる。以下では、佐藤さんがこのセッションで話したことをベースにMLOpsとは何かを見ていく。
セッションのタイトルにもあるように、MLOpsは「機械学習版DevOps」という意味だ。DevOps(デブオプス)は、ソフトウェア開発者と運用担当者が密に協力することで開発を迅速に進める取り組みや文化として知られている。
ソフトウェア開発においては、開発部門と運用部門で役割が分担されることで考え方や目的にギャップが生まれ、それがソフトの改善の障壁となる場合があった。それを協力体制にし、コミュニケーションツールやテスト・デプロイ自動化ツール(CI/CD)、本番環境の監視ツールなどを導入することで開発を加速化しようというのがDevOpsだ。
佐藤さんは「DevOpsのITとシステムの部分を機械学習に置き換えられる」とした上で「品質の高い機械学習システムを構築するには、機械学習の開発と運用を統一し、システムの自動化とモニタリングを推し進めることが重要だ」と指摘している。
つまり、ここ10年ほどで機械学習に取り組む人や企業が増えた分、機械学習をベースにしたサービスの開発にも、従来のソフトウェア開発と同じような課題が見えてきたということだ。
「『立ち上げは簡単だが、運用は難しい』という声を、社内の機械学習の専門家や顧客から聞き続けてきた」(佐藤さん)
ではどんな開発・運用シーンに課題があるのか? 佐藤さんはいくつかのアンチパターンとその解決策を挙げる。
Copyright © ITmedia, Inc. All Rights Reserved.
続きを読むには、コメントの利用規約に同意し「アイティメディアID」および「ITmedia NEWS アンカーデスクマガジン」の登録が必要です
Special
PR