機械学習モデルの継続的な改善に向けて

2022年6月13日(月)
張替 清音(はりがえ きよなり)
連載の最終回となる今回は、機械学習モデルの開発と運用におけるパイプライン全体を協調動作させモデルを継続的に改善する仕組みについて解説します。

機械学習モデルの継続的な改善に向けて

本連載ではここまで、機械学習モデルの開発と運用のパイプラインの構築とフィードバックループについて解説してきました。では、改めて全体をつなぎ合わせた実装イメージを見てみたいと思います。

図2-1:全体の実装イメージ

図2-1:全体の実装イメージ

図2-1で示すとおり、現状はパイプラインのデプロイや実行、モデルのデプロイ、フィードバックなどの各プロセスをつなぎ合わせる部分が手動になっています。効率よくサイクルを回すには、これらも自動化したいところです。この自動化に関して、GoogleはMLOpsの自動化レベルという段階的に実装する指針を定義しています。レベルが高くなるにつれ、機械学習に関するプロセスが自動化され、サイクルを早めることができます。

  • レベル0 (手動プロセス):これは典型的なデータサイエンスプロセスであり、機械学習プロジェクトの開始時に実行されます。このレベルには、実験的で反復的な性質があります。データの準備と検証、モデルの学習とテストなど、各パイプラインのすべてのステップは手動で実行されます。処理する一般的な方法は、Jupyter notebookなどのツールを使用することです
  • レベル1(機械学習パイプラインの自動化):モデル学習の自動実行が含まれます。ここでは、モデルの継続的な学習を実施します。新しいデータが利用可能になるたびに、モデルの再学習のプロセスがトリガーされます。このレベルの自動化には、データとモデルの検証手順も含まれます
  • レベル2(CI/CDパイプラインの自動化):最終段階では、CI/CDシステムを導入して、本番環境で高速で信頼性の高い機械学習モデルのデプロイを実行します。前の手順との主な違いは、データ、機械学習モデル、および機械学習パイプラインのコンポーネントを自動的に構築、テスト、デプロイすることです

