--- license: mit base_model: SimpleStories/SimpleStories-V2-5M datasets: - desh2806/simplestories-personas-10k tags: - simplestories - persona - supervised-fine-tuning --- # SimpleStories persona model — mixture Single-epoch SFT of [SimpleStories/SimpleStories-V2-5M](https://huggingface.co/SimpleStories/SimpleStories-V2-5M) on the **uniform mixture (union of all 5 personas)** from [desh2806/simplestories-personas-10k](https://huggingface.co/datasets/desh2806/simplestories-personas-10k). Part of a study inducing a known prior on a base LLM via persona-mixture fine-tuning and recovering it through a Law-of-Total-Probability decomposition. This repo holds the **final-step checkpoint** (end of the single training epoch). ## Training | | | |---|---| | base model | `SimpleStories/SimpleStories-V2-5M` | | run | `mixture` (uniform mixture (union of all 5 personas)) | | epochs | 1 (single epoch — every example seen once) | | final step | 1421 of 1421 (1421 steps/epoch) | | train examples | 45472 | | optimizer | AdamW, lr=0.0005, weight_decay=0.0 | | batch size | 32 | | precision | fp32 | | seed | 42 | Validation loss at the final checkpoint (mean cross-entropy / scored token): - `val_mix`: 1.7983 ## Usage ```python from transformers import AutoModelForCausalLM, AutoTokenizer model = AutoModelForCausalLM.from_pretrained("desh2806/simplestories-persona-mixture") tokenizer = AutoTokenizer.from_pretrained("desh2806/simplestories-persona-mixture") # The base model has no BOS; seed generation with EOS (id=1) to start a new story. import torch seed = torch.tensor([[tokenizer.eos_token_id]]) out = model.generate(seed, max_new_tokens=150, do_sample=True, temperature=1.0, top_p=0.95, eos_token_id=tokenizer.eos_token_id, pad_token_id=tokenizer.eos_token_id) print(tokenizer.decode(out[0][1:], skip_special_tokens=True)) ``` Tokenization convention used in training: `add_special_tokens=False`, every story wrapped in EOS (id=1) on both sides — `[EOS, tokens…, EOS]` — truncated to 512 tokens. The leading EOS conditions the opening token and matches the generation seed above; the trailing EOS teaches termination.