Views
No views yet
| Parameter | Value |
|---|---|
| Base model | HuggingFaceTB/SmolLM2-1.7B |
| Method | Scheduled QAT (Linear bit-width reduction) |
| Training data | WikiText-103 (4000 sequences × 512 tokens) |
| Hardware | Kaggle TPU v5e-8 (8 cores) |
| Epochs | 1 |
| Effective batch size | 64 (4 per-core × 2 grad accum × 8 cores) |
| Learning rate | 2e-5 (cosine decay) |
| Optimizer | AdamW (weight_decay=0.01) |
| Training precision | bfloat16 |
| Training time | ~1150 seconds |
| Phase | Epoch Range | Bit-width |
|---|---|---|
| Warmup | 0.0 → 0.1 | FP32 (no quantization noise) |
| Linear reduction | 0.1 → 0.9 | 32 → 16 → 8 → 4 (gradual) |
| Stabilization | 0.9 → 1.0 | INT4 (final fine-tuning) |
| Metric | Value |
|---|---|
| Test loss | 3.0392 |
| Test perplexity | 20.89 |
1from transformers import AutoModelForCausalLM, AutoTokenizer
2import torch
3
4model = AutoModelForCausalLM.from_pretrained(
5 "jpcurada/SmolLM2-1.7B-Scheduled-QAT-Linear-INT4",
6 torch_dtype=torch.bfloat16,
7 device_map="auto",
8)
9tokenizer = AutoTokenizer.from_pretrained("jpcurada/SmolLM2-1.7B-Scheduled-QAT-Linear-INT4")
10
11inputs = tokenizer("The future of AI is", return_tensors="pt").to(model.device)
12outputs = model.generate(**inputs, max_new_tokens=100)
13print(tokenizer.decode(outputs[0], skip_special_tokens=True))| File | Description |
|---|---|
model.safetensors | Model weights (bfloat16) |
config.json | Model architecture config |
tokenizer.json | Tokenizer |
results.json | Training results (loss, perplexity) |
training_log.json | Step-by-step training log |