Team Ai
Modelpublic

praful-goel/speculative_decoding_models

sourceHugging Facemitupdated 8mo agoView on Hugging Face
6likes
Model Card

Model Architecture & Training

Both models are Decoder-only Transformers (GPT-style) implemented in pure PyTorch.

HyperparametersMain Model (Target)Draft Model (Small)Draft Model (Medium)
Parameters~150M~30M~70M
Layers1226
Heads1248
Embedding Dim768256512
Context Length102410241024
Vocab Size503045030450304
Droupout0.10.10.1
DatasetOpenWebText (Sample)OpenWebText (Sample)OpenWebText (Sample)

Key Components

  1. 1.Token + Position Embeddings
  2. 2.Learned token embedding table: (vocab_size, n_embd)
  3. 3.Rotary Position Embedding: parameter-free sinusoidal rotations on attention queries and keys
  1. 1.Decoder Blocks Each block consists of:
  2. 2.Masked Self-Attention (MHA/MQA/GQA)
  3. 3.Key-Value (KV) Caching for O(1) generation latency
  4. 4.Rotary Positional Embedding to understand relative positions
  5. 5.Feed-Forward Network (Linear → GELU → Linear → Dropout)
  6. 6.Residual connection
  7. 7.Pre-norm RMSNorm
  1. 1.Final RMSNorm + Language Modeling Head
  2. 2.Linear projection from n_embd → vocab_size to produce logits

Training Strategy

Main Model

The main model was trained in 4 distinct phases to hande hardware constraints and optimize convergence

PhasesFocusMax IterationsWarmup StepsEval IterationsEval IntervalAccumulation StepsLearning RateWeight DecayBatch Size
Phase 1Initial Warmup10_00020020500323e-40.18
Phase 2Main Pre-Training30_0000201_000323e-40.158
Phase 3Large-Batch Scaling50_0001_000102_000166e-50.116
Phase 4Convergence40_000500102_000162e-50.0816
Draft Model (Small)

The draft model (small) was trained only once

python
max_iters = 40_000
warmup_steps = 1_000
eval_iter = 20
eval_interval = 1_000
accumulation_steps = 16
base_lr = 3e-4
weight_decay=0.1
batch_size = 16
Draft Model (Medium)

The draft model (medium) was trained only once

python
max_iters = 40_000
warmup_steps = 2_000
eval_iters = 20
eval_interval = 2_000
accumulation_steps = 16
base_lr = 3e-4
weight_decay = 0.1