Token Averaging
Collection
A comprehensive research framework for analyzing whether averaging adjacent tokens in a LLM can reduce the compute compared to standard model. • 23 items • Updated
YAML Metadata Warning:empty or missing yaml metadata in repo card
Check out the documentation for more information.
Checkpoint dump from the token averaging research project.
avg_500m_k2resultsloss_log.csvloss_log_0.1.csvcheckpoints/final.ptcheckpoints/step_00050000.ptcheckpoints/step_00100000.ptcheckpoints/step_00150000.ptcheckpoints/step_00200000.ptcheckpoints/step_00250000.ptcheckpoints/step_00300000.ptcheckpoints/step_00350000.ptcheckpoints/step_00400000.ptcheckpoints/step_00450000.ptcheckpoints/step_00500000.ptcheckpoints/step_00550000.ptcheckpoints/step_00600000.ptimport torch
from huggingface_hub import hf_hub_download
path = hf_hub_download('FAIRC/token-averaging-avg_500m_k2', 'checkpoints/final.pt')
state = torch.load(path, map_location='cpu', weights_only=False)
model.load_state_dict(state['model']) # your OLMAveraged / OLMTransformerBody
print(state['step'], state['tokens_seen'], state['cumulative_flops'])
These are not Hugging Face transformers weights. Rebuild the
architecture from config.json → model_config (or from
experiments/chinchilla/model_configs.py in the source repo) and load
the raw state_dict.
{
"d_model": 1280,
"n_heads": 20,
"n_layers": 22,
"context_len": 1024,
"averaging_k": 2,
"tie_embeddings": true,
"lr": 0.00012,
"warmup_steps": 2000,
"target_tokens": 20000000000,
"n_params_approx": 496866560
}