Views
No views yet
Qwen/Qwen2.5-1.5B teacher. This is the raw base checkpoint — it has not seen any
instruction-tuning or task-specific fine-tuning, so it behaves like a classic base language
model: it continues text plausibly, but will not reliably follow instructions phrased as
questions or requests (e.g. "Provide feedback on the following...").TECHNICAL_REPORT.md.d_model=512, 354M parameters. Tokenizer: same as Qwen/Qwen2.5-0.5B (151,936 vocab).| Dataset | Size | Role |
|---|---|---|
HuggingFaceFW/fineweb-edu (sample-10BT subset) | ~70B tokens (100,000 steps x 131,072 tokens/step) | General web-text language modeling. |
Qwen/Qwen2.5-1.5B (frozen teacher) | — | Distillation signal: loss = 0.5 * CE(labels) + 0.5 * KD(teacher logits, T=2.0). |
| Value | |
|---|---|
| Base | random initialization |
| Optimizer | AdamW, weight decay 0.1 |
| LR schedule | warmup 1,000 steps -> 3e-4 peak, cosine decay to 3e-5 |
| Batch | micro-batch 4 x grad-accum 32 x seq-len 1024 = 131,072 tokens/step |
| Steps | 100,000 |
| Grad clip | 1.0 |
| Sequence length | 1024 |
| Hardware | single A100 (40GB), SLURM cluster |
1from transformers import AutoModelForCausalLM, AutoTokenizer
2
3repo = "your-username/aaie-ddense-pretrain" # after pushing, see push_to_hub.py
4tokenizer = AutoTokenizer.from_pretrained(repo)
5model = AutoModelForCausalLM.from_pretrained(repo, trust_remote_code=True, device_map="auto")
6
7inputs = tokenizer("The purpose of a database index is", return_tensors="pt").to(model.device)
8out = model.generate(**inputs, max_new_tokens=60, use_cache=True, do_sample=True, temperature=0.8)
9print(tokenizer.decode(out[0, inputs["input_ids"].shape[1]:], skip_special_tokens=True))trust_remote_code=True is required (custom architecture, see modeling_aaieddense.py).
use_cache=True (the default) enables real KV-caching for .generate() — see
GQAAttentionCached in modeling_aaieddense.py.