CoolFace
Datasetpublic

Cross-Mergeability/crossarch-1b-diagnostics

Cross-architecture mergeability diagnostics for five ~1B monolingual LMs A third model family for the mergeability project, alongside Goldfish and Beetle/MergeBench. Read this first: what "merging" means for these five models Five independently trained ~1B monolingual models were requested: Pythia-1.4B (EN), Zh-Pythia-1.4B (ZH), Tucano-1b1 (PT), Bielik-1.5B-v3 (PL), Minerva-1B (IT). They differ in architecture family, hidden dimension (1536 vs 2048), depth (16 /… See the full description on the dataset page: https://huggingface.co/datasets/Cross-Mergeability/crossarch-1b-diagnostics.

sourceHugging Faceupdated 27d agoView on Hugging Face
0likes246downloads
Dataset Card

Cross-architecture mergeability diagnostics for five ~1B monolingual LMs

A third model family for the mergeability project, alongside Goldfish and Beetle/MergeBench.


Read this first: what "merging" means for these five models

Five independently trained ~1B monolingual models were requested: Pythia-1.4B (EN), Zh-Pythia-1.4B (ZH), Tucano-1b1 (PT), Bielik-1.5B-v3 (PL), Minerva-1B (IT). They differ in architecture family, hidden dimension (1536 vs 2048), depth (16 / 22 / 24 / 32), head count (12 / 16 / 32), and vocabulary (32 000 / 32 768 / 49 953 / 50 304).

The naive weight-space operators -- averaging, task arithmetic, TIES, DARE, SLERP -- are undefined for 9 of the 10 pairs. They all compute elementwise functions of aligned parameter tensors, which presupposes a shared parameter space. Of the 10 pairs, exactly one has one natively: Pythia-1.4B x Zh-Pythia-1.4B (both GPT-NeoX, 2048 / 24 / 16), and even there only for the transformer blocks -- Zh-Pythia was retokenised to a 49 953-entry vocabulary, so embed_in and embed_out have different row counts and are excluded.

Nothing in this report zero-pads or truncates a hidden dimension to force a weight comparison. Where a weight-space column is blank for a pair, it is blank because the quantity does not exist, and the coverage table (§2) says which difference blocks it.

But "undefined" applies to the naive operators, not to merging in general. Cui et al., Transport and Merge: Cross-Architecture Merging for Large Language Models (arXiv:2602.05495), align activations to infer cross-neuron correspondences between heterogeneous models, solve an entropic-OT transport plan over neurons and a second OT over layers, and fuse donor weights into the target's coordinate system through those plans. Rectangular plans handle 1536 vs 2048 natively; the layer-level OT handles 16 vs 32. That is a principled change of basis, not padding, and §7 reports what it does here, together with a random-plan control: the identical fusion with the transport plans' rows shuffled, which destroys the learned neuron correspondence while preserving every marginal and the scale. Without that control a null result is indistinguishable from a broken reimplementation.

So there are three routes in this report, and a reader must not confuse them:

routewhat it iswhich pairs
native weight-space mergeelementwise operators in a shared parameter spacePythia checkpoint pairs (all), Zh-Pythia checkpoint pairs (all), Pythia-EN x Zh-Pythia (blocks only)
transport-based mergeOT neuron + layer alignment, then fusion in the target's spaceheterogeneous cross-model pairs
representation-level diagnosticsCKA / Procrustes / SVCCA / retrieval on pooled activations; needs no shared parameter spaceall 10 cross-model pairs, all checkpoint pairs

Post-transport weight quantities are not the same object as native weight-space quantities: they are measured after a fitted change of coordinates, so they carry the transport's error and its hyperparameters. Every such column is labelled transport_*.

The single biggest lever on statistical power

The 10 cross-model pairs are too few to correlate diagnostics against each other. So the primary arm of this report is within-run checkpoint merging: pairs of checkpoints from a single training run share architecture, vocabulary and parameter space exactly, so the full weight-space family is defined with no caveats, and the trajectory distance between two checkpoints is a natural continuous predictor. That arm supplies the n the correlation table needs.


Method

Parallel data. FLORES-200 (openlanguagedata/flores_plus), devtest split, all 1012 sentences, index-aligned across engLatn / cmnHans / porLatn / polLatn / ita_Latn. Each model sees its own language's side, tokenised by its own tokenizer; the only thing the two sides of a pair share is the sentence index. That is what makes the comparison well posed across different vocabularies.

Representations. SGPT position-weighted mean pooling over non-pad tokens of hidden_states[-1] -- the final pre-logit hidden state, post final layer-norm. Depths differ (16/22/24/32), so per-layer trajectories are not comparable and only the final pre-logit layer is reported, as the paper does.

Matched vs shuffled control. Side A in order; side B reordered by a single fixed-seed permutation drawn once per pair and reused for every metric of that pair.

Metrics. Linear CKA (Kornblith et al. feature-space form), orthogonal-Procrustes alignability (semi-orthogonal R of shape (dB, dA), so rectangular pairs are native), SVCCA (99% variance, capped at 64 components), and retrieval P@1 after fitting a ridge map on a 50% train split and retrieving on the held-out half by cosine. CKA carries a delete-a-group jackknife CI (50 blocks). All linear algebra runs in float64 on GPU -- this box's CPU is saturated.

Typology. URIEL via lang2vec, cosine distance on syntax_knn (syntactic), fam (genetic), and syntax_knn+phonology_knn+inventory_knn (featural).

Quality. Mean per-token NLL on the model's own FLORES side.


0. Headline findings

  1. 1.Representational alignment is far above the shuffled control for all 10 cross-model pairs. Matched last-layer CKA spans 0.488-0.800 (median 0.587) against a shuffled control of 0.024-0.069. Retrieval P@1 after a fitted linear map reaches 0.949 against a chance rate of 0.0020. Five different architectures in five different languages encode FLORES sentences in near-affinely-related spaces.
  1. 1.That alignment does not make the models weight-mergeable. The one pair with a genuinely shared parameter space (Pythia-EN x Zh-Pythia) has a weight cosine of 0.0163 over its shared blocks -- they are effectively orthogonal, having been trained from scratch with no common ancestor. Linear interpolation of their blocks raises EN NLL from 3.31 to 10.48 nats/token at the midpoint, a barrier of 6.22. High CKA and zero weight-space compatibility coexist.
  1. 1.In the native arm, trajectory distance dominates every diagnostic. Over 106 within-run checkpoint pairs (78 Pythia + 28 Zh-Pythia), log10(stepb/stepa) correlates with the task-vector cosine at rho=-0.91, with TIES sign agreement at -0.88, with CKA at -0.85 and with the best merge gain at -0.67. The pattern replicates independently in both families.
  1. 1.Nearby checkpoints are linearly mode-connected; distant ones are not. For pairs within half a decade of each other (n=24) the median LMC barrier is -0.033 nats/token -- at or below zero, i.e. the straight path between them is no worse than its endpoints. Beyond 1.5 decades (n=39) the median barrier is +0.380. Merging nonetheless almost never beats the better endpoint (6% of all 106 pairs), which is expected: within one run the later checkpoint is simply the better model, so there is no complementary knowledge to combine. Checkpoint merging is the right instrument for measuring the geometry, not for producing a better model.
  1. 1.The diagnostics are highly redundant. Weight cosine and relative L2 correlate at rho=-0.98; task-vector cosine and sign agreement at 0.99. A mergeability panel of a dozen columns is measuring far fewer than a dozen things.
  1. 1.Transport-based cross-architecture fusion is measurable but, without adaptation, not useful. All 20 directed pairs fused successfully, including every rectangular case (1536 <-> 2048 hidden, 16 <-> 32 layers) -- the OT plans are rectangular by construction, so nothing was padded. The learned neuron correspondence is doing real work: the OT plan beats its own shuffled-plan control on the target's language in 12/20 directions. But fusion alone improves the target in only 2/20 directions; the median effect is +0.0021 nats/token. The exception is instructive: the best result is PL_bielik <- ZH_pythia at -0.0534, and the two directions that help at all both have Bielik-PL as the target -- the weakest model in the set (NLL 3.77). That is exactly the paper's setting: transfer INTO a low-resource target. Cui et al. recover their headline gains in the post-fusion adaptation step, which we did not run.

1. The five models, as actually configured

modelHF repo idlangarch (config `model_type`)hiddenlayersheadsvocabvs. brief
Pythia-1.4BEleutherAI/pythia-1.4bENGPT-NeoX2048241650304as specified
Zh-Pythia-1.4BSJTU-CL/Zh-Pythia-1.4BZHGPT-NeoX2048241649953as specified; vocab 49 953 != 50 304
Tucano-1b1TucanoBR/Tucano-1b1PTLLaMA2048223232000as specified
Bielik-1.5B-v3speakleash/Bielik-1.5B-v3PLLLaMA (Qwen2.5-derived)1536321232000MISMATCH: 32 layers, not 28; `model_type: llama`, not qwen2
Minerva-1Bsapienzanlp/Minerva-1B-base-v1.0ITMistral2048161632768as specified

Config check. Four of the five match the brief. Bielik-1.5B-v3 does not: its config reports model_type: llama with 32 layers, not a 28-layer Qwen2.5. Its geometry (hidden 1536, 12 heads, 2 KV heads, FFN 8960) is Qwen2.5-1.5B's, so it is a Qwen2.5-derived model re-exported under the Llama class with a 32k Polish-adapted vocabulary. Everything below uses the true config, not the brief's.

Access note. speakleash/Bielik-1.5B-v3 and sapienzanlp/Minerva-1B-base-v1.0 are auto-gated on the Hub. The gates were accepted programmatically with the project token to obtain the weights; the Bielik gate is a checkbox agreeing to be contacted for feedback. Flagging it because it was accepted on the account owner's behalf.

2. Coverage: which pairs were merged, by which route, and why

pairnative_weight_mergetransport_mergerepresentation_diagnosticsblocking_differences
Pythia-EN x ZhPythia-ZHblocks only (vocab differs, so embed/LM head excluded)yesyesvocab 50304 vs 49953
Pythia-EN x Tucano-PTNOyesyesdepth 24 vs 22; heads 16 vs 32; arch GPT-NeoX vs LLaMA; vocab 50304 vs 32000
Pythia-EN x Bielik-PLNOyesyeshidden 2048 vs 1536; depth 24 vs 32; heads 16 vs 12; arch GPT-NeoX vs LLaMA-Qwen2.5; vocab 50304 vs 32000
Pythia-EN x Minerva-ITNOyesyesdepth 24 vs 16; arch GPT-NeoX vs Mistral; vocab 50304 vs 32768
ZhPythia-ZH x Tucano-PTNOyesyesdepth 24 vs 22; heads 16 vs 32; arch GPT-NeoX vs LLaMA; vocab 49953 vs 32000
ZhPythia-ZH x Bielik-PLNOyesyeshidden 2048 vs 1536; depth 24 vs 32; heads 16 vs 12; arch GPT-NeoX vs LLaMA-Qwen2.5; vocab 49953 vs 32000
ZhPythia-ZH x Minerva-ITNOyesyesdepth 24 vs 16; arch GPT-NeoX vs Mistral; vocab 49953 vs 32768
Tucano-PT x Bielik-PLNOyesyeshidden 2048 vs 1536; depth 22 vs 32; heads 32 vs 12; arch LLaMA vs LLaMA-Qwen2.5
Tucano-PT x Minerva-ITNOyesyesdepth 22 vs 16; heads 32 vs 16; arch LLaMA vs Mistral; vocab 32000 vs 32768
Bielik-PL x Minerva-ITNOyesyeshidden 1536 vs 2048; depth 32 vs 16; heads 12 vs 16; arch LLaMA-Qwen2.5 vs Mistral; vocab 32000 vs 32768

3. Table 3 equivalent -- last-layer matched vs shuffled CKA

Lower triangle = matched. Upper triangle, italic = shuffled control.

Pythia-ENZhPythia-ZHTucano-PTBielik-PLMinerva-IT
Pythia-EN10.0340.0500.0320.060
ZhPythia-ZH0.5811.0000.0400.0240.048
Tucano-PT0.80.5561.0000.0360.069
Bielik-PL0.6010.4880.5931.0000.042
Minerva-IT0.7640.5520.7700.5501.000

4. The 10-pair cross-model diagnostic matrix

pairckacka_shufcka_deltacka_ci_lowcka_ci_highprocrustesprocrustes_shufsvccasvcca_shufp_at_1p_at_1_shufuriel_syntacticuriel_geneticuriel_featuralmean_tok_nll
Pythia-EN x ZhPythia-ZH0.5810.0340.5470.5430.5920.641-0.0910.7040.2120.78900.28810.3323.489
Pythia-EN x Tucano-PT0.80.050.750.7810.8010.742-0.0370.7490.210.94900.1580.8990.1813.348
Pythia-EN x Bielik-PL0.6010.0320.5690.5640.6150.656-0.1180.7020.2110.7450.0020.2140.8510.2753.564
Pythia-EN x Minerva-IT0.7640.060.7050.7440.7630.72-0.0110.7390.2140.94300.1420.8890.2233.196
ZhPythia-ZH x Tucano-PT0.5560.040.5160.5150.5650.595-0.0690.6730.2120.8180.0060.33310.3473.519
ZhPythia-ZH x Bielik-PL0.4880.0240.4630.4460.5050.563-0.1490.6620.2080.6640.0020.30610.333.735
ZhPythia-ZH x Minerva-IT0.5520.0480.5040.5090.5610.602-0.0450.680.2080.8720.0020.36810.3793.367
Tucano-PT x Bielik-PL0.5930.0360.5570.5580.6050.622-0.10.6910.2110.75300.1350.8650.1813.594
Tucano-PT x Minerva-IT0.770.0690.7020.7450.7670.7150.0130.7340.210.9370.0040.0380.2960.0923.226
Bielik-PL x Minerva-IT0.550.0420.5080.5150.5580.611-0.0760.6990.2130.9230.0060.1460.8510.1933.443

Per-model quality (mean per-token NLL on that model's own FLORES-200 devtest side):

modeltok_nllsent_nll
Pythia-EN3.31886.552
ZhPythia-ZH3.659107.145
Tucano-PT3.37894.426
Bielik-PL3.811120.495
Minerva-IT3.075105.675

URIEL source: lang2vec/URIEL (cosine distance on syntax_knn / fam / syntax+phon+inv).

5. Checkpoint merging -- the native weight-space arm

familyn_pairsmedian_barriermax_barriermedian_w_cosmedian_gain_bestfrac_merge_beats_best_endpointmedian_cka
pythia780.2231.460.627-1.4490.0260.722
zhpythia28-0.1613.7930.543-1.9190.1430.82

All of these are native merges: same run, same architecture, same vocabulary, same parameter space. No alignment, no transport, no padding.

By trajectory distance:

log10(step_b/step_a) binnmedian barriermedian w_cosmedian gain_bestmedian CKA
(0.0, 0.5]24-0.0330.898-0.2040.948
(0.5, 1.0]280.1620.688-0.9860.833
(1.0, 1.5]150.5260.508-1.8190.758
(1.5, 2.0]150.7210.314-2.2990.704
(2.0, 3.0]140.750.277-2.5660.273
(3.0, 6.0]10-0.1970.333-2.8270.16

4b. This family beside the project's other two

The one number that is comparable across the three studies is last-layer, SGPT-pooled, FLORES matched CKA. Read the note column before comparing rows -- the Goldfish values were transcribed upstream and were not recomputed under this protocol.

familyn_pairspairingcka_mediancka_mincka_maxcka_shuffled_medianp_at_1_mediannote
Cross-arch 1B (this study)10cross-language, cross-architecture, ~1B0.5870.4880.80.0410.845recomputed here; last pre-logit layer, SGPT, FLORES devtest n=1012
Beetle x Goldfish15same-language, cross-family, 100M vs 1000MB0.5580.3970.6180.047from mergeability results/geometry; last layer, SGPT, FLORES n=1000
Goldfish en-X8en-X cross-lingual, GPT-2 scale monolinguals0.7950.740.810.89transcribed upstream from the gf rebuttal tables, NOT recomputed; pooling/layer follow gf's convention

6. The one natively weight-mergeable cross-model pair: Pythia-EN x Zh-Pythia

Shared parameter space covers 290 tensors / 1,208,602,624 parameters (every transformer block). Excluded because the shapes differ: embed_out.weight, gpt_neox.embed_in.weight -- Zh-Pythia's 49 953-entry vocabulary against Pythia's 50 304.

Weight cosine over the shared blocks: 0.0163; relative L2 1.577; norm ratio 0.328.

Only base-free operators are defined here (the two models have no shared pre-trained ancestor, so task vectors theta - theta_base are meaningless across them). t=0 is the host alone; t=1 replaces every block with the donor's.

hostoperatornll_host_onlynll_donor_blocksnll_halfbarrier
ENlerp3.309510.808610.47666.2156
ENslerp3.309510.808610.57956.6903
ZHlerp3.730441.529633.064529.6063
ZHslerp3.730441.529632.776122.3277

7. Transport-based cross-architecture merging

Directional: the target keeps its architecture, tokenizer, embeddings and LM head. Donor weights are carried into the target's coordinate system by entropic-OT neuron plans plus a layer-level OT, then fused on a top-128 neuron mask. Fusion only -- no post-fusion adaptation, which is where Cui et al. get most of their gain. Deviations from the released code are listed in the header of scripts/transport_merge.py; the load-bearing one is that we rescale each plan to be row-stochastic, without which the transported term is numerically ~0.

targetdonortarget_langdonor_langhid_targethid_donorL_targetL_donorrectangular_hiddendepth_mismatchn_fused_tensorsnll_target_lang_a0nll_target_lang_bestbest_alpha_targetdelta_target_langnll_donor_lang_a0nll_donor_lang_bestbest_alpha_donordelta_donor_langalpha_maxnll_target_ot_amaxnll_target_rand_amaxot_minus_rand_targetot_minus_rand_donorseconds
EN_pythiaIT_minervaENIT204820482416FalseTrue723.30943.31150.010.00212.79572.80020.010.00440.13.37233.36450.00790.0106147.091
EN_pythiaPL_bielikENPL204815362432TrueTrue723.30943.3110.010.00172.7122.71530.010.00330.13.36673.36310.00350.0013219.69
EN_pythiaPT_tucanoENPT204820482422FalseTrue723.30943.31150.010.00212.92542.93030.010.0050.13.36883.36410.00470.0055176.974
EN_pythiaZH_pythiaENZH204820482424FalseFalse723.30943.34130.010.0322.69582.72050.010.02460.13.82813.38330.44480.4834228.709
IT_minervaEN_pythiaITEN204820481624FalseTrue483.0653.06920.010.00423.36533.36430.03-0.0010.13.13123.1260.0052-0.0002186.994
IT_minervaPL_bielikITPL204815361632TrueTrue643.0653.06980.010.00483.71773.71850.010.00090.13.14993.1579-0.008-0.0005104.222
IT_minervaPT_tucanoITPT204820481622FalseTrue643.0653.06910.010.00413.90163.90250.010.00090.13.14243.157-0.0146-0.004143.137
IT_minervaZH_pythiaITZH204820481624FalseTrue483.0653.06650.010.00162.14312.14210.01-0.0010.13.15013.12450.02560.0712157.541
PL_bielikEN_pythiaPLEN153620483224TrueTrue963.7663.77960.010.01362.57312.57430.010.00120.13.8983.9896-0.0916-0.0695102.201
PL_bielikIT_minervaPLIT153620483216TrueTrue1283.7663.74920.03-0.01692.53832.51710.03-0.02120.13.84783.9216-0.0739-0.0275177.214
PL_bielikPT_tucanoPLPT153620483222TrueTrue1283.7663.76810.030.00212.41462.41880.030.00420.13.8513.9154-0.06440.028235.982
PL_bielikZH_pythiaPLZH153620483224TrueTrue963.7663.71260.01-0.05342.12682.17610.010.04930.14.05633.84610.21020.367998.7289
PT_tucanoEN_pythiaPTEN204820482224FalseTrue663.43953.44190.010.00252.99512.99550.010.00040.13.48293.4856-0.0027-0.0018265.332
PT_tucanoIT_minervaPTIT204820482216FalseTrue883.43953.44210.010.00263.6813.68130.010.00030.13.49973.5073-0.00760.001352.913
PT_tucanoPL_bielikPTPL204815362232TrueTrue883.43953.44210.010.00274.31954.32090.010.00140.13.50373.5071-0.00350376.128
PT_tucanoZH_pythiaPTZH204820482224FalseTrue663.43953.44150.010.0026.87366.89020.010.01660.13.50993.48670.02320.1478239.37
ZH_pythiaEN_pythiaZHEN204820482424FalseFalse723.73693.73840.010.00154.69984.68820.1-0.01160.13.76313.7632-0.00010.0007112.629
ZH_pythiaIT_minervaZHIT204820482416FalseTrue723.73693.73830.010.00146.71416.71830.010.00420.13.76243.763-0.00060.0017126.237
ZH_pythiaPL_bielikZHPL204815362432TrueTrue723.73693.73830.010.00137.80627.80840.010.00210.13.76313.7632-0.00020.0001202.372
ZH_pythiaPT_tucanoZHPT204820482422FalseTrue723.73693.73840.010.00157.39587.39910.010.00330.13.76313.7632-0.00010.001586.6225

Deviations from the paper / the released code, all deliberate and all reproducible from scripts/transport_merge.py:

  • Plan normalisation. Neither the paper nor the released code rescales the OT plan Q, whose rows sum to 1/n. The transported term is then smaller than the donor weight by ~1/(n_out n_in), so the fusion degenerates into a (1-alpha) shrinkage of the masked entries rather than a change of basis. We use the standard OT-fusion convention Phi = n * Q so each plan is row-stochastic.
  • Epsilon 0.1 -> 0.01. Our neuron costs 1-rho have mean 1.00 and sd 0.07-0.10; at the paper's eps=0.1 the plan sits close to the uniform coupling (row max 0.006 against a uniform 0.0005) and fusion through it is indistinguishable from fusion through a shuffled plan -- which is exactly what the random-plan control showed. At eps=0.01 the plan is a soft near-assignment whose transport cost is within 1% of the unregularised optimum. Evidence: results/ot_epsilon_calibration.txt.
  • Sublayer coverage. The released code transports attention q/k/v/o. Across these five models the attention sublayer is not commensurable (GPT-NeoX fuses QKV; head counts 12/16/32; GQA with 2 or 4 KV heads), so we transport the interfaces every one of them shares: the MLP (d_model -> d_ffn -> d_model) and the attention output projection. q/k/v keep the target's own values.
  • Layer-pair pruning and layer-cost subsampling. The outer OT needs only the scalar <C,Q> per layer pair, so that pass runs on a fixed random subsample of at most 2048 neurons per side; fusion uses full dimensions, on the top-3 donor layers per target layer, with P_eff renormalised over the kept entries.
  • No post-fusion adaptation.

Negative delta_* means fusion reduced NLL (helped); positive means it hurt. nll_donor_lang is the target model evaluated on the donor's language with the target's own tokenizer -- the setting where transferred donor knowledge would show up. ot_minus_rand_* is the control: negative means the OT plan beat a shuffled plan.

The control splits the pairs cleanly, and the split is interpretable. Every direction with Bielik-PL as target has the OT plan beating its shuffled control on both languages -- transporting into the weakest model in the set is where the learned correspondence pays. Every direction with Zh-Pythia as donor has the OT plan doing markedly worse than random. That is not the plan being uninformative -- an uninformative plan scores zero on this axis, as the middle of the ranking does -- it is the plan being confidently wrong. The probe sides there are Chinese against a Latin-script language, and a neuron correspondence fitted on 512 mean-pooled samples across that gap appears to concentrate transported mass on the wrong neurons. More probe data (the paper uses 2000) is the obvious first thing to try.

8. Diagnostic x diagnostic Spearman correlations -- checkpoint arm (native weight merging)

n is adequate here. Permutation null: 20000 label shuffles per cell; q_bh is Benjamini-Hochberg across the whole table.

diag_adiag_bspearman_rhop_asymptoticp_permutationq_bhn_pairs
log10stepratiow_cos-0.6705000106
log10stepratiowcosblocks-0.65000106
log10stepratiowl2rel0.5985000106
log10stepratiotau_cos-0.9067000106
log10stepratiosign_agree-0.8839000106
log10stepratiotaunormratio-0.8551000106
log10stepratiogain_avg-0.6104000106
log10steprationll_avg0.4935000106
log10stepratiocka-0.8484000106
log10stepratiogaintaskarith-0.6104000106
log10stepratiogain_best-0.6689000106
log10stepbw_cos-0.4285000106
log10stepratiopat1-0.8548000106
log10stepratiosvcca-0.8432000106
log10stepratioprocrustes-0.813000106
log10stepratiocka_delta-0.8509000106
log10stepbnll_avg-0.4708000106
log10stepbbarrier_half0.4141000106
log10stepbgain_ties-0.8214000106
log10stepbbarrier0.3867000106
log10stepbwcosblocks-0.4412000106
w_coscka0.4102000106
w_cossvcca0.4868000106
w_cosprocrustes0.4326000106
wcosblockstaunormratio0.516000106

8. Diagnostic x diagnostic Spearman correlations -- cross-model arm

n=10. This is badly underpowered. Spearman rho on 10 points has a 95% CI roughly +/-0.6 wide; nothing short of |rho|>0.65 clears an uncorrected permutation test, and nothing at all survives BH correction across 55 comparisons. Read the signs, not the significance. Permutation null: 20000 label shuffles per cell; q_bh is Benjamini-Hochberg across the whole table.

diag_adiag_bspearman_rhop_asymptoticp_permutationq_bhn_pairs
procrustessvcca0.975800.00010.001810
ckaprocrustes0.92730.00010.00020.003610
uriel_syntacticuriel_featural0.93940.00010.00020.002410
cka_shufpat10.92730.00010.00030.002210
pat1meantoknll-0.92730.00010.00030.002210
cka_shufmeantoknll-0.92730.00010.00060.003310
ckasvcca0.85450.00160.00270.013910
uriel_syntacticuriel_genetic0.82180.00350.0060.026810
uriel_geneticuriel_featural0.79670.00580.00820.032810
svccameantoknll-0.73330.01580.01940.069810
svccapat10.70910.02170.02520.082510
procrustesmeantoknll-0.66060.03760.04530.135910
procrustespat10.63640.04790.05480.151610
procrustesuriel_syntactic-0.62420.05370.05920.152410
cka_shufsvcca0.60.06670.07560.181610
ckauriel_featural-0.58790.07390.07830.176110
procrustesuriel_featural-0.58790.07390.07880.166910
ckauriel_syntactic-0.58790.07390.07970.159410
svccauriel_syntactic-0.58790.07390.08180.15510
ckameantoknll-0.56360.08970.09490.170710
ckapat10.56360.08970.09620.164910
ckacka_shuf0.56360.08970.0970.158810
cka_shufprocrustes0.56360.08970.09950.155710
svccauriel_featural-0.53940.10760.11270.16910
procrustesuriel_genetic-0.50190.13940.1390.200210

9. Figures

[image]

matched vs shuffled last-layer CKA, 5 models

[image]

diagnostic correlation heatmap, checkpoint arm

[image]

diagnostic correlation heatmap, cross-model arm (n=10)

[image]

checkpoint merge results vs trajectory distance

[image]

transport-based cross-architecture merge


What was cut, and why

The brief allowed 5 hours and instructed scoping down over overrunning. Cut, explicitly:

  • Per-layer CKA trajectories. Depths differ, so they are not comparable; the paper reports the final pre-logit layer and so does this.
  • Downstream task evaluation of merged models. Merge quality is scored by NLL on held-out FLORES only. No BLiMP / MMLU-style benchmark was run: it would have consumed the entire window for one column.
  • Post-fusion supervised adaptation for the transport merges. Cui et al. report "fused w/o adaptation" and "fused w/ adaptation" separately and get most of their gain from the adaptation step. Only the no-adaptation arm is reported here, which is the conservative arm and the one that isolates what the transport itself buys.
  • A second probe set. Everything uses FLORES-200 devtest. No Tatoeba / BouQUET replication.
  • Seed replication. One permutation seed per pair, one DARE seed. No seed-level error bars on the merge operators.
  • Two further checkpoint families. TucanoBR/Tucano-1b1 publishes 23 stepN revisions and sapienzanlp/Minerva-1B-base-v1.0 publishes 30. Both would have extended the native arm to four families. Cut for disk and wall clock; the two Pythia families already replicate each other, and the checkpoint blobs were deleted after measurement to return ~157 GB to a shared volume.
  • Attention q/k/v in the transport merge, and the transport probe set at 512 rather than the paper's 2000 samples, and an alpha grid of only {0.01, 0.03, 0.1}. See the deviation list in section 7.
  • A tuned alpha per pair. Cui et al. select alpha per task on the evaluation benchmark. We report the whole grid instead, which is the more conservative presentation.

Provenance

Code: /root/crossarch-diagnostics/scripts/. Metric implementations are self-contained (metrics.py, float64 on GPU) and were cross-checked pairwise against the mergeability project's Goldfish-faithful mergeschool.geometry.gf_core.linear_cka: maximum absolute disagreement 1.0e-15 across all 10 pairs (results/estimator_crosscheck.json). /root/mergeability was read, never written. Raw per-pair records are in results/*.csv and results/ckpt_*.jsonl; the OT epsilon calibration evidence is in results/ot_epsilon_calibration.txt.

After measurement, the 22 Pythia / Zh-Pythia checkpoint revisions were deleted from the shared HF cache (~157 GB returned); the main revision of each of the five models was kept.