데이터셋과 모델 문서화: 데이터시트, 데이터 스테이트먼트, 모델 카드
주석 데이터와 그 위에 구축한 모델을 위한 세 가지 표준 문서화 프레임워크에 대한 참조 자료. 각 프레임워크가 다루는 범위, 언제 무엇을 쓸지, 그리고 재현성 보고가 이들을 어떻게 연결하는지 설명합니다.
기계학습 데이터에서는 세 가지 문서화 표준이 규범으로 자리 잡았습니다. 데이터셋에는 데이터 스테이트먼트와 데이터시트, 그 위에서 학습하는 것에는 모델 카드입니다. 이들은 크게 겹치며, 데이터가 신뢰받고 재사용되기를 바란다면 어느 것도 선택 사항이 아닙니다. 이 가이드는 각 표준이 무엇을 다루고 언제 그것을 쓸지에 대한 참조 자료입니다. 하나를 작성하는 과정을 서사적으로 따라가고 싶다면 자매 글인 주석 데이터셋 문서화하기를 참고하세요. 이 페이지는 표준 간 비교입니다.
왜 README가 아니라 구조화된 문서인가
문서가 없는 주석 데이터셋은 나쁘게 나이 듭니다. 여섯 달만 지나면 그것이 어떻게 표집되었는지, 누가 라벨을 붙였는지, 어떤 라벨이 무엇을 의미하기로 했는지 아무도 말하지 못하게 되고, 데이터는 사람들이 맹목적으로 신뢰하거나 버려 버리는 블랙박스가 됩니다. 두 가지 구체적인 비용이 반복됩니다. 재현 불가능성(표집 방법, 지침의 버전, 주석자 풀이 없으면 데이터셋을 다시 만들 수도, 불일치를 설명할 수도 없습니다)과 숨은 편향(문서화되지 않은 좁은 풀에서 나온 라벨은 운영 환경에서 표면화될 때까지 보이지 않는 맹점을 품고 있습니다)입니다. 아래의 프레임워크들은 둘 중 어느 하나가 문제를 일으키기 전에 누가와 어떻게를 읽어낼 수 있게 하려고 존재합니다.
세 가지 표준
각 프레임워크는 서로 다른 산출물과 독자를 겨냥하지만, 서로 맞물리도록 설계되었습니다.
데이터 스테이트먼트(Bender and Friedman, 2018) 는 자연어처리에 특화된 스키마입니다. 언어 데이터셋, 큐레이션 근거, 언어 변종과 그 화자, 주석자의 인구통계, 지침, 의도된 용도를 기술하여, 독자가 결과가 어떻게 일반화될지, 그리고 데이터가 어떤 집단을 과소 대표하는지 판단할 수 있게 합니다. 데이터가 텍스트이고 언어 변종이 중요할 때 데이터 스테이트먼트를 선택하세요.
데이터셋을 위한 데이터시트(Gebru et al., 2021) 는 모든 부품에 데이터시트가 딸려 오는 전자공학에서 빌려 온 범용 버전입니다. 동기, 구성, 수집 과정, 전처리, 권장 용도, 유지관리에 걸친 표준 질문 묶음을 던집니다. 텍스트든 아니든 어떤 기계학습 데이터셋에도 데이터시트를 쓸 수 있습니다. 데이터 스테이트먼트와 크게 겹치므로, 언어 데이터셋에서는 사실 어느 질문 묶음을 중심으로 정리할지를 고르는 것이지, 둘을 처음부터 다 만드는 것이 아닙니다.
모델 카드(Mitchell et al., 2019) 는 데이터가 아니라 모델을 문서화합니다. 그 의도된 용도와, 무엇보다 중요하게, 단일 집계 수치가 아니라 인구통계 및 기타 집단별로 분해한 성능을 다룹니다. 모델 카드는 공정성 문제가 눈에 보이게 되는 곳입니다.
이 셋은 하나의 사슬을 이룹니다. 데이터시트나 데이터 스테이트먼트는 데이터를 문서화하고, 모델 카드는 그 위에 구축된 것을 문서화하며, 앞의 것의 주석자 인구통계 절이야말로 뒤의 것의 집단별 평가를 해석 가능하게 만드는 요소입니다. 주석을 잘 문서화하면 방어 가능한 모델 카드로 가는 길의 대부분은 이미 지나온 셈입니다.
| 프레임워크 | 문서화 대상 | 최적 용도 | 핵심 절 |
|---|---|---|---|
| 데이터 스테이트먼트 | 언어 데이터셋 | 자연어처리 / 텍스트 데이터 | 큐레이션 근거, 언어 변종, 화자와 주석자의 인구통계, 지침 |
| 데이터시트 | 임의의 ML 데이터셋 | ML 일반 데이터 | 동기, 구성, 수집, 용도, 유지관리 |
| 모델 카드 | 학습된 모델 | 공개되는 임의의 모델 | 의도된 용도, 분해된 평가, 한계 |
재현성은 네 번째 기둥이다
문서화와 재현성은 같은 목표를 두 각도에서 본 것입니다. Pineau et al. (2021) 은 NeurIPS 재현성 프로그램을 보고하고 이를 재현성 체크리스트로 응축했습니다. 정확한 데이터, 수집과 전처리 단계, 평가 설정, 그리고 작업을 다시 실행하기에 충분한 세부 사항을 보고하라는 것입니다. 주석 프로젝트에 한정하면, 재현성에 결정적인 사실은 데이터시트가 이미 묻는 것들입니다. 항목이 어떻게 표집되었는지, 어느 버전의 지침이 쓰였는지, 누가 주석했는지, 그리고 불일치가 어떻게 처리되었는지입니다. 이것들에 답할 수 있다면 데이터셋은 문서화되어 있으면서 재현 가능합니다. 답할 수 없다면, 그것은 공개 후가 아니라 공개 전에 메워야 할 공백입니다.
공개용 체크리스트
공개하기 전에, 다음에 답할 수 있는지 확인하세요.
- 항목은 어떻게, 어디에서 표집되었는가?
- 이것은 어떤 언어 변종이며, 원본 텍스트는 누가 썼는가?
- 누가 그것을 주석했고, 몇 명이며, 풀의 인구통계 구성은 어떠한가?
- 그들은 어떤 지침을, 그리고 어느 버전을 따랐는가?
- 불일치는 골드 라벨로 집계되었는가, 아니면 분포로 유지되었는가? 어느 쪽이든 일치도를 보고하라.
- 이 데이터셋은 무엇을 위한 것이며, 무엇에 쓰여서는 안 되는가?
Potato에서 실천하기
데이터셋 문서의 대부분은 이미 프로젝트 산출물로 존재하므로, 빈 페이지에서 시작하는 것이 아닙니다. 설정 파일 자체가 문서입니다. YAML은 스킴, 라벨 집합, 과제 구조를 데이터 바로 옆에서 버전 관리하며 기록하고, 여러분이 작성한 지시문은 그대로 지침 절이 됩니다. 예비 연구 단계를 진행했다면 주석자 인구통계는 이미 주석자별로 저장되어 있으니, 이를 분포로 집계해 주석자 인구통계 절에 넣으세요. 또한 내보내기는 모든 라벨에 주석자와 타임스탬프를 유지하므로, 출처가 벗겨지지 않고 데이터와 함께 이동합니다.
{
"id": "doc_001",
"annotations": { "sentiment": "positive" },
"annotator": "user_1",
"timestamp": "2024-01-15T10:30:00Z"
}Hub에 공개할 때는 내보내기의 마지막 단계로 데이터셋 카드를 생성하고, 이미 가지고 있는 설정, 지침, 예비 연구 인구통계로부터 각 절을 채우세요.
더 읽을거리
- 주석 데이터셋 문서화하기, 실제 작성한 데이터 스테이트먼트가 있는 서사형 안내.
- 주석자 인구통계를 책임감 있게 수집하기, 주석자 인구통계 절을 제대로 만들기 위해.
- 주석 지침 작성하기, 그대로 지침 절을 겸합니다.
- ML을 위한 주석 내보내기, 라벨과 메타데이터를 깔끔하게 빼내기 위해.