参考:機械学習における継続的デリバリーと自動化パイプライン(https://cloud.google.com/architecture/mlops-continuous-delivery-and-automation-pipelines-in-machine-learning#data_science_steps_for_ml

現状の実装はレベル1に近い状態と言えるでしょう。では、最終的にレベル2を目指す場合に、どのような実装イメージになって追加でどのようなコンポーネントが必要なのでしょうか。上述のレベル2の定義を元にした実装例は次のとおりです。

図2-2:レベル2(CI/CDパイプラインの自動化)の実装イメージ

図2-2:レベル2(CI/CDパイプラインの自動化)の実装イメージ

図2-2に示すとおり、レベル2の実装例では各プロセスをつなぎ合わせる部分が自動化されています。また、いくつかコンポーネントが増えています。本番環境のモデルを迅速かつ確実にデプロイするために、堅牢で自動化されたCI/CDシステムや管理の仕組みが必要なためです。追加コンポーネント概要は次のとおりです。

追加コンポーネント

コンポーネント説明プロダクト例
CI/CDツールソフトウェアの変更をテストし、自動で本番環境に適用できるような状態にするためのツールJenkinsGitHub ActionsGitLab CI/CDなど
ソースコードリポジトリソースコードのバージョン管理などができるツールGitHubGitLabなど
モデルレジストリモデルの登録、モデルのバージョン管理、デプロイ用のモデルのタグ付けなどの管理ができるツールMLflowなど
コンテナレジストリコンテナイメージの登録・管理、提供するためのツールDocker RegistryHarborGitLab Container Registryなど
Feature Store特徴量を一元管理し、特徴量を学習時と推論時で一貫して提供するためのストレージFeastHopsworksRasgoなど

KubeflowはKubernetes上で動くため、その柔軟性や拡張性も特徴の一つとなっています。自社の機械学習モデルの活用状況にあわせて、段階的にコンポーネントを追加して、上述したレベル2を目指すことも可能です。レベル2を実装するための手順などは、また別の機会でご紹介できればと思っています。

Kubeflowと周辺コンポーネントの最新動向

本連載では、Kubeflow v1.2.0(※Kubeflow v1.2.0で内包されているKFServingはv0.4.1)、TFX v1.2.1をベースに解説してきました。執筆時点(2022/6/2)における、最新版での追加機能など主なトピックついて紹介します。

Kubeflow(最新版:v1.5.0)

・TensorBoardやVolume Manager、KServeの管理UIの追加

ノートブック上から作成したTensorBoardやKServe、ノートブックのVolume利用状況を確認するためにはコマンド実行が必要でしたが、Kubeflowコンポーネントとして管理UIが追加されたことにより、状況確認が画面上からできるようになり利便性が高くなりました。

・マルチユーザー対応

ML開発にあたりユーザーごとにKubeflow Notebook ServersやKubeflow Pipelinesを分離して使用できるので、他者に影響を与えることなく自身の作業に集中することができます。

・Feature Store(Feast)との連携

FeastはFeature Storeを実現するOSSです。Kubeflow Pipelinesにてモデル作成を行い、そのパイプラインにてFeastによる特徴量の管理を組み込むことで、特徴量の一元管理や再利用ができるようになります。

KFServing(最新版:v0.8.0)

・KServeにプロダクト名を変更

KFServingは本番環境での機械学習モデルのデプロイと監視の課題に対処するために開発されたOSSです。元々はKubeflow内の一部のプロジェクトとして開発していましたが、需要が急増してプロジェクトの範囲が拡大したことから、Kubeflowから独立してリブランドとしてプロダクト名を変更しました。これによりKubeflow未使用ユーザーからでも利用しやすいイメージを持ってもらうことで、より利用ユーザーを増やす狙いがあると考えられます。

TensorFlow Extended(最新版:v1.8.0)

・Vertex AIとの連携

Vertex AIはGoogle Cloudの機械学習関連のサービスを統合したプラットフォームです。Kubeflow Pipelinesと同じようにVertex AI PipelineでもTFXによるパイプライン構築が実現できます。

おわりに

本連載ではKubernetes上で動く機械学習プラットフォームKubeflowで実現するMLOpsについて取り上げ、構築手順などを全9回にわたり解説してきました。機械学習モデルを実運用してビジネス上の成果を得るには、機械学習モデルの開発と運用のワークフローを効率よく回して継続的に改善することがカギになると考えています。また、KubeflowはJupyter notebook上でのモデル開発や検証から実運用へシームレスに移行できることも特徴の一つです。本連載で解説してきた内容が、サブタイトルにもあるような「実運用へのファストパス」の一助になれば幸いです。さいごに、本連載ではKubeflow、TFXといったOSSで実現する機械学習プラットフォームをご紹介しましたが、パブリッククラウドのサービスやサードパーティベンダによるソリューション・製品も多く登場しています。弊社では、OSSベースのプラットフォームに関する技術支援の他にも、DataikuというAI/機械学習プラットフォームを取り扱っております。もしもプラットフォームの選定などでお困りのことがありましたら、お気軽にお声がけ下さい。

著者
張替 清音(はりがえ きよなり)
NTTデータ先端技術株式会社

ソフトウェアソリューション事業本部 AIソリューション事業部 ビッグデータ基盤担当

2017年入社。HadoopやSparkといったOSSのビッグデータ基盤の導入支援や技術開発を経て、現在はサイバーセキュリティ対策のためのデータ分析基盤の構築や、 OSSをベースとしたクラウドネイティブなデータ分析・活用基盤に関する技術検証やソリューション開発に従事。

連載バックナンバー

AI・人工知能技術解説
第9回

機械学習モデルの継続的な改善に向けて

2022/6/13
連載の最終回となる今回は、機械学習モデルの開発と運用におけるパイプライン全体を協調動作させモデルを継続的に改善する仕組みについて解説します。
AI・人工知能技術解説
第8回

KFServingで機械学習モデルをサービング

2022/4/27
連載の8回目となる今回は、学習済みモデルのデプロイの手順とその運用で利用するKubeflowの機能やコンポーネントについて解説します。
AI・人工知能技術解説
第7回

TFXを使った機械学習パイプラインの構築(デプロイ編)

2022/3/30
連載の7回目となる今回は、実装編で構築した機械学習パイプラインをKubeflow Pipelinesにデプロイし実行します。

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています