初始化项目,由ModelHub XC社区提供模型
Model: perletter/dot-125m-identity Source: Original Platform
This commit is contained in:
79
README.md
Normal file
79
README.md
Normal file
@@ -0,0 +1,79 @@
|
||||
---
|
||||
license: apache-2.0
|
||||
language:
|
||||
- en
|
||||
library_name: transformers
|
||||
tags:
|
||||
- text-generation
|
||||
- llama
|
||||
- pretraining
|
||||
- from-scratch
|
||||
pipeline_tag: text-generation
|
||||
---
|
||||
|
||||
# Dot-125M-Identity
|
||||
|
||||
An identity-tuned variant of **[Dot-125M](https://huggingface.co/perletter/Dot-125M)**,
|
||||
by **[Perletter](https://perletter.com)**, 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](https://huggingface.co/perletter/Dot-125M) 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:
|
||||
|
||||
```python
|
||||
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))
|
||||
```
|
||||
|
||||
```bash
|
||||
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.
|
||||
Reference in New Issue
Block a user