File size: 10,706 Bytes
3804d6f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
# What huggingface.co/lamm-mit/Prospector holds and why: one pattern per
# line, with its reason. Paths are the code repository's
# (github.com/lamm-mit/Prospector); unpacked at its root, every file lands
# where the code expects it. Braces expand ({a,b}, {0..7}); * is a glob.

[graphs]  # the paper's own graph, released here; the three other graphs come from their own sources (the code repository's data/raw/README.md fetches all four with checksums)
data/raw/GRAPHDATA_TSMC_OUTPUT/tsmc_5b10p.graphml   # the semiconductor graph: 10,056 nodes, 24,324 edges, GraphML

[adapters]  # the recipe's six stages at three sizes: a supervised stage ships final/, a GRPO round the checkpoint its grid picked, each with its run.json
models/traj_sft_0.8b_flash20            # stage 1 at 0.8B: the demonstrations
models/traj_sft_0.8b_flash20g2          # stage 3 at 0.8B: the rejection stage, the first adapter of the served stack
models/traj_grpo_0.8b_flash20full       # stage 2 at 0.8B: the full-episode round (its pick; not served, its episodes trained stage 3)
models/traj_grpo_0.8b_flash20d1         # stage 4 at 0.8B: decision round 1
models/traj_grpo_0.8b_flash20d2         # stage 4 at 0.8B: decision round 2
models/verifier_sft_0.8b_flash20v       # the 0.8B's verifier
models/traj_sft_2b_flash20              # stage 1 at 2B
models/traj_sft_2b_flash20g2            # stage 3 at 2B
models/traj_grpo_2b_flash20full         # stage 2 at 2B
models/traj_grpo_2b_flash20d1           # stage 4 at 2B: decision round 1
models/traj_grpo_2b_flash20d2           # stage 4 at 2B: decision round 2
models/verifier_sft_2b_flash20v         # the 2B's verifier
models/traj_sft_4b_flash20              # stage 1 at 4B (trained on a hosted service; run.json and tinker_run.json record it)
models/traj_sft_4b_flash20g2            # stage 3 at 4B (hosted service)
models/traj_grpo_4b_flash20full         # stage 2 at 4B
models/traj_grpo_4b_flash20d1           # stage 4 at 4B: decision round 1
models/traj_grpo_4b_flash20d2           # stage 4 at 4B: decision round 2
models/verifier_sft_4b_flash20v         # the 4B's verifier (hosted service)
models/recipe_backfill_v1.json          # how each adapter's run.json was written after the fact from its training record and checked against the stage's file under configs/, whose hash run.json carries where its adapter was trained under that file; the paths under backfill name the development history; and each later change made by hand to a stored file here, with its reason

[rows]  # the rows each stage trained from, as the recipe names them, each with its .provenance.json sidecar when one exists
data/traj/tsmc_sft_mix_flash20.jsonl                     # stage 1's rows: the teacher's demonstrations with the detours, shared by the three sizes
data/traj/tsmc_flash20_keeps.jsonl.provenance.json       # the demonstrations' sidecar alone: it names the teacher and the teacher runs the kept episodes came from
data/traj/tsmc_sft_mix_{0.8b,2b,4b}_flash20g2.jsonl       # stage 3's rows: the demonstrations blended with each size's own kept episodes
data/traj/tsmc_{0.8b,2b,4b}_flash20g2_keeps.jsonl.provenance.json   # the kept episodes' sidecar alone: it names the runs and the policy that produced them, which the paper's recipe figure follows
data/traj/tsmc_prefixes_q{0.8b,2b,4b}d1.jsonl             # decision round 1's states
data/traj/tsmc_prefixes_q{0.8b,2b,4b}d2.jsonl             # decision round 2's states
data/traj/tsmc_verifier_yesno_{0.8b,2b,4b}_flash20v.jsonl # each size's verifier rows

