Amazon Web Services ブログ
Part 3: Amazon SageMakerを用いたNatWest Groupでの監査・再現・説明可能なMLモデルの構築
この記事は Part 3: How NatWest Group built auditable, reproducible, and explainable ML models with Amazon SageMaker を翻訳したものです。
本ブログ記事は、英国最大の金融機関の一つである NatWest Group がAWS Professional Services との協業を通じて実現したMLOps基盤プロジェクトについて解説した4つの記事からなるシリーズの3本目の記事です。本記事は、Amazon SageMakerを用いたMLパイプラインテンプレートの構築に興味のあるデータサイエンティスト、MLOpsエンジニア、ならびにデータエンジニアに向けた内容です。この記事では、NatWest GroupがSageMakerを活用し、標準化されたend-to-endのMLOpsプロセスを構築した方法について解説します。このソリューションにより、MLソリューションの実用化までの時間を、それまでの12か月から3か月以下にまで短縮できました。さらに、NatWest Groupの高度なセキュリティと監査可能性に関する要件を守りながらコストを削減することに成功しました。
NatWest Group は、セキュアかつスケーラブルなテクノロジープラットフォームの構築に関するAWS Professional Serviceの高い専門能力を評価し、本プロジェクトで協業することを選択しました。この合同チームは、NatWestが事業目的として掲げる、最高の金融プロダクトとサービスの提供による自社の顧客(個人、世帯、企業)のサポートを実現するためのソリューションを、サステナブルかつ長期にわたって支援可能な形で実現しました。この取り組みは、AWSのマネージドアーキテクチャをの活用により、計算量を最小化し、CO2排出量を削減しながら実現しています。
シリーズ全体の記事はこちら:
|
SageMakerプロジェクトテンプレート
MLを使ったビジネス課題の解決の面白さの一つは、ソリューションを構築するための方法がいくつも存在することです。MLコード自体は無論のこと、データへの接続、前処理、後処理、データ品質チェックの実行、モニタリングなどがソリューションの要素に含まれます。しかし、この柔軟性は、MLに基づくソリューションのデプロイメントをスケールさせたいエンタープライズ企業にとって新たなチャレンジとなりえます。一貫性、標準化、および再利用性の欠如につながり、新たなビジネス提案を生み出す時間に制約がかかるからです。そこで、MLコードのためのテンプレートというコンセプトが有用になります。テンプレートを用いることにより、キーコンポーネントの構築に必要な柔軟性を維持しつつ、複数のプロジェクト、チーム、ユースケースにおいて再利用が可能な標準的なMLパイプラインの定義が可能になります。このことにより、構築するソリューションの安定性、堅牢性を向上させ、テストを容易にします。また、開発をより早く進めることもできます。
NatWest GroupとAWSの協業により、我々は標準化されたプロセスやステップを含む堅牢なMLパイプラインを構築するためのSageMakerテンプレートのセットを開発しました。これらのテンプレートは、本シリーズの2本目の記事で紹介したインフラテンプレートで構築された、データサイエンス基盤の中で活用されます。
以下の図に、学習パイプラインテンプレートのアーキテクチャを示します。
以下のスクリーンショットは、このパイプラインが正しく実行された際の Amazon SageMaker Studio の画面です。
これらは、我々のML開発手法を様々な形で改善するのに役立っています。以下のセクションで詳しく説明します。
再利用性
NatWestにおけるMLプロジェクトでは、しばしば複数チームのデータサイエンティストやエンジニアが同じプロジェクトで協業する必要があります。したがって、コード、モデル、パイプラインの共有可能性と再現性は、これらのチームが頼るべき重要な特性といえます。
この要件を満たすため、本チームでは、新たなMLプロジェクトの起点として、学習と推論のため、Amazon SageMaker Pipelines テンプレートを構築しました。これらのテンプレートは、データサイエンスチームがクリック一つで AWS Service Catalog で SageMaker プロジェクトとして新たな開発アカウントにデプロイします。これらの AWS Service Catalog プロダクトは、ベストプラクティスが全てのビジネスユニットに伝搬するよう、プラットフォームチームが管理・開発していますが、ユーザのチームも自分たちの開発成果を共通データベースに入れることができます。
テンプレートの複製を容易にするため、NatWestは AWS System Manager Parameter Store を活用しました。パラメータは、各プロジェクト内のパラメータセットで同じプリフィックスを使用する命名規則が設定された汎用テンプレートから参照されています。これらのテンプレートにより、ユーザによる設定作業なしで、必要なプラットフォームリソースへのアクセスを確保した状態で素早く立ち上げることができます。なぜなら、AWS Service Catalogが各ユースケースアカウントのパラメータを正しい値に入れ替えてくれるからです。
これらのテンプレートは、新たなプロジェクトの素早い立ち上げを支援するだけでなく、標準化されたモデル開発手法を、異なるビジネス領域にいるチームに提供します。組織にいる全てのモデル開発者は、他のチームによって書かれたコードを簡単に理解することができ、チーム間の協業や知識共有が促進され、監査を簡素化できます。
効率性
テンプレートを用いたアプローチにより、モデル開発者はモジュール化された非連続のパイプラインを書くことができるようになり、SageMaker のマネージドインスタンスの柔軟性を活用することができます。MLパイプラインの各ステップの非連続性は、可能な限り小さいインスタンスを利用することによってコストを削減し、大きいインスタンスをそれを必要とするプロセス(たとえば、大規模データに対する前処理のワークロード)にのみ利用することを可能とします。
また、SageMaker Pipelines にはステップキャッシング機能があります。このキャッシング機能により、パイプライン構築が失敗した後の再実行の際に、すでに実行が完了したステップを再実行せず、キャッシュされた出力結果を活用し、実行が失敗したステップからの再開を可能とします。高コストなインスタンスへの課金を最小限なものとし、CO2排出量の削減というNatWest の気候変動に関する目標に寄与する形でMLワークロードを実行できます。
さらに、我々はSageMakerを Amazon EventBridge と Amazon Simple Notification Service (Amazon SNS) と統合することにより、重要なパイプラインへのアップデートに関するカスタム通知をeメールで送付する仕組みを導入しています。このことにより、データサイエンティストやエンジニアは、自身が担当する開発の最新状況を常に把握することができます。
監査可能性
MLパイプラインのテンプレートには、アーティファクトを生成するステップも含まれています。このアーティファクトには、ソースコード、モデルオブジェクト、データ変換の前処理で用いられるスケーラ、および変換されたデータが含まれます。これらのオブジェクトの複数のバリアントを同じバケットに安全に格納するため、Amazon Simple Storage Service (Amazon S3) のバージョン管理機能を活用します。これにより、削除や上書きされたオブジェクトの復元が可能です。全てのバージョンが保存されているため、パイプラインの各実行処理の結果として出力された全てのオブジェクトを追跡することができます。オブジェクトが削除された際、Amazon S3ではオブジェクトを永久的に削除せず、削除マーカーを挿入し、現状のオブジェクトのバージョンとします。オブジェクトが上書きされた際には、バケットの中にオブジェクトの新バージョンが作られます。したがって、必要に応じて、古いバージョンを復元することができます。このバージョン管理機能は、ガバナンスプロセスにおける透明性をもたらし、生成された全てのアーティファクトに対する監査を可能とします。
MLモデルを正しく監査し、信頼できるものとするには、開発時に実行した全ての実験に関する記録をとる必要があります。SageMakerは、トレーニングジョブによって自動的に収集されたメトリクスを、SageMaker Experimentsやモデルレジストリに表示することができます。この機能はSageMaker StudioのUIとも統合しており、ビジュアルインタフェースを通じ、現在実行中および過去の実験の閲覧、重要なメトリクスに基づく実験の比較、および最もパフォーマンスが高いモデルの特定を行うことができます。
安全性
NatWest Group自体、および金融業界に特有の要件、特に銀行業務におけるセキュリティに対応するため、我々は標準的なSageMaker パイプラインのテンプレートに対し、追加で必要な機能を実装しました。たとえば、加工や学習のジョブで用いられるコンテナイメージは、承認済パッケージをインターネットから直接ダウンロードできないため、AWS CodeArtifact を通じてダウンロードする必要があります。また、各テンプレートは、プロダクションに近い環境における安全なテストを実施するため、マルチアカウントデプロイメントモデルで実行される必要があります。
SageMaker Model Monitor と SageMaker Clarify
自社の顧客の繁栄を支援することは、NatWestが掲げるビジョンの核です。このビジョンの実現には、公正、公平、かつ透明性のある形での意思決定が必要であると考えます。MLモデルの観点でいえば、モデルの説明性、バイアスの発見、そしてパフォーマンスのモニタリングに対する要件と直結します。これらの要件は、モデルがどのように、どんな理由で特定の意思決定を行っているのかをビジネス側が追跡・理解できることを意味します。
以前は、各チーム間での標準化の不足により、一貫性のあるモデルモニタリングの機能が実装されておらず、各チームがそれぞれに特化したソリューションを作る状況を生み出していました。そのため、新しいSageMakerプロジェクトテンプレートに求められた2つの重要な要素は、学習データにおけるバイアスの発見と、学習されたモデルのモニタリングでした。Amazon SageMaker Model Monitor と Amazon SageMaker Clarify はこれらの要件を満たし、スケーラブルかつ再現可能な形で実行することができます。
Model Monitor は、事前に定義されたベースラインメトリクスに対し、実用化された SageMaker MLモデルの品質を継続的にモニタリングします。Clarifyは、Deequ オープンソースライブラリに基づき、学習データにおけるバイアスを検証します。モデルの学習が完了した後、ClarifyはShapley値のようなメトリクスを用い、モデルのバイアスと説明性の検証機能を提供します。下記のスクリーンショットは、Clarifyによって生成され、SageMaker Studioで閲覧できる説明性のレポートの例です。
下記のスクリーンショットは、同様の方法で作られたモデルバイアスのレポートの例です。
結論
NatWestのMLテンプレートにより、我々のMLOpsソリューションを、NatWestで求められるMLOpsアセットに対する監査可能性、再利用性、および説明性の要件に適合させることができます。このテンプレートは、SageMakerの機能を活用し、標準化されたMLパイプライン実装の青写真をもたらしています。そのため、NatWestのデータサイエンスおよびエンジニアリングチームは、MLワークロードを効果的に管理するための制御と可視性を備えたベストプラクティスによる運用と協業を行う力を得たと実感しています。
これらの機能は、クイックスタート可能なMLテンプレートとアカウント基盤のみならず、NatWestにおける複数のMLユースケースの実装にも活用されています。これらのユースケースの開発を通じ、協業プロジェクトの全体的な要件と方向性が確立されました。この成果は、我々が実現したプロジェクトテンプレートが、NatWestのビジネスニーズに対し、高い適合性を有していることを意味します。
本記事は、NatWest GroupとAWS Professional Servicesの戦略的協業に関する4本の記事から構成されるシリーズの3本目にあたります。本シリーズの他の記事もご参照ください: