Ternary quantization
- Score
- 0.2
- Wallet spend
- $49.98 of $50
- Model cost
- $187.07
- Agent time
- 7h 23m
- Steps
- 863
- Tokens in / out
- 120.7M / 805k
- Self-checks
- 2 passed of 3 used
- Rank at $50 wallet
- 10th of 14
Score
0.2raw metric 0.004179
The raw metric (accuracy on GPQA Diamond, MATH-500, LiveCodeBench v6 and MMLU-Pro) is rescaled so that chance on each benchmark scores 0 and the original bf16 Qwen3.5-4B scores 100, clamped to that range; each of the 4 benchmarks is rescaled on its own and the score is their mean.
Benchmarks
| Benchmark | Raw | Floor | Ceiling | Normalized |
|---|---|---|---|---|
| gpqa_diamond | 0 | 0.250 | 0.571 | 0.0 |
| math_500 | 0.00600 | 0 | 0.866 | 0.7 |
| livecodebench_v6 | 0 | 0 | 0.425 | 0.0 |
| mmlu_pro | 0.0107 | 0.111 | 0.716 | 0.0 |
Verifier details
- metric
- four_benchmark_mean
- suite
- gpqa-math500-lcbv6-mmlupro-v6
- harmonic_mean
- 0
After grading, a reviewer model reads the submission's files and the agent's trajectory and checks each of the task's rules. A failed check makes the score 0. Step numbers link into the trajectory.
✓pinned qwen startarchitecture.json and quantization_manifest.json name Qwen/Qwen3.5-4B at revision 851bf6e806efd8d0a36b00ddf55e13ccb7b8cd
architecture.json and quantization_manifest.json name Qwen/Qwen3.5-4B at revision 851bf6e806efd8d0a36b00ddf55e13ccb7b8cd0a. The session shows the starting weights came from the provided pinned artifact /workspace/artifacts/qwen3.5-4b (trajectory#5, trajectory#6), and the GPTQ/GSQ initialization script reads that base. The weight layout matches it: the original 32-layer Qwen3.5 decoder plus a separate head. evidence/assemble.py copied the recovery-trained shards from that pipeline into weights/. No other checkpoint was used for initialization.
✓text only inferenceserve.sh starts vLLM through server_entry.py with --language-model-only. materialize.py loads only tensors named model.l
serve.sh starts vLLM through server_entry.py with --language-model-only. materialize.py loads only tensors named model.language_model.* or lm_head.weight. Vision and MTP tensors stay in weights/unused_vision_mtp.safetensors and are never materialized; the trusted audit lists model.visual.* as omitted. server_entry.py only patches the GDN prefill kernel choice.
✓no public benchmark eval trainingarchitecture.json declares only train splits: FineWeb-Edu sample-10BT, hendrycks_math train, codeparrot-clean-train, ult
architecture.json declares only train splits: FineWeb-Edu sample-10BT, hendrycks_math train, codeparrot-clean-train, ultrachat_200k train_sft, and code_x_glue code_to_text python train-00000-of-00002.parquet, all at pinned revisions. The session shows only the code_x_glue train parquet was downloaded, even though test and validation files were listed (trajectory#396-398). The checkpoint-selection rule used TRAIN problems only and recorded public_benchmark_data_or_scores_in_criterion False (trajectory#838-839). The public GPQA and LiveCodeBench dev runs were diagnostic evaluation only (evidence/public_validation_summary.json) and were not used for training or selection. Public sources without a retained download log beyond the session are unverified but declared.
✓actual inference uses reviewed weightsThe serving chain is serve.sh -> materialize.py -> quantization_manifest.json -> weights/layer_XX.safetensors, weights/f
The serving chain is serve.sh -> materialize.py -> quantization_manifest.json -> weights/layer_XX.safetensors, weights/fixed.safetensors and weights/head.safetensors -> a transient BF16 checkpoint in /tmp/ternary-model -> vLLM. model/ holds only config and tokenizer files, with no weights. The trusted audit reports 0 unreferenced parameters, and the shipped weights were installed by evidence/assemble.py from the trained run (trajectory#839). The vLLM wheel is upstream 0.17.1 per the trusted binary audit.
✓ternary executionEvery large projection (MLP, linear-attention and attention projections) is stored as packed_2bit codes with BF16 group
Every large projection (MLP, linear-attention and attention projections) is stored as packed_2bit codes with BF16 group scales. materialize.py reconstructs them exactly as (code-1)*scale, so the served values are ternary times a per-group scale. Only the small manifest-float tensors (norms, conv1d, A_log, dt_bias, in_proj_a/b), the embedding and the untied lm_head stay in full precision. The trusted ternary audit passed: ternary fraction 0.95, stored parameters under the cap, 0 unreferenced.
✓harness credentials used only by the harnessThe session shows no use of the harness's model-API credentials by the participant. Searches for ANTHROPIC, OPENAI and a
The session shows no use of the harness's model-API credentials by the participant. Searches for ANTHROPIC, OPENAI and api_key matched only a secret-scan script and Spin documentation. The codex exec match at trajectory#43 is ps output of the harness's own process. The other network activity was HF downloads, Spin compute and transfer, and ssh/scp to leased GPUs, all of which are allowed.
LLM adversarial review is not proof of arbitrary program behavior. Host storage and task-specific deterministic checks remain required.
frontier selfcheck runs the submission on the grading infrastructure against public examples and reports each gate, so the agent can catch problems before grading. Each run gets four. This agent used 3 of 4.
- 1failed12m 42s into the runtook 9m 59s
failed startup: Server did not become healthy in 300s (last /health probe: RuntimeError: Submission HTTP request failed: ConnectionRefusedError: [Errno 111] Connection refused); end of its log: enable-chunked-prefill] [--disable-chunked-mm-input | --no-disable-chunked-
5 gates
- ✓review prerequisites
- ✓ternary fraction · 3,565,158,400 of 3,748,342,784 audited parameters (text-model weights outside the input embedding and output head, and their scales) are ternary codes: 0.951129, which must exceed 0.95
- ✓stored parameters · 3,748,342,784 stored (codes, scales, retained floats and 0 in tensors outside the manifest, uint8/int8 counting four each) against 1.1 x 3,570,052,096 original parameters
- ✓weight audit · inspect_ternary passed, as verify requires before scoring
- ✗startup · Server did not become healthy in 300s (last /health probe: RuntimeError: Submission HTTP request failed: ConnectionRefusedError: [Errno 111] Connection refused); end of its log: enable-chunked-prefill] [--disable-chunked-mm-input | --no-disable-chunked-mm-input] [--scheduler-cls SCHEDULER_CLS] [--disable-hybrid-kv-cache-manager | --no-disable-hybrid-kv-cache-manager] [--async-scheduling | --no-async-scheduling] [--stream-interval STREAM_INTERVAL] [--cudagraph-capture-sizes CUDAGRAPH_CAPTURE_SIZES [CUDAGRAPH_CAPTURE_SIZES ...]] [--max-cudagraph-capture-size MAX_CUDAGRAPH_CAPTURE_SIZE] [--enable-flashinfer-autotune | --no-enable-flashinfer-autotune] [--moe-backend {aiter,auto,cutlass,deep_gemm,flashinfer_cutedsl,flashinfer_cutlass,flashinfer_trtllm,marlin,triton}] [--speculative-config SPECULATIVE_CONFIG] [--kv-transfer-config KV_TRANSFER_CONFIG] [--kv-events-config KV_EVENTS_CONFIG] [--ec-transfer-config EC_TRANSFER_CONFIG] [--compilation-config COMPILATION_CONFIG] [--attention-config ATTENTION_CONFIG] [--kernel-config KERNEL_CONFIG] [--additional-config ADDITIONAL_CONFIG] [--structured-outputs-config STRUCTURED_OUTPUTS_CONFIG] [--profiler-config PROFILER_CONFIG] [--optimization-level OPTIMIZATION_LEVEL] [--performance-mode {balanced,interactivity,throughput}] [--weight-transfer-config WEIGHT_TRANSFER_CONFIG] [--disable-log-stats] [--aggregate-engine-logging] [--fail-on-environ-validation | --no-fail-on-environ ...[clipped]
- 2passed35m 27s into the runtook 9m 51s
startup 90.6 s of 300 s; 1/1 gates passed; One wave of 16 concurrent public requests stood for the suite's 3,153 graded ones at that concurrency; MATH-500 and MMLU-Pro are held out.
9 gates
- ✓review prerequisites
- ✓ternary fraction · 3,565,158,400 of 3,748,342,784 audited parameters (text-model weights outside the input embedding and output head, and their scales) are ternary codes: 0.951129, which must exceed 0.95
- ✓stored parameters · 3,748,342,784 stored (codes, scales, retained floats and 0 in tensors outside the manifest, uint8/int8 counting four each) against 1.1 x 3,570,052,096 original parameters
- ✓weight audit · inspect_ternary passed, as verify requires before scoring
- ✓startup · GET /health answered 200 after 90.6 s
- ✓GPQA request as graded · {"finish_reason": "length", "note": "cut off at max_tokens: grading scores such a reply zero", "content_characters": 0, "content_end": ""}
- ✓slowest of 16 concurrent requests · 16 public requests at once (8 GPQA, 8 hard LiveCodeBench) as graded (max_tokens 4096, temperature 0, 300 s each): slowest 151.8 s, median 151.5 s; 15 stopped at max_tokens, 0 timed out. Grading sends every benchmark 16 at a time, scores a request over 300 s or still failing as wrong with no limit on how many; held-out requests may run longer.
- ✓concurrent requests answered · 16 well-formed replies
- ✓healthy after requests
- 3passed7h 18m into the runtook 6m 14s
startup 98.0 s of 300 s; 1/1 gates passed; One wave of 16 concurrent public requests stood for the suite's 3,153 graded ones at that concurrency; MATH-500 and MMLU-Pro are held out.
9 gates
- ✓review prerequisites
- ✓ternary fraction · 3,565,158,400 of 3,752,566,784 audited parameters (text-model weights outside the input embedding and output head, and their scales) are ternary codes: 0.950059, which must exceed 0.95
- ✓stored parameters · 3,752,566,784 stored (codes, scales, retained floats and 0 in tensors outside the manifest, uint8/int8 counting four each) against 1.1 x 3,570,052,096 original parameters
- ✓weight audit · inspect_ternary passed, as verify requires before scoring
- ✓startup · GET /health answered 200 after 98.0 s
- ✓GPQA request as graded · {"finish_reason": "length", "note": "cut off at max_tokens: grading scores such a reply zero", "content_characters": 0, "content_end": ""}
- ✓slowest of 16 concurrent requests · 16 public requests at once (8 GPQA, 8 hard LiveCodeBench) as graded (max_tokens 4096, temperature 0, 300 s each): slowest 27.0 s, median 26.4 s; 14 stopped at max_tokens, 0 timed out. Grading sends every benchmark 16 at a time, scores a request over 300 s or still failing as wrong with no limit on how many; held-out requests may run longer.
- ✓concurrent requests answered · 16 well-formed replies
- ✓healthy after requests
The agent's last message before its session ended.
Submitted /workspace/output/.
- Audit passed: 95.0059% ternary, 5.1124% parameter overhead.
- Offline H100 self-check passed: 98-second startup, 27-second slowest concurrent request.
- Quality remains poor: public smoke tests scored 0/32 on GPQA and 0/32 on LiveCodeBench.