Papers › No Free Swap: Protocol-Dependent Layer Redundancy in Transformers

No Free Swap: Protocol-Dependent Layer Redundancy in Transformers

15 May 2026arXiv:2605.16234added by Syntology

Gabriel Garcia

Title, abstract, authors and date from arXiv's metadata (CC0); this paper is not in the Papers with Code archive (frozen 2025-07-28).

When researchers ask whether two transformer layers are "equivalent" for compression, they often conflate distinct tests. Replacement asks whether one layer's map can substitute for another's in place; interchange asks whether two layers approximately commute when their positions are swapped. Both are output-grounded swap-KL probes, but they need not agree: on pretrained transformers the protocol gap can change which layers look safe to prune by several-fold under the same evaluator, especially when replacement distances are high. We measure both protocols across checkpoints and architectures. On a Pythia training trajectory (410M and 1.4B), the replacement-interchange gap grows from initialization to convergence. Under one matched WikiText-2 contract at 8B scale, Qwen3-8B enters a divergent regime: interchange-guided removal is several-fold safer than replacement-guided at the same layer budgets, while Llama-3.1-8B ties the two protocols for pruning cost even though interchange KL is lower, showing metric gaps need not map one-to-one to removal. Before layer removal or merging, score both swap-KLs on the target checkpoint; the diagnostic requires only unlabeled forward passes.

PaperPDFCode Syntology ran

In Syntology Open this paper in Syntology's Atlas, the map of the papers in Syntology's graph and their citations.

For agents, Syntology's MCP tool lists every function and class Syntology harvested from this paper and whether it ran (how to connect): get_harvested_code_for_paper(arxiv_id="2605.16234")

Code

Syntology Ran 20 of 25 code samples harvested from 1 repository linked to this paper; 5 have no recorded run. Of those that ran: 20 ran with no contract checked.

By repository: found in paper text by Syntology: 25 samples from 1 repository, 20 ran. The run record, sample by sample. “Ran” means executed on a synthesized input, not that the code is correct or reproduces the paper.

Gpgabriel25/ProtocolGapDiagnostic found in paper text by Syntology report

Reachability, where shown, is from one Syntology probe window (2026-09-16 to 2026-09-18); repositories not probed show nothing. GitHub stars are not tracked.

Code Syntology ran Syntology

25 samples harvested; 20 ran; 0 honoured the contract we drafted; 5 have no recorded run. Read from Syntology's graph 2026-09-24; that is when this build read the record, not when the samples ran.

20ran
5unverified

Licence: 25 of the 25 samples are pointer only, meaning Syntology does not serve that copy's text. This page shows no code text for any sample; each one links to its file in the repository.

Harvested from Gpgabriel25/ProtocolGapDiagnostic. “Ran” means the sample executed on a synthesized input. It does not mean the output is correct, and nothing here reproduces the paper's results. “Honoured” and “violated” refer to a contract Syntology drafted from the code itself; “our draft was wrong” and “fixture could not drive it” are failures of Syntology's instrument, not of the code.

Each sample ends with its code_sha256, Syntology's identity for that exact code. An agent fetches the stored sample with Syntology's MCP tool get_code(code_sha256="…") (how to connect); click an identity to copy that call.

Repository labels, per sample. official repository: The archive marks this repository official for the paper. named in the paper: The archive records that the paper mentions this repository; it is not marked official. community (archive-listed): In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper. found in paper text by Syntology: Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted. community: Not in the archive's code links for this paper; a community repository Syntology harvested. Samples from a repository marked official are listed first. Licence labels name the repository's licence as recorded at harvest. “Pointer only” means Syntology does not serve that copy's text, for one of four reasons: no licence file was found; the licence was not identified; the licence is recorded as permissive but that copy's record is not marked cleared; or the licence is outside the permissive list Syntology serves text under (MIT, Apache-2.0, BSD and similar). Some licences outside that list permit redistribution, such as WTFPL, and GPL-3.0 under its conditions; they are simply not on the list. Hover a licence label for the reason. File links open the file on GitHub at the default branch, which may have changed since the harvest.