[runs]  # stored evaluation runs: every one the paper reads or the code repository's README names
# Prospector-4B, the paper's policy reads at 1,024 tokens a turn
data/runs/flash20cap1024-s{0..7}--tsmc_core_agentic          # the served 4B, eight seeds: the headline
data/runs/gen1sft1k-s{0..2}--tsmc_core_agentic               # the 4B after stage 1
data/runs/full1k-s{0..2}--tsmc_core_agentic                  # the 4B after stage 2
data/runs/gen2sft1k-s{0..2}--tsmc_core_agentic               # the 4B after stage 3
data/runs/base4b1k-agent-s{0..2}--tsmc_core_agentic          # the base model in the same harness
data/runs/stack1k-{full,noconnect,nofind,noexpand}-s{0..2}--tsmc_core_agentic   # the served 4B with all three tools (full) and with each one withheld
data/runs/flash20stackbio-s{0..2}--biograph_core_agentic     # the served 4B on the bio-inspired-materials graph
data/runs/stack1kpfas-ctx32k-s{0..2}--pfas_core_agentic      # on the PFAS graph, at a 32,768-token window
data/runs/stack1kmatprop-s{0..2}--matprop_core_agentic       # on the materials-properties graph
data/runs/flash20pool34-s{101..132}--tsmc_core_agentic       # the 4B's 32-sample pool at temperature 0.7
data/runs/flash20-verifier32-yn1a3--tsmc_core_agentic        # the verifier's scores over that pool (three scorings on the hosted service, averaged)
data/runs/flash20-teach-4x-{g0,g1,g2,g3,g4,g5,g6,g7,p2}--tsmc_train_agentic_4x   # the teacher's demonstrations: eight shards and the second pass
# the 0.8B and the 2B: the reads after each stage, the pools and the verifier's scores
data/runs/q{0.8b,2b}sft1eval-s*--tsmc_core_agentic           # after stage 1
data/runs/q0.8bfulleval-ck40-s*--tsmc_core_agentic           # after stage 2, the 0.8B's pick
data/runs/q2bfulleval-ck100-s*--tsmc_core_agentic            # after stage 2, the 2B's pick
data/runs/q{0.8b,2b}g2eval-s*--tsmc_core_agentic             # after stage 3
data/runs/q{0.8b,2b}d2eval-ck120-s*--tsmc_core_agentic       # after stage 4: the served policy
data/runs/q{0.8b,2b}pool32-s{101..132}--tsmc_core_agentic    # each size's 32-sample pool
data/runs/q{0.8b,2b}-verifier32-yn1--tsmc_core_agentic       # each size's verifier scoring its pool once, locally
# the API models, one read per cell under the paper's contract
data/runs/gpt5mini-agent-t20-3tool-native-f16k--tsmc_core_agentic   # gpt-5-mini with the three tools, native channel
data/runs/gpt56sol-agent-t20-3tool-native--tsmc_core_agentic        # gpt-5.6-sol, native channel
data/runs/gpt6astra-agent-t20-label--tsmc_core_agentic              # gpt-6-astra
data/runs/gemini37flash-agent-t20-3tool-label--tsmc_core_agentic    # gemini-3.7-flash
data/runs/gemini38flash-agent-t20-label--tsmc_core_agentic          # gemini-3.8-flash
data/runs/opus55-agent-t20-3tool--tsmc_core_agentic                 # claude-opus-5.5
data/runs/dsv4pro-agent-t20-3tool--tsmc_core_agentic                # deepseek-v4-pro
data/runs/qwen397-agent-t20-3tool--tsmc_core_agentic                # qwen3.5-397b-a17b
data/runs/{gpt-5-mini-cb2,gpt-56-sol-cb2,gpt6astra-cb2,gemini37flash-cb2,gemini38flash-cb2,opus55-cb2,dsv4pro-cb2,qwen397-cb2}--tsmc_core__closed_book   # closed book
data/runs/{gpt5mini,gpt56sol,gpt6astra,gemini37flash,gemini38flash,opus55,dsv4pro,qwen397}-raganchor-label--tsmc_core__khop400anchor   # a fixed retrieved subgraph
data/runs/{gpt6astra,gemini37flash,gemini38flash}-agent-{biograph,pfas,matprop}-label--*_core_agentic   # the three tools on the unseen graphs
data/runs/gpt56sol-agent-{biograph,pfas,matprop}-native--*_core_agentic                                # gpt-5.6-sol on the unseen graphs, native channel
data/runs/{gpt6astra,gemini37flash,gemini38flash,gpt56sol}-raganchor-label-{biograph,pfas,matprop}--*_core__ppr400anchor   # retrieval on the unseen graphs
data/runs/{gpt6astra,gemini37flash,gemini38flash,gpt56sol}-closedbook-{biograph,pfas,matprop}--*_core__closed_book       # closed book on the unseen graphs

