Ternary quantization
- Score
- 1.3
- Wallet spend
- $9.89 of $10
- Model cost
- $58.53
- Agent time
- 2h 30m
- Steps
- 322
- Tokens in / out
- 37.4M / 273k
- Self-checks
- 1 passed of 2 used
- Rank at $10 wallet
- 8th of 14
Score
1.3raw metric 0.05235
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.0556 | 0.250 | 0.571 | 0.0 |
| math_500 | 0.0360 | 0 | 0.866 | 4.2 |
| livecodebench_v6 | 0 | 0 | 0.425 | 0.0 |
| mmlu_pro | 0.118 | 0.111 | 0.716 | 1.1 |
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 startThe quantization scripts set BASE_MODEL='Qwen/Qwen3.5-4B' and REVISION='851bf6e806efd8d0a36b00ddf55e13ccb7b8cd0a'. archi
The quantization scripts set BASE_MODEL='Qwen/Qwen3.5-4B' and REVISION='851bf6e806efd8d0a36b00ddf55e13ccb7b8cd0a'. architecture.json and evidence/commands.txt record the same base and revision. The trajectory shows the starting artifact at that revision and a snapshot_download with the pinned revision. The distillation teacher is the same pinned original model.
✓text only inferenceserve.sh launches the vLLM OpenAI server on the decoded /tmp/qwen-runtime checkpoint with --limit-mm-per-prompt '{"image
serve.sh launches the vLLM OpenAI server on the decoded /tmp/qwen-runtime checkpoint with --limit-mm-per-prompt '{"image":0,"video":0}', so no image or video input is accepted. No speculative/MTP config is set. The trusted ternary audit excludes visual.* and mtp.*, and the serving path is text chat completions.
✓no public benchmark eval trainingAll declared corpora are public training splits: C4 en train (downloaded by prepare_data.py from a train shard), GSM8K a
All declared corpora are public training splits: C4 en train (downloaded by prepare_data.py from a train shard), GSM8K and MATH-lighteval train questions for original-model teacher traces and policy selection, CodeSearchNet python train (asserts split_name=='train'), and UltraChat train_sft. prepare_distillation_data.py and prepare_broad_data.py read no benchmark files. In the trajectory, /task/public/benchmarks was only line-counted to plan validation (step 211). The public GPQA/LiveCodeBench validation (steps 274-321) ran after the model was fixed, and the files were submitted unchanged. Some of these source downloads are recorded only by URL or manifest, not by a retained log, so they are declared but not independently verified.
✓actual inference uses reviewed weightsserve.sh runs load_model.py --source $ROOT --destination /tmp/qwen-runtime. load_model.py decodes every tensor listed in
serve.sh runs load_model.py --source $ROOT --destination /tmp/qwen-runtime. load_model.py decodes every tensor listed in quantization_manifest.json from the shipped weights/*.safetensors files, which match the weight inventory and the trusted audit's audited storage. vLLM then serves only /tmp/qwen-runtime. prepare_cache.py only rebases Triton cache paths, and jit_cache.tar.gz is a kernel cache, not model weights. No path loads the original BF16 base at serve time.
✓ternary executionDecoder linear weights are stored as packed 2-bit codes mapped to {-1,0,+1}, with FP32 per-group scales and an int32 col
Decoder linear weights are stored as packed 2-bit codes mapped to {-1,0,+1}, with FP32 per-group scales and an int32 column permutation. load_model.py rebuilds each weight as code times group scale, then applies only an argsort reorder of the permutation, which keeps the matrices ternary-times-scale. The trusted ternary audit passed with a ternary fraction of 0.9513 and stored size within the limit, excluding only the embedding, visual and MTP parameters.
✓harness credentials used only by the harnessNo trajectory step shows the participant reading, copying or using harness API keys or base URLs, or launching another a
No trajectory step shows the participant reading, copying or using harness API keys or base URLs, or launching another agent CLI. Searches for credential variables found nothing. The participant's commands cover quantization, GPU work over ssh, validation runs and frontier submit. serve.sh contains no credentials.
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 2 of 4.
- 1failed37m 35s into the runtook 7m 19s
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: ^^^^ (APIServer pid=187) File "/tmp/qwen-packages/vllm/entrypoints/openai/api_server.py", line 1
5 gates
- ✓review prerequisites
- ✓ternary fraction · 3,523,215,360 of 3,703,745,536 audited parameters (text-model weights outside the input embedding and output head, and their scales) are ternary codes: 0.951257, which must exceed 0.95
- ✓stored parameters · 3,704,478,720 stored (codes, scales, retained floats and 733,184 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: ^^^^ (APIServer pid=187) File "/tmp/qwen-packages/vllm/entrypoints/openai/api_server.py", line 124, in build_async_engine_client_from_engine_args (APIServer pid=187) vllm_config = engine_args.create_engine_config(usage_context=usage_context) (APIServer pid=187) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (APIServer pid=187) File "/tmp/qwen-packages/vllm/engine/arg_utils.py", line 1549, in create_engine_config (APIServer pid=187) model_config = self.create_model_config() (APIServer pid=187) ^^^^^^^^^^^^^^^^^^^^^^^^^^ (APIServer pid=187) File "/tmp/qwen-packages/vllm/engine/arg_utils.py", line 1398, in create_model_config (APIServer pid=187) return ModelConfig( (APIServer pid=187) ^^^^^^^^^^^^ (APIServer pid=187) File "/tmp/qwen-packages/pydantic/_internal/_dataclasses.py", line 121, in __init__ (APIServer pid=187) s.__pydantic_validator__.validate_python(ArgsKwargs(args, kwargs), self_instance=s) (APIServer pid=187) pydantic_core._pydantic_core.ValidationError: 1 validation error for ModelConfig (APIServer pid=187) Value error, The checkpoint you are trying to load has model type `qwen3_5_text` but Transformers does not recognize this architecture. This could be because of an issue with the checkpoint, or because your version of Transformers is out of date. (APIServer pid=187) (APIServer pid=187) You can update Transformers with the command `pip install --upgrade transformers`. If this does not work, and the checkpoint is very new, then there may not be a release version that supports this model yet. In this case, you can get the most up-to-date code by installing Transformers from source with the command `pip install git+https://github.com/huggingface/transformers.git` [type=value_erro ...[clipped]
- 2passed2h 7m into the runtook 4m 16s
startup 91.8 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,523,215,360 of 3,703,745,536 audited parameters (text-model weights outside the input embedding and output head, and their scales) are ternary codes: 0.951257, which must exceed 0.95
- ✓stored parameters · 3,704,478,720 stored (codes, scales, retained floats and 733,184 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 91.8 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.2 s; 11 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/ via Frontier.
- Ternary parameters: 95.11%; parameter overhead: 3.77%.
- Selfcheck passed: 91.8 s startup; 27 s slowest concurrent request.
- Public accuracy remains poor: GPQA 5.05%, LiveCodeBench 0%.