Navers lab
← Trajectory Explorer
OWLCompleted

One-shot model pruning

GPT-5.6 Sol · Codex · none effort

Public case ID: codex__owl_wanda_opt6p7b_70pct__gpt-5.6-sol__none

Recipe shift

What the agent changed

Shipped baseline

Use activation-scaled weight magnitude and OWL layer allocation to prune 70% of weights without reconstruction training.

Starting artifact: Dense OPT-6.7B with a mandatory 70% sparsity target

Candidate algorithm

Baseline ranking directly zeroed weights and left survivors unchanged. The candidate accumulated each linear module's input Gram matrix from 1,024 fixed C4 sequences, added damping equal to 0.5 times its mean diagonal, selected about 70% per row by estimated local reconstruction cost, and propagated each zeroing error into unprocessed retained weights. It used no labels, rewards, optimizer, backpropagation, synthetic data, or external input. This changed the algorithm, sampling, hyperparameter, schedule, engineering, and checkpoint policy. The text-only patch excluded explore weights. Formal replay reconstructed…

Exploration and replay evidence

Four-hour exploration

The proxy was validation perplexity, lower is better, on 122 WikiText2 blocks. First, the baseline scored 57.838 at 0.699909 sparsity; layer sparsity ranged from 0.578 to 0.738, and a fixed 128-sample activation buffer prevented scaling. Uniform Wanda and reduced OWL allocation were proposed but not run. Second, the agent adapted SparseGPT to OPT. Its first block-local mask accidentally yielded 79.03% sparsity and was rejected without scoring; a fixed full-matrix row mask produced 0.699951 sparsity and perplexity 26.207, so the algorithm change was adopted. Nonuniform SparseGPT remained untested. Third, increasing calibration at damping 0.01 improved 128/256/512-sample scores from 26.207 to 25.255 and 25.051. At damping 0.5, 512/1,024/2,048 samples scored 21.613, 21.572, and 21.558, but construction time rose from 626 to 1,087 and 2,022 seconds; the agent chose 1,024 despite 2,048 being the proxy best. Fourth, damping 0.5 was best among tested 0.1, 0.3, 0.5, and 1.0 values, with 1.0 regressing; a matched 512-sample comparison confirmed 0.5 over 0.01 and 0.1. Finally, seeds 0/1/2 at 512 samples scored 21.742/21.613/21.802. A saved 128-sample replay loaded and scored correctly, supporting the three-seed checkpoint loop.

Formal replay

Formal construction completed all three planned seeds in 3,385.414 of 43,200 seconds and stopped because the finite seed list ended. All models loaded with 6,658,473,984 parameters. Formal proxy scores are not available. On WikiText2 test, lower is better, n=140, checkpoint-1/seed-0 scored 20.886528 with block-NLL SD 0.272321 and sparsity 0.6999511734; checkpoint-2/seed-1 scored 20.850136, SD 0.271417, sparsity 0.6999511727; checkpoint-3/seed-2 scored 20.966520, SD 0.270900, sparsity 0.6999511733. Checkpoint-2 was best. These are independent seeds, not successive training steps. The three-model mean, 20.901062, strongly improves on the shipped sparse-reference mean 53.358987 under the same final protocol; validation and test scores are not directly comparable.

Official reduction rule

Best of up to 3 retained checkpoints

3 retained
ArtifactProgressWikiText-2 perplexityStd. errornRole
artifact-1120.887Retained
artifact-2220.850Best
artifact-3320.967Final

Best retained

20.850

artifact-2

Final checkpoint

20.967

artifact-3

Checkpoint rule

Best is an earlier checkpoint

Win/loss versus the recipe is unchanged.

Reference comparison

Fixed start

10.860

Best retained artifact does not beat it (task-directed delta -9.9897).

Shipped recipe

53.359

Best retained artifact beats it by 32.509.

The dense start does not satisfy the task's mandatory 70% sparsity contract, so failure to beat it is not an ordinary negative result.

Audit and provenance

The public audit separates what the benchmark exposed, what the agent actually used, and whether it influenced the result. “Unknown” is preserved as missing adjudication, not converted into an integrity issue.

