Buckets:

open-athena/MarinFold / data /document_structures /contacts_v1_backtracking
1.51 TB
41,659 files
Updated 2 days ago
Name
Size
tokenizer
train
README.md3.21 kB
xet
README.md

contacts-v1 backtracking corpus (exp159)

1,023,997 contacts-v1 documents that retract their own mistakes: each document emits contacts, later takes back the wrong ones with <retract> <pX> <pY>, and ends with exactly the protein's ground-truth contact set.

Generated by a model-in-the-loop procedure (issue #159) from contacts-v1-exp120-1.5B: the model proposes each next contact conditioned on a clean prompt of the currently-live contacts, and after every retraction the prompt is rebuilt from the corrected set — so every emitted contact stays on-distribution and the only synthetic tokens are the <retract> statements themselves.

When a contact is retracted is decided by the base model's own collapsing posterior on that pair (scored against the committed set), never by ground truth. Ground truth is used only to guarantee the final set is correct. That matters: the timing signal a trained model must reproduce is, by construction, computable from its own context.

Contents

train/shard-{00000..00015}.parquet   # 1,023,997 documents
tokenizer/                                  # contacts-v1 tokenizer (incl. <retract>)
README.md

Columns: entry_id, document, seq_len, global_plddt, n_gt, n_contact_stmts, n_retract_stmts, n_reemit, n_fp_emitted, fp_retracted_by_trigger, tp_retracted_by_trigger, num_tokens, truncated, source, shard.

Numbers

documents 1,023,997
tokens 1,076,910,057
mean contacts / doc 185.7
mean retracts / doc 33.1
false positives emitted 32,849,569
retracted by the posterior trigger 25,105,853 (76.4%)
trigger false alarms (true contacts) 0
documents failing to fold to GT 0
truncated 0

Retraction is discriminative: P(false positive | retracted) = 0.974 against a base rate of 0.166 — an enrichment of 5.85x, 97% of the achievable ceiling (1/0.166 = 6.02x). Retractions are delayed, mean 17.9 / median 9 statements after the mistake (0.1% immediate), which is the long-range self-correction signal the format exists to teach.

Source

Proteins and ground-truth contacts come from the ESMFold2-Atlas distillation set via exp139's saved raw contacts (no pyconfind at generation time). The saved contacts are RAW, so the contacts-v1 document filters (min_seq_separation=6, min_contact_degree=0.001) are applied when deriving ground truth.

Reading it

import pandas as pd
from marinfold.document_structures.contacts_v1.read import live_contacts

df = pd.read_parquet("hf://buckets/open-athena/MarinFold/data/"
                     "document_structures/contacts_v1_backtracking/train/shard-00000.parquet")
live_contacts(df.document[0])   # the contacts still asserted at <end>

<retract> is the last token of the contacts-v1 vocab (append-only, so every pre-existing id is unchanged). For mixture training, the contacts-and-coordinates-v1 / contacts-and-crops-v1 superset tokenizers also carry <retract> as their final token — a different id than here, which is fine as long as one tokenizer is used throughout a run.

Total size
1.51 TB
Files
41,659
Last updated
Sep 15
Pre-warmed CDN
US EU US EU

Contributors