PoCを成功させ、本番運用までこぎつけたものの
- メンテナンスまで手が回らない
- モデルを作りっぱなしで精度が落ちている
という状況に直面する企業も出てきているのではないだろうか?
AIの特性上、再学習を繰り返さなければ、精度は落ち、実用に耐えられなくなる可能性がある。開発後の運用やデータ管理まで考えたAIプロジェクトを企画、推進するにはどうすればよいのだろうか。
日本マイクロソフト株式会社のAI運用スペシャリスト、女部田 啓太氏に開発後までを考慮したAI導入方法について聞いた。
日本マイクロソフト株式会社 クラウド&ソリューション事業本部
インテリジェントクラウド統括本部 データ&クラウド技術営業本部
Advanced Analytics & AI テクノロジーソリューションプロフェッショナル
導入後の運用まで視野に入れてAI開発を
ビジネスへのAI導入例が増えるなか、あまり語られないのがAI導入後の運用や管理だ。
「せっかく本番環境でAI導入に成功しても、運用管理を考えられていないケースがほとんどです。
導入時点では必要性が低くとも、長期的にみれば運用管理までを視野に入れて開発を進める必要があります」
たとえば、製品の外観検査に画像認識を用いる場合を想定してみよう。製造ラインで加工方法に変更があり、新しい形状のキズが不良として出てしまった際には、AIに新しいキズの形状を学習させなければ不良を見逃してまう。
しかし、運用管理まで行おうとすると、
- リソース不足
- AI運用の社内システムが未整備
- AI運用の仕組みをどう構築すべきかノウハウ不足
などの壁に直面してしまう。
そこでMicrosoftが提案するのが「Azure Machine Learning」だ。AI開発後の再学習を含めたライフサイクル管理を自動化することで、これらの問題を解決するという。
Azure Machine Learningとは、マイクロソフトのクラウドサービスMicrosoft Azure上で提供される機械学習プラットフォームのこと。データ準備からモデルの運用管理まで、機械学習の開発プロセスを効率的に実行する仕組みが提供される。機械学習に関わるライフサイクル全体を管理できる。
「『Azure Machine Learning』とシステムの開発をサポートする『Azure DevOps』を組み合わせることで、AIモデルの運用管理サイクルを効率的に回す仕組みを構築できます。
自動化パイプラインを構築し、
- コード、データの管理
- モデルの構築、検証
- デプロイ
- モニタリング
といった開発と運用のプロセスを自動で進められます」
パラメーターの変更をExcel上で管理したり、誰がどのコードを書いたか把握できていなかったりと、プロジェクトの煩雑な管理に困っている方もいるのではないだろうか。
このような状況では、AI開発サイクルはスムーズに進まず再学習まで手が回らない。
Azure DevOpsの開発運用プロセスに、機械学習のケースを当てはめると、以下のように運用管理を自動化できる。
Pythonが書ける書けないに関わらず、誰もが機械学習にアクセスできるプラットフォーム
Azure Machine Learningはユーザーの目的やスキルに合わせた3つのインターフェースがあり、機械学習初心者でも使いやすい仕様になっている。
「自動機械学習 Automated Machine Learningのインターフェースでは、データを用意するだけでAzureのクラウドを使って、さまざまなモデルのパターンを試せます。
前処理やアルゴリズム、パラメータなどを気にする必要はありません。Azure側で自動的にさまざまな組み合わせを検証した結果から、精度の高いモデルを選ぶだけです」
ユーザーはデータセットの準備やゴール設定を行うだけで良い。そのため、Pythonを書けなくとも、基本的な機械学習の仕組みを理解していれば、機械学習モデルを生成できる。
また、ビジュアルインターフェースを使い、ユーザー自身がデータ処理フローを描くことも可能だ。ドラッグアンドドロップだけで機械学習のパイプラインが構築できる。
これらの機能で作ったモデルは共有できるため、その後のデプロイや修正も簡単だという。
「Azure Machine LearningはAzure Machine Learning が提供するPython SDKがコアになっています。Pythonが使える環境にPython SDKをインストールして頂ければ、普段開発に使っているPythonライブラリやプログラミング環境をそのまま使ったまま、Azure Machine Learning をご利用いただけます」
初心者からエンジニアまで幅広くサポートされ、プロトタイプから運用管理まで対応できるプラットフォームが1つあると、プロジェクトの管理がかなり楽になりそうだ。
「トレーサビリティ」や「説明可能なAI」にも対応
「マイクロソフトでは2018年12月からAzure Machine Learningの提供を開始しました。それ以来、製造業数社で異常検知、品質管理プロジェクトでの利用が始まっています。
また、マテリアルインフォマティクスや、医療分野では画像診断の処理に使われている事例もあります」
費用は、バーチャルマシンを使っているときしか発生しないため、数百円/時間ほどと、初期費用はほとんどかからないという。AIプロジェクトをスモールスタートするには最適なプラットフォームだ。
近年重要性が叫ばれている「トレーサビリティ」や「説明可能なAI」にも対応しており、モデルをいつ誰が作ったかという記録や、予測モデルに影響している説明変数の重要度や個々の予測値に対する細かい説明因子のアウトプットもできる。
まずはAzure 無料試用版から始めてみるのもよさそうだ。