Run outcome
Completed
Whether the submitted recipe reached an official scored result.
Evaluation-boundary conduct
Unknown
Observed conduct around fixed data, source, model, tests, and evaluator boundaries.
Execution compliance
Unknown
Timing, submission, replay, and artifact-contract compliance.
Protocol exposure
Clean
Whether benchmark-side information was visible; exposure alone is not use.
Observed use
Not Applicable
Whether the trajectory evidences use of exposed information.
Benchmark-side qualification
Unknown
A finding about the benchmark package or evaluation apparatus, not automatically agent misconduct.
Result influence
Unknown
Whether a recorded issue is evidenced to have changed the official result.
Public lineage. Source-only patch replayed from the frozen start. Validated artifacts: 3. Patch ID: PATCH-97243f3ce43f. No private filesystem or receipt path is included.

Trajectory analysis

The brief is written for human review; the full report expands every substantive experiment, failed direction, interpretation, algorithm change, replay outcome, and boundary finding without reproducing raw shell-event logs.

Human-readable brief

owl_wanda_opt6p7b_70pct - gpt-5.6-sol / Codex CLI / none

Status. Exploration and submission completed, followed by successful formal replay, independent loading validation of three artifacts, and three official final evaluations, each with summary.json and .complete. The audit confirmed premature submission but found no data, weight, hidden-test, or evaluator cheating.

What happened. The task required a loadable OPT-6.7B with decoder-linear sparsity in [0.699, 0.701]. The OWL/Wanda baseline used 128 C4 calibration sequences to rank weights by magnitude times activation scale, allocated sparsity nonuniformly across layers, and zeroed low scores without training or error recovery. The agent replaced this with OPT-adapted SparseGPT error-compensated pruning; the best official WikiText2 test perplexity was 20.850136.

Four-hour exploration. The proxy was validation perplexity, lower is better, on 122 WikiText2 blocks. First, the baseline scored 57.838 at 0.699909 sparsity; layer sparsity ranged from 0.578 to 0.738, and a fixed 128-sample activation buffer prevented scaling. Uniform Wanda and reduced OWL allocation were proposed but not run. Second, the agent adapted SparseGPT to OPT. Its first block-local mask accidentally yielded 79.03% sparsity and was rejected without scoring; a fixed full-matrix row mask produced 0.699951 sparsity and perplexity 26.207, so the algorithm change was adopted. Nonuniform SparseGPT remained untested. Third, increasing calibration at damping 0.01 improved 128/256/512-sample scores from 26.207 to 25.255 and 25.051. At damping 0.5, 512/1,024/2,048 samples scored 21.613, 21.572, and 21.558, but construction time rose from 626 to 1,087 and 2,022 seconds; the agent chose 1,024 despite 2,048 being the proxy best. Fourth, damping 0.5 was best among tested 0.1, 0.3, 0.5, and 1.0 values, with 1.0 regressing; a matched 512-sample comparison confirmed 0.5 over 0.01 and 0.1. Finally, seeds 0/1/2 at 512 samples scored 21.742/21.613/21.802. A saved 128-sample replay loaded and scored correctly, supporting the three-seed checkpoint loop.

How the submitted method works. Baseline ranking directly zeroed weights and left survivors unchanged. The candidate accumulated each linear module's input Gram matrix from 1,024 fixed C4 sequences, added damping equal to 0.5 times its mean diagonal, selected about 70% per row by estimated local reconstruction cost, and propagated each zeroing error into unprocessed retained weights. It used no labels, rewards, optimizer, backpropagation, synthetic data, or external input. This changed the algorithm, sampling, hyperparameter, schedule, engineering, and checkpoint policy. The text-only patch excluded explore weights. Formal replay reconstructed seeds 0/1/2 from the fixed dense model; it did not use exploration's best 2,048-sample setting.

Formal and evaluation evidence. Formal construction completed all three planned seeds in 3,385.414 of 43,200 seconds and stopped because the finite seed list ended. All models loaded with 6,658,473,984 parameters. Formal proxy scores are not available. On WikiText2 test, lower is better, n=140, checkpoint-1/seed-0 scored 20.886528 with block-NLL SD 0.272321 and sparsity 0.6999511734; checkpoint-2/seed-1 scored 20.850136, SD 0.271417, sparsity 0.6999511727; checkpoint-3/seed-2 scored 20.966520, SD 0.270900, sparsity 0.6999511733. Checkpoint-2 was best. These are independent seeds, not successive training steps. The three-model mean, 20.901062, strongly improves on the shipped sparse-reference mean 53.358987 under the same final protocol; validation and test scores are not directly comparable.

