Datensätze und Modelle dokumentieren: Datasheets, Data Statements und Model Cards
Eine Referenz zu den drei Standard-Rahmenwerken für die Dokumentation annotierter Daten und der darauf gebauten Modelle: was jedes abdeckt, wann welches passt und wie Angaben zur Reproduzierbarkeit sie zusammenhalten.
Für Daten im maschinellen Lernen haben sich drei Dokumentationsstandards durchgesetzt: Data Statements und Datasheets für den Datensatz, Model Cards für das, was darauf trainiert wird. Sie überschneiden sich stark, und keiner ist verzichtbar, wenn die Daten Vertrauen finden und weiterverwendet werden sollen. Diese Seite ist eine Referenz dazu, was jeder abdeckt und wann du zu welchem greifst. Eine erzählende Anleitung zum Schreiben findest du im begleitenden Beitrag Deinen Annotationsdatensatz dokumentieren; hier geht es um den Vergleich der Standards.
Warum strukturierte Dokumentation und keine README
Ein annotierter Datensatz ohne Dokumentation altert schlecht. Ein halbes Jahr später kann niemand mehr sagen, wie gezogen wurde, wer gelabelt hat oder was ein Label bedeuten sollte; die Daten werden zur Blackbox, der man entweder blind vertraut oder die man wegwirft. Zwei Kosten treten dabei immer wieder auf: fehlende Reproduzierbarkeit (ohne Ziehungsverfahren, Richtlinienversion und Angaben zum Personenkreis lässt sich der Datensatz nicht neu aufbauen und keine Abweichung erklären) und verdeckte Verzerrung (Labels aus einem undokumentierten, engen Personenkreis tragen blinde Flecken, die erst im Produktivbetrieb sichtbar werden). Die Rahmenwerke unten sind dafür da, das Wer und das Wie lesbar zu machen, bevor eines von beidem zuschlägt.
Die drei Standards
Jedes Rahmenwerk zielt auf ein anderes Artefakt und ein anderes Publikum, gedacht sind sie aber als ineinandergreifendes System.
Data Statements (Bender und Friedman, 2018) sind das NLP-spezifische Schema. Sie beschreiben einen Sprachdatensatz: Kuratierungsbegründung, Sprachvarietät und ihre Sprechenden, Demografie der Annotierenden, Richtlinien und vorgesehene Nutzung. Damit kann eine Leserin einschätzen, wie weit Ergebnisse tragen und welche Bevölkerungsgruppen in den Daten unterrepräsentiert sind. Greif zum Data Statement, wenn es um Text geht und die Sprachvarietät eine Rolle spielt.
Datasheets for Datasets (Gebru et al., 2021) sind die allgemeine Variante, entlehnt aus der Elektronik, wo zu jedem Bauteil ein Datenblatt gehört. Sie stellen einen festen Fragenkatalog zu Motivation, Zusammensetzung, Erhebung, Vorverarbeitung, empfohlener Nutzung und Pflege. Ein Datasheet passt zu jedem ML-Datensatz, ob Text oder nicht; die Überschneidung mit einem Data Statement ist groß, bei einem Sprachdatensatz wählst du also eher, an welchem Fragenkatalog du dich entlanghangelst, als dass du beide von Grund auf schreibst.
Model Cards (Mitchell et al., 2019) dokumentieren das Modell, nicht die Daten: seine vorgesehene Nutzung und, das ist der Kern, seine Leistung aufgeschlüsselt nach demografischen und anderen Gruppen statt als eine einzige Gesamtzahl. In der Model Card wird ein Fairness-Problem sichtbar.
Die drei bilden eine Kette. Ein Datasheet oder Data Statement dokumentiert die Daten, eine Model Card das, was darauf gebaut wurde, und erst der Abschnitt zur Demografie der Annotierenden aus dem ersten macht die gruppenweise Evaluation im letzten interpretierbar. Wer die Annotation gut dokumentiert, hat den größten Teil einer belastbaren Model Card schon geschrieben.
| Rahmenwerk | Dokumentiert | Passt für | Wichtige Abschnitte |
|---|---|---|---|
| Data Statement | Einen Sprachdatensatz | NLP- und Textdaten | Kuratierungsbegründung, Sprachvarietät, Demografie von Sprechenden und Annotierenden, Richtlinien |
| Datasheet | Jeden ML-Datensatz | ML-Daten allgemein | Motivation, Zusammensetzung, Erhebung, Nutzung, Pflege |
| Model Card | Ein trainiertes Modell | Jedes veröffentlichte Modell | Vorgesehene Nutzung, aufgeschlüsselte Evaluation, Grenzen |
Reproduzierbarkeit ist das vierte Standbein
Dokumentation und Reproduzierbarkeit sind dasselbe Ziel aus zwei Blickwinkeln. Pineau et al. (2021) berichten über das Reproduzierbarkeitsprogramm von NeurIPS und destillieren daraus eine Checkliste zur Reproduzierbarkeit: Nenne die genauen Daten, die Schritte der Erhebung und Vorverarbeitung, den Aufbau der Evaluation und genug Details, um die Arbeit noch einmal laufen zu lassen. Für ein Annotationsprojekt sind die reproduzierbarkeitskritischen Angaben genau die, nach denen ein Datasheet ohnehin fragt: wie Elemente gezogen wurden, welche Richtlinienversion galt, wer annotiert hat und wie mit Uneinigkeit umgegangen wurde. Kannst du das beantworten, ist der Datensatz dokumentiert und reproduzierbar zugleich; kannst du es nicht, ist das eine Lücke, die vor der Veröffentlichung zu schließen ist, nicht danach.
Eine Checkliste vor der Veröffentlichung
Bevor du veröffentlichst, prüfe, ob du das beantworten kannst:
- Wie wurden die Elemente gezogen, und woher?
- Um welche Sprachvarietät geht es, und wer hat den Ausgangstext geschrieben?
- Wer hat annotiert, wie viele Personen, und wie ist dieser Kreis demografisch zusammengesetzt?
- Welchen Richtlinien sind sie gefolgt, und in welcher Version?
- Wurde Uneinigkeit zu einem Gold-Label zusammengeführt oder als Verteilung erhalten? Berichte in beiden Fällen die Übereinstimmung.
- Wofür ist dieser Datensatz gedacht, und wofür sollte er nicht verwendet werden?
Umsetzung in Potato
Der größte Teil der Dokumentation existiert schon als Projektartefakt, du fängst also nicht bei null an. Die Konfiguration ist Dokumentation: Das YAML hält Schemata, Labelmengen und Aufgabenstruktur fest, versioniert neben den Daten, und die Anweisungen, die du geschrieben hast, sind wörtlich der Richtlinienabschnitt. Wenn du eine Vorstudienphase hattest, liegen die Demografiedaten der Annotierenden bereits pro Person vor; fasse sie zu Verteilungen für den entsprechenden Abschnitt zusammen. Und der Export behält zu jedem Label die annotierende Person und den Zeitstempel, damit die Herkunft mit den Daten mitwandert, statt unterwegs verloren zu gehen:
{
"id": "doc_001",
"annotations": { "sentiment": "positive" },
"annotator": "user_1",
"timestamp": "2024-01-15T10:30:00Z"
}Wenn du auf dem Hub veröffentlichst, erzeuge die Dataset Card als letzten Schritt des Exports und füll ihre Abschnitte aus der Konfiguration, den Richtlinien und den Demografiedaten der Vorstudie, die du schon hast.
Weiterführende Lektüre
- Deinen Annotationsdatensatz dokumentieren, die erzählende Anleitung mit einem ausgearbeiteten Data Statement.
- Demografiedaten von Annotierenden verantwortungsvoll erheben, für einen sauberen Abschnitt zur Demografie der Annotierenden.
- Annotationsrichtlinien schreiben, die zugleich der Richtlinienabschnitt sind.
- Annotationen für ML exportieren, um Labels und Metadaten sauber herauszubekommen.