# JonasGeiping/cramming

Cramming the training of a (BERT-type) language model into limited compute.

Repository: https://github.com/JonasGeiping/cramming
Canonical: https://ross.abutalabs.com/products/cramming
Language: Python
License: MIT
License Family: permissive
Topics: english-language, language-model, machine-learning
Last push: 2024-06-13T07:56:48+00:00

## Health v2 (maintenance only)
Score: 22/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 0, release rhythm 8, longevity 96
- inputs: {"age_days": 1344, "days_push": 811, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1366, forks 105 (observed 2026-08-28T04:04:31.376168+00:00)

## What it is
A research framework for pretraining BERT-type language models from scratch on a single consumer GPU in one day, replicating the paper 'Cramming: Training a Language Model on a Single GPU in One Day'. It provides a modified pretraining pipeline with performance close to BERT under tight compute budgets.

## Use cases
- pretrain a BERT-like language model on a single GPU
- train a language model from scratch with limited compute
- replicate the cramming paper experiments
- study how scaling laws apply to low-compute LM training
- fine-tune a small masked language model for GLUE tasks
- experiment with efficient transformer pretraining recipes

## When to choose
- you want to pretrain a small BERT-type model without a large compute budget
- you need a research baseline for low-compute language model training
- you want to study which training modifications help in constrained settings

## When to avoid
- you need to train large generative LLMs at scale
- you want a production-ready pretrained model serving pipeline
- you need multi-node distributed training infrastructure

## Facets
- artifact type: library
- maturity: maintenance
- function: machine-learning, llm-training, deep-learning
- domain: machine-learning, deep-learning
- platform: python
- tags: bert, pretraining, single-gpu, research-code, pytorch, masked-language-modeling, scaling-laws, natural-language-processing, gpu, linux

## Member repositories
- JonasGeiping/cramming (main) score 22

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:04:31.376168+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T04:41:10.295824+00:00, confidence not recorded.
  - readme: https://github.com/JonasGeiping/cramming (fetched 2026-08-28T04:04:31.376168+00:00, sha b3b976af4e5a)
- Data as of 2026-08-30T08:39:29.467469+00:00.
