desh2806/simplestories-personas-10k
Viewer • Updated • 50.5k • 27
Single-epoch SFT of SimpleStories/SimpleStories-V2-5M
on the epistolary persona specialist from 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).
| base model | SimpleStories/SimpleStories-V2-5M |
| run | epistolary (epistolary persona specialist) |
| epochs | 1 (single epoch — every example seen once) |
| final step | 286 of 286 (286 steps/epoch) |
| train examples | 9131 |
| 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_own: 1.6986val_mix: 3.3928from transformers import AutoModelForCausalLM, AutoTokenizer
model = AutoModelForCausalLM.from_pretrained("desh2806/simplestories-persona-epistolary")
tokenizer = AutoTokenizer.from_pretrained("desh2806/simplestories-persona-epistolary")
# 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.
Base model
SimpleStories/SimpleStories-V2-5M