[timing]  # the cost figure's inputs: the timing runs, each one episode at a time with no concurrency, and the file that prices them
data/analysis/inference_speed.json                            # the speed file the paper's cost figure reads: each arm's timing run, questions per minute, the posted rates per million tokens with the date each was read, and the GPU's hourly price
data/runs/spd4-4b-{h200,l40s,mac-mlx}--tsmc_core_agentic     # the served 4B, one episode at a time, on an H200, an L40S and a MacBook M4 Pro
data/runs/flash20cap1024-s0--tsmc_core_agentic/latency       # the served 4B's latency probe on the GH200, the single-episode row that prices it
data/runs/spd5-{gpt5mini-native,gpt56sol-native,gpt6astra-label,gemini37flash-label}--tsmc_core_agentic   # four API models with the tools, one episode at a time
data/runs/{gemini38flash-agent-t20-label,opus55-agent-t20-3tool,dsv4pro-agent-t20-3tool,qwen397-agent-t20-3tool}--tsmc_core_agentic/latency   # the other four API models' latency probes, read beside their main runs
data/runs/spd2-{gemini,gemini38,gpt56sol,gpt6astra}-cb--tsmc_core__closed_book   # closed book, one call at a time
data/runs/spd5-{gpt5mini,opus55,qwen397,dsv4pro}-cb--tsmc_core__closed_book      # closed book, one call at a time

[probe]  # the latent-state probe's derived files at the paper's settings: what `prospector latent` writes, less the hidden states
data/runs/_probe/pilot/labels_home.npz             # the move after every observation, home graph
data/runs/_probe/pilot/labels_bio.npz              # the same, transfer graph
data/runs/_probe/pilot/depth_profile.json          # the two readings' AUC at every layer
data/runs/_probe/pilot/directions_L20*             # the steering directions at layer 20 with their dose units
# the steering arms the probe runs, by root: seed 0 carries the half doses and every random draw, the repeat seeds the drawn doses and one draw of each null
data/runs/_probe/knob_vllm/knob-{dose0,fol+0.5,fol-0.5,fol+1,fol-1,fol+2,fol-2,ans+0.25,ans-0.25,ans+0.5,ans-0.5,ans+1,ans-1,rnd+0.5,rnd-0.5,rnd+1,rnd-1,rnd2+0.5,rnd2-0.5,rnd2+1,rnd2-1,rnd3+0.5,rnd3-0.5,rnd3+1,rnd3-1,rndf+1,rndf-1,rndf+2,rndf-2,rndf2+1,rndf2-1,rndf2+2,rndf2-2,rndf3+1,rndf3-1,rndf3+2,rndf3-2}--tsmc_core_agentic
data/runs/_probe/knob_vllm/knob-{dose0,fol+1,fol-1,fol+2,fol-2,ans+0.5,ans-0.5,ans+1,ans-1,rndf+1,rndf-1,rndf+2,rndf-2}--biograph_core_agentic
data/runs/_probe/knob_vllm_r{2,3}/knob-{dose0,fol+1,fol-1,fol+2,fol-2,ans+0.5,ans-0.5,ans+1,ans-1,rndf+1,rndf-1,rndf+2,rndf-2,rnd+0.5,rnd-0.5,rnd+1,rnd-1}--tsmc_core_agentic
data/runs/_probe/knob_vllm_r{2,3}/knob-{dose0,fol+1,fol-1,fol+2,fol-2,ans+0.5,ans-0.5,ans+1,ans-1,rndf+1,rndf-1,rndf+2,rndf-2}--biograph_core_agentic
# the same directions on the two other unseen graphs: the follow and answer doses at seed 0, the follow doses at the repeat seeds
data/runs/_probe/knob_vllm/knob-{dose0,fol+1,fol-1,fol+2,fol-2,ans+0.5,ans-0.5,ans+1,ans-1}--{pfas,matprop}_core_agentic
data/runs/_probe/knob_vllm_r{2,3}/knob-{dose0,fol+1,fol-1,fol+2,fol-2}--{pfas,matprop}_core_agentic
data/runs/_probe/knob_vllm{,_r2,_r3}/mix.json        # each root's move mix per arm, as the mix stage writes it over the arms here