compute_baseline_logits Gpgabriel25/ProtocolGapDiagnostic/bisimulation_experiment.py found in paper text by Syntology ran licence not identified · pointer only · 1481a586c1407812 · report
compute_bootstrap_kl Gpgabriel25/ProtocolGapDiagnostic/bi_score_comparison.py found in paper text by Syntology ran licence not identified · pointer only · 075ab64edd069f3a · report
extract_scores Gpgabriel25/ProtocolGapDiagnostic/downstream_benchmark.py found in paper text by Syntology ran licence not identified · pointer only · 7f3fe518c40f3bd4 · report
get_layer_removability Gpgabriel25/ProtocolGapDiagnostic/compression_sweep.py found in paper text by Syntology ran licence not identified · pointer only · 243851cc0eee1821 · report
greedy_select Gpgabriel25/ProtocolGapDiagnostic/bi_geometry_ablation.py found in paper text by Syntology ran licence not identified · pointer only · 881baeeeb30fce3e · report
greedy_select Gpgabriel25/ProtocolGapDiagnostic/compression_sweep.py found in paper text by Syntology ran licence not identified · pointer only · e22e7062f481d4bf · report
greedy_select_bi Gpgabriel25/ProtocolGapDiagnostic/bi_vs_bisim_headtohead.py found in paper text by Syntology ran licence not identified · pointer only · faf2e4d251cb99dc · report
greedy_select_bisim Gpgabriel25/ProtocolGapDiagnostic/bi_vs_bisim_headtohead.py found in paper text by Syntology ran licence not identified · pointer only · 1bf31e23ad48679a · report
kl_div_pair Gpgabriel25/ProtocolGapDiagnostic/bisimulation_experiment.py found in paper text by Syntology ran fingerprinted licence not identified · pointer only · 67099f736d6c4a2d · report
kl_div_pair Gpgabriel25/ProtocolGapDiagnostic/bloom_1b1_bisimulation.py found in paper text by Syntology ran fingerprinted licence not identified · pointer only · 778da11f4d63fe5e · report
mean_gap_from_pairs Gpgabriel25/ProtocolGapDiagnostic/analyze_protocol_gap_trajectory.py found in paper text by Syntology ran licence not identified · pointer only · 9f98a4f0be012b90 · report
optimal_select Gpgabriel25/ProtocolGapDiagnostic/bi_geometry_ablation.py found in paper text by Syntology ran licence not identified · pointer only · da52b8ac64ad243e · report
pair_gap_values Gpgabriel25/ProtocolGapDiagnostic/analyze_protocol_gap_trajectory.py found in paper text by Syntology ran licence not identified · pointer only · 89432512e6234a25 · report
precompute_rope Gpgabriel25/ProtocolGapDiagnostic/clean_oracle_bootstrap_ci.py found in paper text by Syntology ran licence not identified · pointer only · 2c3e2520dd55d4d8 · report
random_distributed Gpgabriel25/ProtocolGapDiagnostic/bi_geometry_ablation.py found in paper text by Syntology ran licence not identified · pointer only · f494d32e3c07ef5d · report
remove_layer Gpgabriel25/ProtocolGapDiagnostic/downstream_benchmark.py found in paper text by Syntology ran licence not identified · pointer only · 87427dce86265325 · report
remove_layers Gpgabriel25/ProtocolGapDiagnostic/bi_vs_bisim_headtohead.py found in paper text by Syntology ran licence not identified · pointer only · f36f08ba54f97863 · report
remove_layers Gpgabriel25/ProtocolGapDiagnostic/compression_sweep.py found in paper text by Syntology ran licence not identified · pointer only · 1b33cd34b422c42e · report
rms_norm Gpgabriel25/ProtocolGapDiagnostic/clean_oracle_bootstrap_ci.py found in paper text by Syntology ran licence not identified · pointer only · e87ac474b28d38ca · report
step_int Gpgabriel25/ProtocolGapDiagnostic/analyze_protocol_gap_trajectory.py found in paper text by Syntology ran licence not identified · pointer only · 23bdae01f04f427b · report
apply_rope Gpgabriel25/ProtocolGapDiagnostic/clean_oracle_bootstrap_ci.py found in paper text by Syntology unverified licence not identified · pointer only · 1d1f71ed01bdb63e · report
build_diverse_prompts Gpgabriel25/ProtocolGapDiagnostic/bisimulation_experiment.py found in paper text by Syntology unverified licence not identified · pointer only · 9150ef273a402f9b · report
compute_bi_scores Gpgabriel25/ProtocolGapDiagnostic/bi_score_comparison.py found in paper text by Syntology unverified licence not identified · pointer only · 03536c31aa1dc33a · report
generate_diverse_prompts Gpgabriel25/ProtocolGapDiagnostic/bloom_bisimulation.py found in paper text by Syntology unverified licence not identified · pointer only · 50848c5d55e1afc9 · report
spearman Gpgabriel25/ProtocolGapDiagnostic/d_repl_asymmetry.py found in paper text by Syntology unverified licence not identified · pointer only · 6edd1bd3fa3950dc · report

Results from the paper

The Papers with Code archive ends with its 2025-07-28 snapshot. This paper's arXiv identifier, 2605.16234, was issued in May 2026, after that date, so the archive has no leaderboard rows for it.

Report a problem or propose a change · a person checks every report against the paper or source before anything changes; decisions are listed on /corrections