siddharthmb/2026.RA.Auction-ValuationPosterior-KVPrefix
2026.RA.Auction-ValuationPosterior-KVPrefix A learned per-layer K/V "valuation-posterior" prefix injected into an open-weight auction bidder (Qwen3-8B), proposed as a weights-level dial between the RATIONAL arm (private+public information) and the ORACLE arm (full realized information). This dataset holds the behavioral-eval bids (all arms) and trained-encoder checkpoints from the design-#2 lane of the Q/K/V auction program (rational_agents). Headline result (research note… See the full description on the dataset page: https://huggingface.co/datasets/siddharthmb/2026.RA.Auction-ValuationPosterior-KVPrefix.
2026.RA.Auction-ValuationPosterior-KVPrefix
A learned per-layer K/V "valuation-posterior" prefix injected into an open-weight auction bidder (Qwen3-8B), proposed as a weights-level dial between the RATIONAL arm (private+public information) and the ORACLE arm (full realized information). This dataset holds the behavioral-eval bids (all arms) and trained-encoder checkpoints from the design-#2 lane of the Q/K/V auction program (rational_agents).
Headline result (research note 0072): the channel delivers cleanly but the dial does not move surplus. The value of omniscience is mechanism-dependent — oracle−rational normalized surplus is 0.000 in sealed 2nd-price and +0.070 in first-price/Dutch — but the injected public-facts prefix yields injected−rational ≈ 0 in both mechanisms (flood-rate 0.000), even though injected bids move 63% closer to the oracle bid in L1 (first-price bid-error 51.2→18.9). The rational baseline already conditions on the public facts, so a public-facts posterior injects information the agent already has; the oracle's edge is the realized rival valuations (private, capped at 0.545 nats by public facts). The omniscience gap is private-information-shaped, so a public-facts prefix cannot carry it.
What's here
data/bids.csv— one row per (held instance, stage, focal seat, mechanism), with the focal bid + realized surplus under three arms:rational(Qwen3-8B, no prefix),injected(Qwen3-8B + encoder K/V prefix),oracle(computed full-information bid). Raw model bid text inrational_raw/injected_raw.injected_flood=True marks an encoder degeneracy (bid > 2× budget), excluded from scored gaps.runs/{val2,val3}/results.json— per-mechanism summary (normalized-surplus means ±SE, oracle−rational and injected−rational gaps, bid-reconstruction error,injected_flood_rate).runs/val3/encoder.pt— the reportedKVPrefixEncodercheckpoint (free parameterization, 3 layers [0,12,24], n_prefix=8, ~7M params).code/auction_val_prefix.py,code/val_prefix_smoke.py— the full-run trainer/evaluator and the feasibility-gate smoke.
experiment-name mapping
(A confirmatory 1920-row eval full1 was ~53% complete when the shared GPU box was terminated; not included.)
Regenerate
Model Qwen/Qwen3-8B, one H100. From experiments/rational_agents/ with interlens installed and PYTHONPATH including that dir:
# train encoder + evaluate (the reported run)
python tom/qkv/auction_val_prefix.py --bank auction/banks/auction_single_v1 \
--out <outdir> --steps 1600 --lr 0.004 --n-layers 3 --batch 8 --eval-cap 400
# eval-only, reusing a trained checkpoint over all held rows
python tom/qkv/auction_val_prefix.py --bank auction/banks/auction_single_v1 \
--out <outdir> --load-encoder <outdir>/encoder.pt --n-layers 3 --n-prefix 8
# feasibility gates (injection + knob-turn)
python tom/qkv/val_prefix_smoke.py --bank auction/banks/auction_single_v1 --gates 2 4Cluster paths / provenance
- Artifacts:
/nlp/scr/siddharth/ii_mats/qkv_val_prefix/{val2,val3}/and.../logs/(Stanford NLP). - Research note:
experiments/rational_agents/research-notes/0072-valuation-posterior-kv-prefix.md. - Channel code:
experiments/rational_agents/tom/qkv/kv_prefix.py(PrefixKVInjector,KVPrefixEncoder); mechanism originproposals/2026-08-03-qkv-rational-attention.md. - No W&B run (interactive GPU eval).
- Generating model: Qwen/Qwen3-8B.
