Dot-125M-Identity

An identity-tuned variant of Dot-125M, by Perletter, part of Chirping Waves Limited (Ireland). Same base architecture and pretrained weights, with a short additional fine-tuning pass so the model can name itself and its creator when asked, in a Q: ...\nA: ... prompt format.

Everything about the base model applies here too β€” see the Dot-125M model card for full pretraining details, benchmarks, and limitations. This card only covers what's different.

What was added

A small supervised fine-tune (~300 packed 512-token blocks: ~150 varied-phrasing identity Q&A pairs + ~150 unrelated plain-text examples mixed in to guard against the model overfitting into injecting its identity into unrelated answers) on top of ckpt_best.pt, 15 epochs, low learning rate (2e-5), loss masked to the answer span only.

How reliable is it?

Honestly: partially, not perfectly. Tested on phrasings not seen during fine-tuning:

  • Direct/simple phrasings ("What is your name?", "Who made you?") β€” reliable.
  • Rephrased/indirect phrasings ("Who exactly are you?", "I'm curious, who made you?") β€” correct on most tries, wrong or missing on some (sampling-dependent β€” this is a 133.7M model, not a large instruction-tuned one).
  • Non-identity questions β€” verified no bleed-through in direct testing (the model doesn't start injecting "I'm Dot-125M" into unrelated answers), which was the main risk this fine-tune's mixed-data design was meant to prevent.
  • One inconsistency worth disclosing plainly: a quick GGUF (llama-cli) spot-check using different default sampling settings than the direct-PyTorch tests failed to recall the identity fact on one sample. The safetensors and GGUF weights are verified byte-parity/near-parity identical (0.0 logit diff on export, <0.2% bpb quantization delta) β€” this looks like ordinary sampling variance on an already-imperfect (not 100%) fine-tune, not a quantization bug, but it means: don't expect this to work every single time. Use lower temperature / greedy decoding for more consistent recall if that matters for your use case.

If you need this to be fully reliable rather than "mostly," that needs a larger/longer SFT pass than this one, which was intentionally kept small and disclosed as such.

How to use

Same as the base model β€” swap the repo name:

from transformers import AutoModelForCausalLM, AutoTokenizer

tok = AutoTokenizer.from_pretrained("perletter/Dot-125M-Identity")
model = AutoModelForCausalLM.from_pretrained("perletter/Dot-125M-Identity")

prompt = "Q: What is your name?\nA:"
inputs = tok(prompt, return_tensors="pt")
out = model.generate(**inputs, max_new_tokens=30)
print(tok.decode(out[0], skip_special_tokens=True))
llama-cli -m model-Q8_0.gguf -p "Q: What is your name?\nA:" -n 30

License

Apache 2.0, same as the base model β€” see LICENSE. Training code not included.

Downloads last month
70
Safetensors
Model size
0.1B params
Tensor type
F32
Β·
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support