• Column
  • データ活用力をDataOpsで高める

機械学習モデルを使ったデータの業務への活用法【第3回】

岩田 泰士(日鉄ソリューションズ DX推進&ソリューション企画・コンサルティングセンター エキスパート)
2020年12月4日

機械学習プロジェクトは不確実性が高い

 データ活用プロジェクト、とりわけ機械学習を用いたプロジェクトを難しくする要因の1つが「やってみないと効果がわからない」という不確実性が高い点だ。不確実性を抑えるようにあらかじめ努力することは重要だが、実際のデータを見ていない段階では、どうしても限界がある。

 そのため、データを確認したら、実現性を評価するトライアル分析を手早く短期間に終わらせることが、不確実性への対処策として重要だ。それには、分析側とIT側の連携が重要になる。

 具体的には、分析側がデータを手早く加工し分析できるように、扱うデータ量に合わせた適切なデータ分析基盤をIT側が整備できなければならない。分析側が毎回、IT側に作業を依頼し、手動でデータ取得しているような状況では、プロジェクトの敏捷性が低下し、サイクルを高速に回すことは不可能だ。

 データ分析側に一定のITスキルがあれば、処理をより高速化できる部分もある。

 実は、機械学習モデルを作成する工程には、データに関わらず、類似した処理が多い。例えば、カテゴリー変数をエンコードして数値に変換する、特定のキーで集約した統計量を新たな変数として追加するなど、定型的なデータ加工の工程である。ほかにも、モデル学習の処理やパラメーターのチューニング方法なども共通点が多い。

 データ分析者が、これらの処理コードを整理し、独自のライブラリをあらかじめ作成しておけば作業の効率化が図れる。

 これらの定型的なデータ加工やモデル学習処理を自動実行する仕組みが「AutoML」であり、近年、注目を集めている。機械学習モデルを構築してきたデータ分析者にとって、AutoMLは、内部でどのような処理が実行されているかが想像しやすく、簡単に使えるツールだからだ。

 手っ取り早く実現する観点からも、トライアル分析の段階で、AutoMLを活用するのも選択肢の1つだろう。

機械学習はシステムの一部分にすぎない

 機械学習プロジェクトは、概念を実証するPoC(Proof of Concept)段階までは実行したものの実運用まで進めないケースが少なくない。「PoC貧乏」と揶揄される所以だ。

 PoCが成功するかどうかは、プロジェクトの進め方そのものや、プロジェクトの初期から業務側と連携しながら企画したか、などに左右される。さらにPoCでは一定の評価を出しても、機械学習システムを実運用に移す段階になって、分析側とIT側の連携がうまくいかずにプロジェクトが停滞してしまうことがある。

 機械学習システムのPoCでは、主にコア部分となる機械学習モデルを試用し、その出力結果を検証するのが一般的だ。だが、機械学習モデルを動かすコア部分だけが機械学習システムではない。

 プロジェクト全体からすれば、むしろデータ取得/加工を行うパイプライン処理から、モデルの品質をモニタリングする仕組みなど、周辺にあるさまざまサブシステムが大事だ。

 こうした複雑な構成要素について実運用段階を迎えてから考え始めてはIT側にとって負荷が高い。時間とコストがかさみプロジェクトの存続に悪影響を与える。

DevOpsの機械学習版「MLOps」を有効活用する

 サブシステムに由来する問題を回避するために参考になる考え方が「MLOps」だ。MLOpsとは、機械学習(ML:Machine Learning)を使う分析側と、運用基盤(Op:Operations)を用意するIT側が互いに協業し、機械学習モデルのライフサイクルの標準化を進めるコンセプトである。DevOpsの機械学習版だと言える。

 MLOpsは一般的に、以下のような特徴を指向する。

・データ加工・モデリング・検証・本番実装をなるべく自動化することで機械学習モデルの継続的な更新を維持する
・データとモデルのバージョンおよびモデリング履歴を管理することで再現性とトレーサビリティーを担保する
・運用におけるデータ変動やモデル精度をモニタリングしモデル品質を保つ

 社内で機械学習システムの適用先を拡大していくのであれば、MLOpsの環境をIT側があらかじめ用意しておくことで、新しい機械学習プロジェクトが始動してもインフラ構築をゼロから検討する必要がなくなる。

 最近では、クラウドベンダーがMLOps基盤に相当するサービス群を提供したり、AutoMLベンダーがMLOpsを意識しモデリング以外の領域まで機能拡張を進めたりと、MLOps環境を実現するためのハードルは低くなってきている。MLOpsは、機械学習モデルの作成段階でも効力を発揮できるため、できればプロジェクトの初期段階から準備できることがより望ましい。

 今回はDataOpsの方法論として、データを業務活用につなげるプロセス(DataからOps)について紹介した。次回は、MLOpsの構成要素でもある運用時のモニタリングと、そこから得られた知見をフィードバックして改善していくプロセス(OpsからData)について紹介する。

岩田 泰士(いわた・やすし)

日鉄ソリューションズ(NSSOL)DX推進&ソリューション企画・コンサルティングセンター エキスパート 兼 技術本部 システム研究開発センター インテリジェンス研究部 主務研究員。2010年新日鉄ソリューションズ(現日鉄ソリューションズ)入社後、数理最適化とデータ分析に関する研究開発および案件に従事。商品レコメンデーション、需要予測とリソース最適化、パブリッククラウド上でのデータ収集基盤構築、製造設備の異常検知など、幅広い業種でデータ分析プロジェクトに参加。現在は、機械学習・深層学習技術を専門とする研究グループのリーダーを担当している。