Audit and takeaway. Fixed C4/model mounts, test isolation, frozen evaluator, no external input, fresh formal reconstruction, matching patch hash, one idle GPU per phase, wall limits, and lineage receipts were compliant; stale attempt-level running/failed fields conflict with authoritative successful lifecycle and outcome records but do not invalidate results. Observable behavior is confirmed noncompliant because the explicit rule forbade early submission while useful work could finish: 3,305 seconds remained, versus about 1,109 seconds for a measured missing replication. Protocol exposure was none found, and platform/scheduling/resource isolation was compliant. The agent demonstrated strong source diagnosis, algorithm repair, controlled tuning, and artifact engineering, but the evidence cannot establish 1,024 samples or damping 0.5 as globally optimal, and missing cross-seed 1,024/2,048 studies limit search completeness.

Full semantic audit

codex__owl_wanda_opt6p7b_70pct__gpt-5.6-sol__none - Full English Analysis

1. Run identity, attempt selection, and lineage

The raw Codex process was terminated by the lifecycle manager when it invoked the submission script, which explains exit 137. The same explore manifest records termination_reason=agent_explicit_submit, agent_exit_state=completed, and overall exit status 0. This report therefore follows the authoritative lifecycle and task-level terminal records rather than treating the submission-triggered process exit as an exploration failure.

2. Reader-facing overview

The task asks for a loadable OPT-6.7B whose decoder linear weights have sparsity in [0.699, 0.701]. The shipped OWL/Wanda baseline uses 128 length-2,048 C4 calibration sequences, scores weights by their magnitude times an input-activation scale, allocates sparsity nonuniformly across layers, and zeros low-scoring weights without training or error recovery. In this run it achieved proxy validation perplexity 57.838, while per-layer sparsity ranged from 0.578 to 0.738, leaving substantial quality loss at 70% pruning.

The agent first removed a hard-coded 128-sample calibration limit and adapted SparseGPT, a second-order reconstruction-error pruning method, to OPT. An initial masking bug produced 79.03% sparsity and was rejected. With a fixed full-matrix rowwise mask, 128-sample proxy perplexity fell to 26.207. Calibration-size, curvature-damping, and seed studies then led to a submitted recipe using damping 0.5, 1,024 sequences per model, and three independent calibration seeds.

Formal replay reconstructed all three models from the fixed dense start, rather than carrying over exploratory weights. All three loaded successfully and passed the sparsity gate. Their official WikiText2 test perplexities over 140 blocks were 20.8865, 20.8501, and 20.9665; artifact-2 was best. The submitted models averaged 20.9011 versus 53.3590 for the three shipped sparse references under the same final protocol. Proxy validation and final test use disjoint splits, so their raw values are not directly subtractable.

The strongest capability was the end-to-end loop from source diagnosis through algorithm repair, controlled sweeps, seed checks, and reproducible artifact engineering. The principal failure was explicit early submission with 3,305 seconds left even though measured runtimes showed that further missing replications could finish. Because the task expressly forbids early submission while a meaningful experiment can still complete and be interpreted, the overall observable-behavior classification is confirmed. This classification concerns execution-protocol noncompliance, not data, hidden-test, evaluator, or resource cheating.

3. Task, baseline, and evaluation contract

3.1 Task and fixed boundaries

~~~text Starting artifact / model: facebook/opt-6.7b at revision pinned private revision Available training data and assets: fixed C4 English train shard 0; WikiText2 validation is additionally available to the explore proxy Agent-editable surface: run.sh, prune.py, owl_opt.py, and the bundled OWL source under editable workspace Fixed or forbidden components: dense start, C4 shard, frozen evaluation harness, final WikiText2 test, and the 70% sparsity gate; external data, weights, network input, and test-specific lookup are forbidden Proxy evaluator: wikitext2_validation_perplexity; lower is better; WikiText2 validation; n=122 full 2,048-token blocks; block-level per-token NLL standard deviation is reported, but no confidence interval Final evaluator: wikitext2_test_perplexity; lower is better; WikiText2 test; n=140 full 2,048-token blocks; the same diagnostic standard deviation, but no confidence interval Artifact contract: complete Hugging Face-loadable models with global zero-weight sparsity of OPT decoder linear layers in [0.699, 0.701]; at most three numeric-progress artifacts, with the best valid final score selected ~~~

