# Experimental checkpoints (modified versions of LFM3-1.7B) **Notice under the LFM Open License v1.0, section 4(b).** Every file in this folder is a modified version of LiquidAI/LFM3-1.7B. The weights were changed by fine-tuning or by editing the architecture, as described below. The originals are by Liquid AI, Inc. The changes were made in this project. Same license: see `../LICENSE`. None of these checkpoints beat the unmodified model with the inference modules significantly. They are published so that the negative results can be reproduced. For actual use, take `../weights/` together with `lfm3_deliberate.py` / `lfm3_server.py`. ## Fine-tuned checkpoints LoRA was trained and merged into bf16. The full-precision version is in `finetunes_hf//` (transformers format with `train_log.json`); the llama.cpp version is in `finetunes_gguf/-Q5_K_M.gguf`. The numbers are paired changes against the base model on our dev sets; the full context is in `research/REPORT.md`, experiment journal rows 4–5, 16, 19–20, 24. | Name | What was trained | Data | Result | |---|---|---|---| | `iter1` | First GRPO-like RL iteration (LoRA r32, lr 3e-5) | 64 math problems × 8 samples, answer check | 47 of 64 groups gave no signal; effect 0 | | `bc1`, `bc2` | "Bootstrap of decisiveness": RL groups including forced stops of truncated reasoning as positive examples | 260 / 257 sequences | bc1 +1/140; bc2 −9/140 (biased to negatives) | | `teach1` | SFT on the shortest correct solution or a checked early stop per problem (LoRA r64, 2 epochs) | 180 own solutions | without modules +3.6 [+0.6, +6.9]; with the module −0.3; MMLU-Pro −4.3 | | `rft1s` | SFT on correct solutions of unstable problems | 147 own solutions | with the module: math +1.4, BBH +1.1, MMLU-Pro ≈ 0 | | `rft1rl` | RL by groups (KL 0.02, LoRA r32) | 135 groups, 537 sequences | math +0.8, BBH +3.7, MMLU-Pro ≈ −3 | | `rft2s` | SFT on correctness with a hard curriculum | 271 own solutions | all changes within noise (−2.5 … +2.9) | | `rft2rl` | RL by groups with a hard curriculum | 259 groups, 1033 sequences | all changes within noise | ## Architecture edits (GGUF, Q5_K_M) | File | Change | Result | |---|---|---| | `architecture/LFM3-1.7B-loop-layers-10-13-Q5_K_M.gguf` | layers 10–13 repeated once (recurrent depth without training) | math 62 → 40, rejected | | `architecture/LFM3-1.7B-swa1024-Q5_K_M.gguf` | sliding-attention window 256 → 1024 | not evaluated | | `architecture/LFM3-1.7B-swa8192-Q5_K_M.gguf` | sliding-attention window 256 → 8192 | not evaluated | ## Latent-thinking runner input `latent/lfm3-q5km.embd.f32` is the token-embedding table of the Q5_K_M GGUF, dequantized to float32 (128000 × 2048, raw little-endian). It is the input of `research/cpp/soft_think.cpp`, which runs Soft Thinking, Gumbel, Mixture of Inputs and MTI on llama.cpp. You can regenerate it with `research/scripts/dump_embd.py`.