【レポート】NEW LAUNCH! Understand ML model predictions and biases with Amazon SageMaker Clarify

2021.01.05

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、Mr.Moです。

本エントリーは re:Invent 2020で行われたセッション "[NEW LAUNCH!] Understand ML model predictions and biases with Amazon SageMaker Clarify" のレポートです。 こちらのセッションでは、Machine Learningのキーノートにて発表されたSageMakerの新機能 Amazon SageMaker Clarify について解説されています。

セッション概要

image.png

Machine learning (ML) models may generate predictions that are not fair, whether because of biased data, a model that contains bias, or bias that emerges over time as real-world conditions change. Likewise, closed-box ML models are opaque, making it difficult to explain to internal stakeholders, auditors, external regulators, and customers alike why models make predictions both overall and for individual inferences. In this session, learn how Amazon SageMaker Clarify is providing built-in tools to detect bias across the ML workflow including during data prep, after training, and over time in your deployed model. (翻訳) 機械学習(ML)モデルは、偏ったデータ、バイアスを含むモデル、あるいは時間の経過とともに現実世界の状況が変化して現れるバイアスなどの理由で、公平ではない予測を生成することがあります。同様に、クローズドボックスのMLモデルは不透明であるため、内部の利害関係者、監査人、外部の規制当局、顧客に対して、なぜモデルが全体的にも個々の推論に対しても予測を行うのかを説明することが困難です。このセッションでは、Amazon SageMaker ClarifyがどのようにMLワークフロー全体でバイアスを検出するためのビルトインツールを提供しているかを学びます。

機械学習モデルの解釈可能性・公平性の把握を支援するSageMakerの新機能ですね。

レポート

昨今は機械学習モデルがもたらす倫理的・政策的な課題についての意識が高まってきています。健全な機械学習モデルを手に入れるのにSageMaker Clarifyが提供するバイアスや解釈可能性の情報が必要です。本セッションからSageMaker Clarifyにまつわる情報を見ていきましょう。なお、本レポートは独自の見解も含まれますのであらかじめご了承ください。

image.png

image.png

まず、機械学習におけるバイアスと解釈可能性の理解が下記の3つの段階で重要であると語っています。

  • モデルのトレーニング前段階、様々な機械学習アルゴリズムを試していくにあたり、適用するユースケースにフィットさせるため
  • 機械学習モデルを運用していく段階で何かしらのバイアスが潜んでいないか
  • 顧客などにおける法律や規制の遵守のためのモデル理解

出来上がった機械学習モデルの内容把握が重要であるのは、やはり使い方を間違ったり意図しない所で動作した時に問題を引き起こしてきたというのがあるからです。(これは機械学習に限ったことではないですが、なんにしても問題が起きた時はなぜおきたのかを追求しなければならず、そこで機械学習モデルの内容を把握する必要がでてきます)

image.png

そして、上の図を見てわかる通り複雑なモデルとそのモデルの解釈性はトレードオフの関係にあります。例えば決定木のような単純なモデルであれば出力にいたる過程の解釈も容易ですが、ディープラーニングなどの複雑なモデルは推論にいたった経緯を解釈するのは困難です。

image.png

ですが、解釈を求めて簡単なモデルばかり選択するわけにもいきません。では必要な精度を得るため数十億のパラメータを持つ可能性のある複雑なモデルを選択する場合、これらの解釈性を適切に取得する方法はどのようなものなのでしょうか。

image.png

image.png

image.png

https://youtu.be/5flVB9ef0uM

ここではとある事例を用いてどのようにSageMaker Clarifyを活用するのかが解説されています。

ドイツのブンデスリーガではサッカーの試合を分析しExpected Goals(ゴール期待値)という情報を視聴者に提供することで視聴体験を強化する試みを行っています。Expected Goalsの情報はSageMakerを使用して構築したモデルによってもたらされており、ここにAmazon SageMaker Clarifyの機能を使った解釈可能性によりExpected Goalsがどう導かれたのかを説明することができており、モデルのデバックなどに繋げられているとのことです。

image.png

また、SaegMaker Clarifyの機能はAPIとコアライブラリのコレクションで提供しており、SageMakerに統合されています。さらにこれらはコンテナでも提供されており、SageMakerのジョブとして使用する際に活用できるようです。

image.png

image.png

なお、SaegMaker Clarifyの機能は、Studio、Data Wrangler、Debugger、Experiment、Model Monitor、PiplinesなどといったSageMakerの多くのコンポーネントに散りばめられています。非常に重要度の高い機能であることが伺えますね。

機械学習の工程においてはトレーニングを始める前のデータ収集段階でデータセットのバイアスを把握し、トレーニング後には先ほど紹介した提供されているコンテナを活用しジョブを実行、データセットとモデルの組み合わせからバイアスと解釈可能性を把握することができます。また、本番環境適用後もバイアスの継続的な監視が重要ですね。SageMakerであればこれらを一気通貫で支援が受けられるわけです。

ちなみに、セッション内ではとある金融系企業の事例についても詳細に語られています。こういった業界も機械学習を活用して顧客にサービスを提供しており、その際に機械学習のモデルがもたらした結果を顧客ならびに関係者へ説明する際にSaegMaker Clarifyが重要な役割を果たしているようですね。

まとめ

セッションの後半ではSaegMaker Clarifyを実際に使っているデモもありますので、ぜひ直接セッションをご覧いただければと思います。

また、私の方でも実際にAmazon SageMaker Clarifyを使ってみた記事を書いてますので、よろしければ下記の記事も参考にしてみてください。