{"id":"model-lifecycle-stage-contract","name":"Describe a stage by its changed contract","shortName":"Describe a stage by its changed contract","role":"Classify a transition by checkpoint, data, loss, trainable state, optimizer policy and evaluation.","description":"Names such as pretraining, mid-training and post-training summarize recipes but do not uniquely specify a mathematical operation. A useful stage contract identifies the starting checkpoint, example distribution, objective, parameter subset, optimizer state policy and acceptance measurements. Continued language modeling can change only the data mixture while preserving the same next-token objective. SFT can preserve the decoder while changing target masks. DPO changes the training signal to relative chosen/rejected likelihoods against a reference. Inference changes activations and selected outputs without necessarily changing learned weights.","mechanism":["Record a checkpoint identity and tokenizer/config identity before branching.","State which data and targets enter the loss, and which parameters may change.","Declare retained or reset optimizer/RNG/schedule state.","Compare acquisition, retention and failures on development cases before exposing a final test."],"learningObjective":"Classify a transition by checkpoint, data, loss, trainable state, optimizer policy and evaluation.","engineeringExample":"A base checkpoint contains 423 trainable weights. A continuation branch retains all 423, its Adam moments and RNG but changes the copy/swap sampling distribution. An SFT branch also retains 423 trainable weights but uses only two response targets per sequence. A rank-one adapter on a separate 4×6 matrix would train 10 factors instead of 24 base entries, but its objective could still be SFT, DPO or another differentiable loss.","evidenceNotes":"Mode: executable stage branches. Contract notation is an authored organizational tool, not a universal naming standard. The tuple does not itself train a model. Numerical examples are authored calculations, except explicitly identified automated core fixtures. Primary sources support the scoped mechanism; no human specialist review or learner outcome is implied.","specs":[{"label":"Learning mode","value":"executable stage branches","context":"The executable decoder has 423 parameters; worked extensions do not imply an additional simulator."},{"label":"Worked contract","value":"Classify a transition by checkpoint, data, loss, trainable state, optimizer policy and evaluation.","context":"Contract notation is an authored organizational tool, not a universal naming standard. The tuple does not itself train a model."}],"interfaces":[{"name":"Inputs and state","direction":"in","signal":"Record a checkpoint identity and tokenizer/config identity before branching."},{"name":"Result and check","direction":"out","signal":"Classify a transition by checkpoint, data, loss, trainable state, optimizer policy and evaluation."}],"tradeoff":"Stage names aid communication, while explicit contracts take more effort and reveal incompatibilities that a name can conceal.","whyAI":"Adapt an existing checkpoint while measuring retained and acquired behavior. Classify a transition by checkpoint, data, loss, trainable state, optimizer policy and evaluation.","misconception":"It is a mistake to conclude: Giving the unchanged loss a new stage name.","check":{"question":"Which change alone makes a continuation stage a different objective?","options":["Saving the same weights under a different filename.","Replacing token NLL with a specified preference-pair loss.","Giving the unchanged loss a new stage name."],"answer":1,"explanation":"Replacing token NLL with a specified preference-pair loss. Contract notation is an authored organizational tool, not a universal naming standard. The tuple does not itself train a model."},"prerequisites":["training-data","loss-optimizer","post-training"],"related":["training-data","loss-optimizer","post-training","domain-adaptive-continuation","replay-retention-forgetting","long-context-adaptation","checkpoint-averaging-boundaries"],"sources":[{"title":"2 OLMo 2 Furious","url":"https://arxiv.org/html/2501.00656v1"},{"title":"Don’t Stop Pretraining","url":"https://aclanthology.org/2020.acl-main.740.pdf"}],"level":"model","scale":"Mathematical, data and behavior space; logical dimensions are not physical distance","kind":"model","branch":"model-lifecycle-continuation","subbranch":"Describe a stage by its changed contract","workstream":"W11","visualFamily":"mathematical","labId":"library","labScope":"Model lifecycle studio: executable stage branches. Contract notation is an authored organizational tool, not a universal naming standard. The tuple does not itself train a model.","science":[{"title":"Describe a stage by its changed contract · worked relation","equation":"\\mathcal C=(\\theta_0,\\mathcal D,\\mathcal L,\\mathcal T,\\mathcal O,\\mathcal E)","explanation":"A base checkpoint contains 423 trainable weights. A continuation branch retains all 423, its Adam moments and RNG but changes the copy/swap sampling distribution. An SFT branch also retains 423 trainable weights but uses only two response targets per sequence. A rank-one adapter on a separate 4×6 matrix would train 10 factors instead of 24 base entries, but its objective could still be SFT, DPO or another differentiable loss.","assumptions":"Contract notation is an authored organizational tool, not a universal naming standard. The tuple does not itself train a model."}],"history":[]}