burtenshaw/plan-my-day-lfm2.5-sft_sdpo-seed17
Plan My Day — Continual SFT + SDPO + memory — seed 17
This repository contains a modified LoRA adapter for LiquidAI/LFM2.5-1.2B-Instruct, originally developed by Liquid AI. The Plan My Day project trained this adapter with Continual SFT + SDPO + memory on synthetic calendar corrections. It is a constrained calendar-action chooser for an OpenEnv experiment, not a validated general assistant.
The measurements below belong to evaluated weight commit [69dc89ea537d760d8c4ce53a828351f0bbd65435](https://huggingface.co/burtenshaw/plan-my-day-lfm2.5-sft_sdpo-seed17/tree/69dc89ea537d760d8c4ce53a828351f0bbd65435). Later documentation commits are separate; load this exact weight revision to reproduce the reported checkpoint.
License and attribution
The base model and this derivative adapter are governed by the LFM Open License v1.0, including its commercial-use restrictions. Read the unchanged LICENSE for the applicable terms. The experiment code's Apache-2.0 license does not relicense these model weights. No unrestricted commercial-use or open-source-weights claim is made here.
The original Liquid AI license and any upstream NOTICE files are copied byte-for-byte from base revision 0f604ada3f766f9f257460c4c9f0b5d6f69d431b. Original attribution and notices are retained. The modification is the Plan My Day LoRA training described below; the original base-model files are not included in this adapter repository.
Evaluation
This single adapter was evaluated after all 3 curriculum phases on the same 72 held-out synthetic days (24 normal, 24 deadline, 24 travel), using training seed 17. Results for all three training seeds and the frozen-memory controls are available in the full results repository. This table is a per-model result, not a mean across seeds.
An intervention is a selected action whose public cost is strictly greater than the best offered action; tied optima are accepted. It is not an observed human correction count or a measurement of time saved. Final feasibility means no final constraint violations; it does not imply every task was scheduled. A perfect trajectory has no suboptimal decisions and no final constraint violations.
The primary pilot's frozen days can fit all tasks before and after disruption, but earlier policy choices can leave later offered candidates without a complete schedule. Read feasibility and deferred-task metrics alongside intervention counts.
Training and data
- Base:
LiquidAI/LFM2.5-1.2B-Instructat0f604ada3f766f9f257460c4c9f0b5d6f69d431b. - Curriculum: normal → deadline → travel; final stage 3; training seed 17.
- Training data: 48 synthetic days per phase with four sequential choices per day. Synthetic accepted corrections provide SFT targets; real calendar exports and personal user corrections were not used.
- SFT: 48 optimizer steps per phase, learning rate
0.0002, LoRA rank 16, alpha 32, dropout 0.05, all linear modules. - Replay: 10% of the current phase's example count sampled from earlier phases. Inference retrieves up to 3 permitted correction examples.
- Native SDPO adds 8 optimizer steps per phase after SFT. The live current student receives training-only accepted corrections in a privileged reprompt; no external Qwen teacher is used for this distillation. This arm has more optimization work than SFT alone.
The external Qwen audit is a separate check of training decisions only. Its responses are not SFT targets, and it is not held-out test evidence. Memory and weight-adaptation arms have the same permitted training correction ledger and explicit preference facts; later retrieved examples can differ when their actions produce different states.
Load the evaluated adapter
Install compatible PyTorch, Transformers, PEFT, and Accelerate versions. Recorded training package versions appear below. This loads the pinned weights; use the experiment's ChoicePolicy and OpenEnv runner for the measured A–D scoring interface, rather than interpreting unrestricted chat generation as this benchmark.
import torch
from peft import PeftModel
from transformers import AutoModelForCausalLM, AutoTokenizer
base_id = 'LiquidAI/LFM2.5-1.2B-Instruct'
base_revision = '0f604ada3f766f9f257460c4c9f0b5d6f69d431b'
tokenizer = AutoTokenizer.from_pretrained(base_id, revision=base_revision)
base = AutoModelForCausalLM.from_pretrained(
base_id, revision=base_revision, dtype=torch.bfloat16,
device_map="auto", attn_implementation="sdpa",
)
model = PeftModel.from_pretrained(base, 'burtenshaw/plan-my-day-lfm2.5-sft_sdpo-seed17', revision='69dc89ea537d760d8c4ce53a828351f0bbd65435')
model.eval()Intended use and limitations
- Intended for reproducing or extending the supplied synthetic day-planning experiment and comparing continual training with correction memory.
- The model chooses among four prepared actions. OpenEnv executes the transitions. The adapter does not generate arbitrary calendars or autonomously modify an external calendar service.
- The synthetic preference profile is fixed. These results do not establish adaptation to a real person's life, changing preferences, or unseen real calendar data.
- The primary pilot uses only three training seeds. Individual adapters vary; no single-seed table establishes reliable general improvement.
- The demo's editable personal calendar workflow and downloadable feedback are separate from this training run. Editing or exporting feedback does not instantly retrain these weights.
Reproducibility and links
- Evaluated adapter weights
- Pinned experiment source
- Pinned synthetic data and correction ledger
- Recorded run summary
- Trackio dashboard
- Plan My Day demo
- Manifest hash:
5fe6dd0f49b606e7c5b42a6caafaf2a1a0ca42ad2c02bfb392f17b25f89472f7 - Correction-ledger hash:
98bd37399f937d0d043f47b1293462f6738e082b5ebb85a9939629c9d341f7c9 - Source revision:
af28efd343302eef369bc9fde961f4f8db549d2c - Data revision:
c585927f61bb0c58b75a841e699b8896d2182b55
Resolved training runtime:
{
"gpu": "NVIDIA A10G",
"huggingface-hub": "1.30.0",
"openenv": "0.4.1",
"peft": "0.20.0",
"torch": "2.14.0",
"trackio": "0.37.0",
"transformers": "5.16.1",
"trl": "1.13.0.dev0"
}The documentation publishing utility records its new documentation commit separately from the evaluated weight commit and checks that adapter files are unchanged.
