appricot’s diary

日々の勉強のメモ

Model Cards for Model Reporting

論文

arxiv.org

Machine Learningモデルについて、どのようなドキュメントを残すべきか?を扱った論文。論文を執筆したのはGoogle所属のひとたち。

 

概要

  • MLモデルについて、そのパフォーマンス等を共有するための共通のドキュメンテーションフォーマットがない。
  • そこで、1-2 pageから成る、モデルの概要を記したドキュメント「モデルカード」を提案。モデルカードは、以下の内容を含む。
    • モデル概要
      • 誰がモデルを作ったか
      • モデル作成日
      • モデルのバージョン
      • モデルの訓練に利用したアルゴリズム、パラメータ、入力変数、倫理的な制約 
      • より詳しい情報へのリンク
      • ライセンス
      • 質問の問い合わせ先
    • 想定される利用法
      • 想定される利用法
      • 想定される利用者
      • スコープ外の利用法
    • Factors
      • モデルが、どのような観点で、評価されるべきか?
        • Groups:例えば人を対象としたモデルであれば、人種、性別など様々な属性のグループで、モデルのパフォーマンスが、どのように変わるか?
        • Instrumentation:顔認識のモデルであれば、顔認識に利用されるカメラによって、どのような、モデルのパフォーマンスが変わるか?
        • Environments:顔認識のモデルであれば、それが暗い場所でDeployされた場合、どのようなパフォーマンスになるか?
    • 指標
      • モデルのパフォーマンスを計測するための評価指標
    • 評価に利用されたデータ
      • なぜ、そのデータが評価用データとして選択されたか?
      • どのようにデータが前処理されているか?
    • モデル訓練に利用されたデータ
    • モデルの定量的な評価結果
      • 各Factorに対する評価指標の値
      • 各Factorの組み合わせに対する評価指標の値
    • 倫理的な検討
      • Sensitiveなデータが利用されているか?
      • モデルが人の人生に大きく影響を与えるようなことに利用されるか?
      • モデルを利用する上でのリスク
      • そのリスクを、どのように軽減しようとしているか?
    • モデル利用にあたっての注意事項等
  • 上記の内容は、あくまでも例で、利用方法によってカスタマイズされるべき。
  •  モデルカードを作る目的は、以下の通り。
    • Stake-holdersがモデルの定量的評価結果や倫理的な観点からDeployするモデルを比較するのを助ける

 

Impression

  • 「倫理的な検討」であったり、各Factor・Factorの組み合わせに対するモデルパフォーマンスを示すべき・・という点は、なるほどと思った。
  • Criticalで耐用年数が長いモデル、人間の重要な意思決定に影響を与えるようなモデルの場合には、このようなドキュメントが特に重要になりそう。
  • モデルに関係する人が多い場合(ビジネス側、データサイエンティスト、エンジニア、・・・)に、それぞれの立場で、求める情報の粒度が異なりそう。全ての関係者にとって役立つ粒度の情報を、1つのドキュメントにまとめる・・というのは、現実には難しいこともありそう。
    • 現実的には、1つのモデルであっても、データサイエンティスト向けの内容・ビジネス側向けの内容・・と複数のドキュメントができてしまう・・というのが、ありえそうな展開。
  • 提案されたモデルカードのフォーマットは、エンジニアリング観点の内容が薄いように感じた。例えば、モデルの実行速度や、想定される実行環境など。