Skip to content

Evaluation sweep: DeepSeek V4 Flash, further Together models, Marin 32B #2

Description

@timodonnell

Tracking issue for the first real evaluation sweep over the expanded benchmark. I will post results here as each run lands.

Where the benchmark stands

The candidate set is 117 semantic instances over 49 protein groups, 247 rendered variants, at PROMPT_VERSION = v2. Recent changes worth knowing about before reading any number below:

  • 69 of 117 instances (59%) sit on post-2023 structures drawn from the FoldBench low-homology target lists. The other half is the classical pool (crambin, BPTI, lysozyme, calmodulin …), which is in every training corpus. Release date is recorded per instance, so scores can be split by it.
  • Seven automatic families now carry a context-only controlP01, P02, S03, S04, S05, S08, S09 — plus the six mechanistic episodes. Same question, same gold answer, no coordinates. See below for why this changes how the scores should be read.
  • Gold answers are not in the repository. build regenerates them byte-identically and validate checks them against committed hashes. See docs/contamination.md.

What is being run

model provider status
DeepSeek V4 Flash 0731 Together (batch) queued
further Together models Together (batch) queued
Marin 32B (Stanford) Modal queued

Together's Batch API is roughly half the price of synchronous calls, so every Together run goes through it.

Two things that will be reported alongside every score

Truncation, separately from wrongness. These score identically — zero — and conflating them turns a benchmark of reasoning models into a benchmark of output budgets. In the earlier smoke run, DeepSeek V4 Flash moved 0.475 to 0.638 to 0.710 purely by raising the output budget from 8k to 32k to 64k tokens. Nothing about the model changed. Every table here reports the truncation count.

The context-only floor. For a mechanistic episode the prompt still describes the experiment, so a model that recognises the system can answer from the literature, and the gain over context-only separates structure use from recall. For the automatic families the sanitised question names nothing — no entry ID, no organism, no ligand code — so what the control measures is the guessing floor, and that floor is neither uniform nor small:

family answer space why it matters
S03 buried / exposed a coin flip before any prior
S04 helix / strand / coil three-way, coil is the plurality class
S05 three fold classes three-way
S09 g+ / t / g- three-way, g- is commonest
P01 chain identifiers answering A is right much of the time
P02, S08 integer / residue label unconstrained, should sit near zero

A model scoring 0.55 on S03 has demonstrated nothing at all. Reports print this as What the coordinates are worth.

Response cache

All completions now go into a content-addressed cache keyed on model, sampling parameters, output budget and the exact prompt text — deliberately not on the render or instance identifier, both of which move when the dataset is rebuilt. Adding a question costs only the calls for that question; removing one costs nothing. Each entry keeps the provider's full response body, so reasoning traces survive for inspection rather than being reduced to the answer text at call time.

Caveats that apply to everything below

  • The candidate set is proposed, not curator-accepted. Numbers may move once curation lands.
  • S02 realises 2 instances against a target of 4 — phosphorylation is rare in the pool and absent from all 49 FoldBench entries.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions