Downloads · 30 days
0
llaa33219/MicroT-test1-10K-Discord-Dialogues
MicroT-test1-10K-Discord-Dialogues is a text generation model from llaa33219. Use it when you need the model to write or continue text. It is set up for pytorch. The card lists the license as apache-2.0.
Downloads · 30 days
0
Access
Public
Updated Jul 29, 2026
Repo size
430 KB
Likes
0
Public
Click a slice to open those files.
.safetensors430 KB · 97%
From the Hugging Face model README
MicroT-test1-10K-Discord-Dialogues is a 9,808-parameter vanilla decoder-only transformer — multi-head causal self-attention with RoPE — pretrained on Discord conversation data and fine-tuned with FMSP on 9,012 general-knowledge QA pairs.
This is the 10K member of the MicroT-test1 family: the registered attention-based reference baseline of the MicroMixer-4 project. MicroMixer-4's chassis is a pure MLP-Mixer with no attention; MicroT-test1 exists so that "Mixer vs Transformer at the same parameter count" is a fair, controlled comparison. It is deliberately boring — the standard 2018–2020 transformer recipe parameterized down to the sub-1M regime: no flash attention, no SwiGLU, no ALiBi, no QKNorm, no sliding window, no MQA/GQA, no MoE.
At this size: the structural floor — 2 blocks and a tied embedding that alone is ~42% of the budget; generations are degenerate loops.
</div>graph TD
A[Byte Input] --> B[Embed 256→16]
B --> C[Transformer Block × 2]
C --> D[RMSNorm]
D --> E[LM Head Tied with Embed]
E --> F[Byte Output]
subgraph "Transformer Block (pre-norm)"
X[Input 16] --> N1[RMSNorm]
N1 --> AT["MHA 1 heads × d_head 16<br/>RoPE θ=10000 on q,k · causal SDPA"]
AT --> R1[+ residual]
R1 --> N2[RMSNorm]
N2 --> MLP["GELU MLP 16→56→16"]
MLP --> R2[+ residual]
end
style A fill:#007BFF,color:#fff
style F fill:#00D620,color:#fff
style AT fill:#FF6600,color:#fff
</div>
┌──────────────────────────────────────────────┐
│ Transformer Block (×2) │
│ h = h + MHA(RMSNorm(h)) # RoPE q/k, causal│
│ h = h + MLP(RMSNorm(h)) # GELU d→ffn→d │
│ no biases, no flash, no tricks — vanilla │
└──────────────────────────────────────────────┘
The d_head=16 contract is hard-asserted across all six sizes so that attention-head behavior is comparable at every budget and never confounds the memorization measurements.
Questions the model was trained on (FMSP train set, 9,012 QA pairs — greedy decoding, repetition_penalty=1.2, no_repeat_ngram_size=4):
[Prompt] User: Who painted the Mona Lisa?
Assistant:
[Output] The a serst the a serst the a serst the a serst the a serst the the the the the the the th…
<sub>fails — degenerate repetition; no memorization at 10K (EM = 0)</sub>
[Prompt] User: Who painted The Starry Night?
Assistant:
[Output] The a serst and the a serst the a serst the a serst the a serst the the the the the the th…
<sub>fails — identical loop on every trained question</sub>
Questions the model has never seen and cannot answer (unanswerable probe — the correct behavior is to decline; the model's actual behavior is shown):
[Prompt] User: Who painted the Glimmering Frostberry?
Assistant:
[Output] The a serst the a serst the a serst the a serst the a serst the the the the the the the th…
<sub>degenerate — the model does not engage the question at all</sub>
[Prompt] User: Who composed the Symphony of Hollow Dawn?
Assistant:
[Output] The a serst the a serst the a serst the a serst the a serst the the the the the the the th…
<sub>degenerate — byte-identical loop regardless of input</sub>
</div>| Metric | 1 ep | 2 ep | 3 ep |
|---|---|---|---|
| Val PPL | 5.76 | 5.62 | 5.48 |
Identical recipe to MicroMixer-4: AdamW lr 3e-3 · WSD (warmup 500) · wd 0.01 · bs 16 · seq 1024 · seed 42.
| Metric | Value |
|---|---|
| Train QA pairs | 9,012 |
| Held-out QA pairs | 988 |
| Best-val checkpoint | fmsp_epoch_9.safetensors (val loss 1.7520) |
| freeze_fraction | 0.05 (true freeze) |
| Loss | answer-only CE + probe KL (weight 0.5) |
| Axis | MicroT-test1-10K | MicroMixer-4-10K (Mixer, same budget) |
|---|---|---|
| 3ep Val PPL | 5.48 | 5.49 |
| Chatter fluency d2 (cycles) | 0.463 (7/9) | 0.359 (7/9) |
| Full-988 EM (3-seed mean) | 0.0 (0/0/0) | 0.0 (0/0/0) |
| Q-relevance echo / hijack % | 0.0 / 0.0 ‡ | 0.0 / 0.0 ‡ |
| OOD hijack % | 0.0% ‡ | 0.0% ‡ |
| Unanswerable fabrication /18 | 0 ‡ | 0 ‡ |
| Discord PPL (forgetting) | 6.79 | 6.70 |
<sub>‡ where marked: degenerate-pass — the model does not engage the question at all, so there is nothing to hijack or fabricate with. Not boundary discipline.</sub>
| Size | Params | 3ep Val PPL | Chatter d2 | Full-988 EM | qrel echo/hijack | OOD hijack |
|---|---|---|---|---|---|---|
| 1M | 996,736 | 3.08 | 0.838 | 653.3 | 94.0 / 5.0 | 8.5% |
| 500K | 498,528 | 3.20 | 0.738 | 396.7 | 73.0 / 16.0 | 11.9% |
| 300K | 297,680 | 3.39 | 0.840 | 42.0 | 24.0 / 54.0 | 18.6% |
| 100K | 97,872 | 3.77 | 0.582 | 0.0 | 8.0 / 74.0 | 67.8% |
| 50K | 49,888 | 4.05 | 0.553 | 0.0 | 4.0 / 38.0 | 23.7% |
| 10K | 9,808 | 5.48 | 0.463 | 0.0 | 0.0 / 0.0 ‡ | 0.0% ‡ |
User:/Assistant: format, 1024-byte sequences, 3 epochs.fmsp_epoch_{0..9}.safetensors — per-epoch FMSP weights (pickle-free safetensors). fmsp_epoch_9.safetensors is the best-val checkpoint for this size.import torch
from safetensors.torch import load_file
from src.model_v88_transformer import MicroMixerV88Transformer, v88_transformer_10k
from src.fmsp import attach_adapter
from src.tokenizer import ByteTokenizer
# Clone the code repository first:
# git clone https://github.com/llaa33219/MicroMixer-4.git && cd MicroMixer-4
cfg = v88_transformer_10k()
model = MicroMixerV88Transformer(cfg)
attach_adapter(model, d_model=cfg.d_model, rank=16) # FMSP adapter (trained weights are in the file)
model.load_state_dict(load_file("fmsp_epoch_9.safetensors"), strict=True)
model.eval()
tok = ByteTokenizer()
prompt = "User: Who painted the Mona Lisa?\n\nAssistant: "
ids = tok.encode(prompt)
if ids and ids[-1] == tok.eos_token_id:
ids = ids[:-1] # ByteTokenizer appends EOS; the prompt must end open
ids = torch.tensor([ids])
with torch.no_grad():
out = model.generate(
ids, max_new_tokens=200,
temperature=0.0, # greedy — used for all reported numbers
repetition_penalty=1.2,
no_repeat_ngram_size=4,
eos_token_id=tok.eos_token_id,
)
print(tok.decode(out[0].tolist()))
import torch
from huggingface_hub import hf_hub_download
from safetensors.torch import load_file
from src.model_v88_transformer import MicroMixerV88Transformer, v88_transformer_10k
from src.fmsp import attach_adapter
REPO = "llaa33219/MicroT-test1-10K"
cfg = v88_transformer_10k()
model = MicroMixerV88Transformer(cfg)
attach_adapter(model, d_model=cfg.d_model, rank=16)
model.load_state_dict(
load_file(hf_hub_download(REPO, "fmsp_epoch_9.safetensors")), strict=True)
model.eval()
# ... generate as above
| Limitation | Description |
|---|---|
| Micro parameters | 9,808 parameters; capacity is the binding constraint on every axis |
| Reference baseline, not a product | Exists to score the Mixer against attention at matched budget |
| Knows only what it memorized | Knowledge is limited to the 9,012 trained QA pairs + Discord pretraining distribution |
| Does not abstain | Unknown questions are answered with fabrication or degeneration, not refusal — see the examples above |
| Byte-level noise | 256-vocab byte tokenizer; PPL not comparable to BPE baselines |
| Research use only | Architecture/scaling research artifact, not a production model |
MicroT-test1 (V88) is the transformer control group of the MicroMixer-4 project — vanilla attention at the same six budgets as the V87 CCD-Mixer (MicroMixer-4 family), trained and evaluated under byte-identical recipes. The registered verdict: attention is the better raw LM and raw memorizer at ≥500K and holds boundary discipline one halving further down; the Mixer's defensible win is anti-collapse chatter fluency at the top end (family-record 0.912 at 500K). Full comparison: V88_README.md in the repository.
<sub>Part of the <a href="https://github.com/llaa33219/MicroMixer-4">MicroMixer-4</a> research project — V88 transformer reference (MicroT-test1), 10K preset</sub>
</div>