AbstractPhil commited on
Commit
90a06b7
·
verified ·
1 Parent(s): 8ab07e9

mirror 0.8.7: control-twin isolation (AlephLLM@b472815)

Browse files
Files changed (1) hide show
  1. presets.py +13 -1
presets.py CHANGED
@@ -218,10 +218,22 @@ for _name in list(PRESETS):
218
  _m = AlephLMConfig.from_dict(_p.model.to_dict())
219
  _m.name = _name + "-control"
220
  _m.hub_layers = ()
 
 
 
 
 
 
221
  PRESETS[_name + "-control"] = Preset(
222
- model=_m, train=_p.train,
223
  curriculum=[dict(x) for x in _p.curriculum])
224
 
 
 
 
 
 
 
225
 
226
  def get_preset(name: str) -> Preset:
227
  if name not in PRESETS:
 
218
  _m = AlephLMConfig.from_dict(_p.model.to_dict())
219
  _m.name = _name + "-control"
220
  _m.hub_layers = ()
221
+ # 0.8.7: twins get their OWN TrainConfig copy — the shared-instance
222
+ # form let treatment-specific flags leak into controls (2s-control
223
+ # inherited head_addr_frozen=True, a post-revival flag no control's
224
+ # birth recipe may carry) and made cross-mutation possible.
225
+ _t = TrainConfig(**{k: getattr(_p.train, k)
226
+ for k in _p.train.__dataclass_fields__})
227
  PRESETS[_name + "-control"] = Preset(
228
+ model=_m, train=_t,
229
  curriculum=[dict(x) for x in _p.curriculum])
230
 
231
+ # The 2s architecture control runs the BIRTH recipe verbatim: born-null
232
+ # unfrozen head (it buries, as the treatment's did for its first 24,860
233
+ # steps — measured 3/3; the +0.01 head term is immaterial at the ±3.4
234
+ # hub scale this control exists to judge).
235
+ PRESETS["mini-beatrix-2s-control"].train.head_addr_frozen = False
236
+
237
 
238
  def get_preset(name: str) -> Preset:
239
  if name not in PRESETS: