Data
Data note는 모델을 학습하기 전에 example, label, metadata, split, benchmark가 어떻게 만들어지는지 설명합니다. Applied AI에서는 architecture보다 dataset이 실제 문제를 더 강하게 정의하는 경우가 많습니다.
A dataset induces an empirical distribution:
Training과 evaluation은 이 empirical distribution이 의도한 deployment distribution과 맞을 때만 의미가 있습니다.
이동 지도
| 필요 | 시작점 | 이어서 확인할 것 |
|---|---|---|
| define what one row means | Example unit | Data schema, Label semantics |
| define what must be held out | Split unit | Dataset split contract, Leakage |
| prepare raw records | Preprocessing contract | Data preprocessing, Data lineage |
| describe a reusable dataset | Dataset card | Metadata and provenance, Data versioning |
| build a benchmark | Benchmark intake | Benchmark claim contract, Evaluation set design |
| handle imperfect labels | Label noise | Censored label, Weak label |
| handle distribution problems | Dataset shift | Sampling bias, Class imbalance |
Data Contract
Dataset은 table 파일이 아니라 claim을 가능하게 하는 contract입니다.
where is the raw example unit, is the model-ready input, is the label or target, is metadata, and is quality or filtering state.
| Part | Ask | Route |
|---|---|---|
| raw unit | what real object does one example represent? | Example unit |
| processed input | how does raw data become model input? | Preprocessing contract, Representation contract |
| label | what exactly is measured or annotated? | Label semantics, Annotation and labeling |
| metadata | what source, context, time, group, protocol, or quality fields matter? | Metadata and provenance |
| quality state | was the example valid, repaired, filtered, censored, weak, or missing? | Missing data, Censored label, Weak label |
| version | can the dataset be reconstructed? | Data versioning, Data lineage |
Identity, Representation, Label
These three should be kept separate.
| Layer | Example | Common Mistake |
|---|---|---|
| identity | molecule, protein, document, subject, query, complex | duplicate identity crosses train/test |
| representation | tokenized text, graph, fingerprint, coordinates, embedding | representation built using test or deployment-unavailable context |
| label | class, scalar, rank, pose, preference, annotation | label direction, unit, threshold, or censoring omitted |
For computational biology, this separation is critical: a molecule can have many protonation/tautomer/stereo/conformer representations, and a protein can have sequence, domain, structure, MSA, template, or pocket representations. The dataset note should say which identity is being split and which representation the model sees.
Construction Order
Good data notes preserve the order of operations:
The dangerous step is fitting or choosing preprocessing on all data before split assignment. Any learned scaler, imputer, vocabulary, threshold, deduplication rule, feature selector, standardization choice, or retrieval index can become leakage if it sees validation/test information.
| Step | Keep |
|---|---|
| raw source | source, license, acquisition time, inclusion rule |
| schema | field names, units, identifiers, relations |
| identity resolution | duplicate and near-duplicate policy |
| split assignment | split unit, grouped counts, random seed or rule |
| preprocessing | deterministic vs learned, fit-on-train-only parameters |
| artifact | file/version/hash, shape, masks, quality flags |
| evaluation | denominator, invalid cases, metric and protocol |
Claim Boundaries
| Data issue | Claim affected |
|---|---|
| weak split unit | generalization claim |
| hidden duplicate or near-duplicate | benchmark validity |
| label noise or censoring | metric ceiling and calibration |
| source imbalance | OOD and robustness claim |
| preprocessing leakage | all downstream evaluation |
| missing or filtered examples | denominator and deployment readiness |
| unreconstructable version | reproducibility |
Boundary With Other Sections
| If the note is about | Put it in |
|---|---|
| example unit, label, schema, split, preprocessing, provenance | this section |
| metric, baseline, uncertainty, threshold, evaluation protocol | [[concepts/evaluation/index |
| checkpoint, artifact, environment, serving, run reproducibility | [[concepts/systems/index |
| molecule, protein, assay, pocket, structure-specific data rules | [[molecular-modeling/index |
| architecture, objective, optimizer, representation learning | [[concepts/machine-learning/index |
| paper-specific dataset claim or benchmark table | [[papers/index |
Data notes answer “what examples and labels exist?” Evaluation notes answer “what claim does a score support?” Systems notes answer “can the artifact and run be reconstructed?”
Public Data Note Template
| Field | Write |
|---|---|
| Source | public source, collection rule, version or date |
| Example unit | row, molecule, protein, document, complex, query, task trace |
| Identity key | deduplication key, grouping key, near-duplicate policy |
| Label | endpoint, unit, direction, threshold, censoring, annotation source |
| Metadata | source, time, protocol, target, species, assay, structure context |
| Split | split unit, train/validation/test rule, leakage controls |
| Preprocessing | fit-on-train-only parameters, deterministic transforms, filters |
| Denominator | raw records, excluded records, valid records, evaluated records |
| Public boundary | private IDs, paths, collaborators, unpublished labels removed |
For generated or filtered data, preserve the denominator:
주제 묶음
| 그룹 | 노트 |
|---|---|
| Dataset definition | Dataset, Dataset construction checklist, Data distribution |
| Schema and metadata | Data schema, Metadata and provenance, Data lineage |
| Curation and versions | Data curation, Data versioning, Annotation and labeling |
| Sampling | Sampling strategy, Sampling bias, Missing data |
| Benchmarking | Benchmark, Benchmark intake, Evaluation protocol |
확인할 것
- 하나의 example은 무엇인가?
- split unit은 무엇인가?
- dataset은 어떤 distribution을 대표해야 하는가?
- field, unit, identifier, relationship을 정의하는 schema가 있는가?
- target label은 무엇에서 만들어지는가?
- label이 정확히 무엇을 의미하는가?
- missing, censored, weak label이 명시적으로 표현되는가?
- batch, source, protocol, time, species, target, structure context를 설명하는 metadata가 있는가?
- collection bias 때문에 빠진 example은 무엇인가?
- class 또는 label distribution이 imbalanced한가?
- sampling bias가 validation을 deployment보다 쉽게 만들지 않는가?
- train, validation, test, deployment 사이에 어떤 shift가 있는가?
- split이 의도한 generalization claim과 맞는가?
- 다른 사람이 dataset version과 filtering policy를 재구성할 수 있는가?
- label이 noisy, censored, inconsistent, protocol-dependent하지 않은가?
구성 경로
- Define example unit and split unit.
- Write the data schema and label semantics.
- Specify the preprocessing contract.
- Record metadata and provenance and data lineage.
- Choose the sampling strategy and dataset split contract.
- Summarize the result in a dataset card.
- Design the evaluation set.
- Attach an evaluation protocol.
- Use benchmark intake and benchmark claim contract before treating a score as evidence for a paper claim.
Public Boundary
Public data notes should preserve reusable structure without exposing private datasets or unpublished results.
| Keep | Remove |
|---|---|
| dataset class and public source | private dataset path or internal project name |
| schema pattern | real private identifiers |
| split strategy | private split files or user-specific labels |
| preprocessing contract | credentials, storage paths, internal tool endpoints |
| qualitative data issue | unpublished metrics or collaborator details |
| public benchmark version | unreleased benchmark contents |