データセットとモデルの文書化:データシート、データステートメント、モデルカード
アノテーション済みデータと、それを用いて構築するモデルのための3つの標準的な文書化フレームワークについての参照ガイド。各フレームワークが扱う範囲、どれをいつ使うか、そして再現性の報告がそれらをどう結びつけるかを解説します。
機械学習のデータでは、3つの文書化標準が定着しています。データセットにはデータステートメントとデータシート、それを用いて学習するものにはモデルカードです。これらは大きく重なり合っており、データを信頼させ再利用してもらいたいなら、どれも省略できません。本ガイドは、各標準が扱う範囲と、どんなときにどれを使うかについての参照資料です。 実際に作成する流れを物語形式でたどりたい場合は、姉妹記事のアノテーションデータセットの文書化を参照してください。本ページは標準どうしの比較です。
なぜREADMEではなく構造化された文書か
文書のないアノテーション済みデータセットは、うまく歳を重ねられません。半年もすれば、どうサンプリングされたのか、誰がラベル付けしたのか、あるラベルが何を意味するはずだったのかを誰も語れなくなり、データは、盲目的に信頼されるか捨てられるかのどちらかのブラックボックスになります。具体的なコストが2つ繰り返し生じます。再現不可能性(サンプリング手法、ガイドラインの版、アノテーターの母集団がなければ、データセットを再構築することも、食い違いを説明することもできません)と、隠れたバイアス(文書化されていない狭い母集団から得たラベルは、本番環境で表面化するまで見えない盲点を抱え込みます)です。以下のフレームワークは、どちらかが問題を引き起こす前に、誰が・どのようにを読み取れるようにするために存在します。
3つの標準
各フレームワークは異なる成果物と読み手を対象としますが、互いにかみ合うように設計されています。
データステートメント(Bender and Friedman, 2018) は、自然言語処理に特化したスキーマです。言語データセット、収集の根拠、言語変種とその話者、アノテーターの人口統計、ガイドライン、想定される用途を記述するので、読み手は結果がどのように一般化するか、データがどの集団を過小に代表しているかを判断できます。データがテキストで、言語変種が重要なときはデータステートメントを選びましょう。
データセットのためのデータシート(Gebru et al., 2021) は、電子部品にはすべてデータシートが付属するという発想を借りた汎用版です。動機、構成、収集プロセス、前処理、推奨される用途、保守にわたる標準的な質問群を投げかけます。テキストかどうかを問わず、あらゆる機械学習データセットにデータシートを使えます。データステートメントと大きく重なるので、言語データセットでは、実際にはどちらの質問群を軸に整理するかを選んでいるだけであり、両方を一から作るわけではありません。
モデルカード(Mitchell et al., 2019) は、データではなくモデルを文書化します。想定される用途と、そして何より重要な、単一の集計値としてではなく人口統計その他のグループごとに分解した性能です。モデルカードは、公平性の問題が可視化される場所です。
この3つは一本の連鎖を成します。データシートまたはデータステートメントはデータを文書化し、モデルカードはその上に構築されたものを文書化します。そして前者のアノテーター人口統計の節こそが、後者のグループ別評価を解釈可能にするものです。アノテーションをきちんと文書化すれば、擁護に耐えるモデルカードへの道のりはすでに大半を進んだことになります。
| フレームワーク | 文書化する対象 | 最適な用途 | 主なセクション |
|---|---|---|---|
| データステートメント | 言語データセット | 自然言語処理/テキストデータ | 収集の根拠、言語変種、話者とアノテーターの人口統計、ガイドライン |
| データシート | あらゆるMLデータセット | ML一般のデータ | 動機、構成、収集、用途、保守 |
| モデルカード | 学習済みモデル | 公開されるあらゆるモデル | 想定される用途、分解した評価、限界 |
再現性は第4の柱
文書化と再現性は、同じ目標を2つの角度から見たものです。Pineau et al. (2021) はNeurIPSの再現性プログラムについて報告し、それを再現性チェックリストに凝縮しました。正確なデータ、収集と前処理の手順、評価の設定、そして作業を再実行できるだけの十分な詳細を報告する、というものです。アノテーションプロジェクトに限って言えば、再現性にとって決定的な事実は、データシートがすでに尋ねていること、すなわち項目がどうサンプリングされたか、どの版のガイドラインが使われたか、誰がアノテーションしたか、そして不一致がどう扱われたか、です。これらに答えられればデータセットは文書化されており、かつ再現可能です。答えられなければ、それは公開後ではなく公開前に埋めるべきギャップです。
公開のためのチェックリスト
公開する前に、次の問いに答えられることを確認しましょう。
- 項目はどのように、どこからサンプリングされたか。
- これはどの言語変種で、元テキストは誰が書いたか。
- 誰がアノテーションしたか、何人か、そして母集団の人口統計上の構成はどうか。
- どのガイドラインに従ったか、そしてどの版か。
- 不一致はゴールドラベルに集約したのか、分布として保持したのか。いずれの場合も一致度を報告する。
- このデータセットは何のためのものか、そして何に使うべきでないか。
Potatoでの実践
データセットの文書のほとんどは、すでにプロジェクトの成果物として存在しているので、白紙から始めるわけではありません。設定ファイルそのものが文書です。YAMLは、スキーム、ラベルセット、タスク構造を、データのすぐ隣でバージョン管理しながら記録しており、あなたが書いた指示文はそのままガイドラインの節になります。事前調査フェーズを実施したなら、アノテーターの人口統計はすでにアノテーターごとに保存されているので、それらを分布に集約してアノテーター人口統計の節にあてます。さらにエクスポートは各ラベルにアノテーターとタイムスタンプを保持するため、来歴が剥ぎ取られずにデータとともに移動します。
{
"id": "doc_001",
"annotations": { "sentiment": "positive" },
"annotator": "user_1",
"timestamp": "2024-01-15T10:30:00Z"
}Hubに公開するときは、エクスポートの最後のステップとしてデータセットカードを生成し、その各セクションを、すでに手元にある設定、ガイドライン、事前調査の人口統計から埋めていきます。
参考文献
- アノテーションデータセットの文書化、実例のデータステートメント付きの物語形式の解説。
- アノテーターの人口統計を責任をもって収集する、アノテーター人口統計の節を正しく仕上げるために。
- アノテーションガイドラインの作成、そのままガイドラインの節を兼ねます。
- ML向けにアノテーションをエクスポートする、ラベルとメタデータをきれいに取り出すために。