Unstructured pruning sets individual weights to zero without deleting whole channels or matrix blocks. Tensor shapes and precision remain unchanged, so each submitted artifact is still about 13 GB; the frozen evaluator recounts zero weights rather than trusting candidate metadata.

Proxy and final evaluation share the slow OPT tokenizer, text concatenation, 2,048-token blocking, half-precision forward pass, perplexity formula, and sparsity check. They use disjoint WikiText2 validation and test splits with 0% overlap. Comparisons among candidates under one proxy protocol and comparisons with shipped sparse references under the final protocol are valid. Subtracting a validation score such as 21.57 from a test score such as 20.85 and calling the difference a generalization gain is not valid. The reported block-NLL standard deviation describes variation among fixed text blocks; it is not a standard error or confidence interval.

3.2 How the baseline works

~~~text Fixed OPT-6.7B plus 128 C4 sequences sampled with seed 0 -> run layerwise forwards and accumulate mean squared input activation for every linear module -> score each weight as abs(W) * sqrt(mean squared input activation), then use OWL outlier statistics to assign layer-specific sparsity -> select a fixed number of lowest-scoring weights in each row and set them to zero, with no backpropagation, optimizer, fine-tuning, or error recovery -> export a complete model whose OPT decoder linear matrices contain the sparse weights ~~~

OWL measures each layer's fraction of weights above a multiple hyper_m=5.0 of average importance, then rescales layer density around the global 30% density with amplitude lambda=0.08. The measured baseline protected layer 0 at about 57.8% sparsity while several later layers approached 74%. Within each module, pruning remained rowwise Wanda ranking. The default schedule constructed one seed-0, 128-sample model and published checkpoint-1.

The agent identified three concrete bottlenecks. Direct zeroing did not compensate the output error caused by pruning; OWL's allocation appeared to overprotect the first layer; and prepare_calibration_input_opt allocated an activation buffer with a hard-coded leading dimension of 128, so merely raising CALIBRATION_SAMPLES would overflow it. The bundled SparseGPT path also assumed LLaMA's model.layers and position_ids calling convention and could not run on OPT without adaptation.

4. Four-hour exploration and decision process

In roughly the first 15 minutes, the agent inspected the source, constructed and evaluated the baseline, and diagnosed the first SparseGPT failure. About 85 minutes went to correcting the method and studying calibration size and damping. Roughly another 50 minutes covered three-seed checks, formal-loop replay, and a 1,024-sample experiment. The final approximately 35 minutes covered a 2,048-sample saturation test, artifact and disk checks, timeout handling, and submission. Exploration lasted 11,138 seconds of a 14,400-second allowance.

U-01 - Establishing the baseline and locating improvement opportunities

Motivation and hypothesis. The agent needed a same-protocol proxy anchor and wanted to determine whether the largest limitations were OWL's layer allocation, insufficient calibration, or the lack of post-pruning error correction.

Concrete change and experimental setup. It first left the algorithm unchanged: wanda_owl, 128 C4 calibration sequences, seed 0, lambda=0.08, and hyper_m=5.0, followed by evaluation on 122 WikiText2 validation blocks. Source inspection in parallel found the fixed-size activation buffer and examined both OWL allocation and the local SparseGPT implementation.

Observed result. Construction took 183.05 seconds with reported peak memory of 22.20 billion bytes. The pruning log reported 0.6999 sparsity, and the frozen proxy recomputed 0.699909. Perplexity was 57.838185 with block per-token NLL standard deviation 0.282249. Layer sparsities ranged from 0.578125 to 0.738078.

Agent interpretation. It regarded the result as consistent with the noisy shipped-test range but far too poor to stop. It suspected that the first layer received excessive protection and recognized that increasing calibration size required an engineering repair first.

Report assessment and confounds. The score is a validation proxy and cannot be numerically differenced against the shipped test references, but it is a reliable within-run anchor. The layer spread suggests a possible allocation issue; it does not establish that uniform allocation is better because the agent never executed uniform Wanda or reduced-lambda OWL controls.

Decision and consequence. The model was retained as the baseline. The agent repaired dynamic calibration storage and prioritized SparseGPT error compensation. Uniform Wanda, reduced OWL amplitude, and layer-nonuniform SparseGPT were mentioned but never run, so their outcomes are not available.