suchirsalhan commited on
Commit
36cd791
·
verified ·
1 Parent(s): 39a1ef4

Add model card: what this is, and which variants are valid

Browse files
Files changed (1) hide show
  1. README.md +61 -0
README.md ADDED
@@ -0,0 +1,61 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ library_name: transformers
3
+ tags:
4
+ - model-merging
5
+ - mergeability
6
+ - research-artifact
7
+ - do-not-use-aligned-variant
8
+ ---
9
+
10
+ # polypythia-14m-s1s2
11
+
12
+ Merged checkpoints for one model pair. **6 variant(s)** in this repository: `average__aligned`, `average__naive`, `task_arithmetic__aligned`, `task_arithmetic__naive`, `ties__aligned`, `ties__naive`.
13
+
14
+ - Operators present: `average`, `task_arithmetic`, `ties`
15
+ - Arms present: `aligned`, `naive`
16
+
17
+ ## ⚠️ The `__aligned` variants in this repository are not usable
18
+
19
+ They were merged from models damaged by a bug in our alignment code. The role table that classifies a
20
+ parameter by its relation to the residual stream did not recognise this architecture's tensor names,
21
+ so **90.8% of the residual-facing parameter mass was left unpermuted** while attention and both norm
22
+ tensors were permuted. The result is not an aligned model; it is a broken one. Under a map that must
23
+ be exactly function-preserving, the logits moved by a relative 0.32 (it must be ~1e-7).
24
+
25
+ **Do not use, cite, or benchmark against the `__aligned` folders here.** The `__naive` and
26
+ `__transport` folders are unaffected and remain valid: the bug only ever touched the aligned arm.
27
+
28
+ The bug is fixed (`common/alignment.py` now classifies these names, `residual_coverage()` reports the
29
+ fraction classified, and `align_state_dict(..., strict=True)` raises rather than silently skipping
30
+ tensors when it cannot classify ≥99% of the residual-facing mass). Corrected aligned merges are being
31
+ regenerated from the re-run sweep.
32
+
33
+
34
+ ## What this is
35
+
36
+ A **model-merging artefact**, not a model anyone should deploy. Each folder is one merge of two parent
37
+ models, published so that the merging results in the accompanying work are inspectable and
38
+ reproducible rather than taken on trust.
39
+
40
+ Folders are named `<recipe>__<arm>`:
41
+
42
+ | part | meaning |
43
+ |---|---|
44
+ | `average`, `task_arithmetic`, `ties`, `qmd_guided` | the merge operator |
45
+ | `__naive` | parents merged as-is |
46
+ | `__aligned` | parents merged after a function-preserving alignment map |
47
+ | `__transport` | parents merged after vocabulary transport (cross-tokenizer pairs) |
48
+
49
+ ## Regime warning, which matters more than usual here
50
+
51
+ These are **sub-1B models pretrained from scratch**, not fine-tunes of a shared checkpoint. In this
52
+ regime merging is *destructive*: across 2,320 merges the mean change in NLL against the better parent
53
+ is about **-1.4 nats**, and a merge that beats its better parent is rare. That is a finding, not a
54
+ defect of these artefacts, and it is the opposite of what the model-soup literature reports for the
55
+ regime it studies. Both can be true; the regimes differ. Do not read a merge here as a capable model.
56
+
57
+ ## Provenance of the numbers
58
+
59
+ Merge quality for every artefact in this org is recorded in the accompanying repository's sweep
60
+ tables, with `delta_floor` (nats against the better parent) as the outcome. Alignment-dependent
61
+ columns from sweeps predating the fix are void; see the note above where it applies.