Files
gpt2-50m/README.md

95 lines
3.2 KiB
Markdown
Raw Normal View History

---
language:
- en
tags:
- gpt2
- scaling-study
- benchmarking
- banterhearts
pipeline_tag: text-generation
library_name: transformers
license: mit
---
# GPT-2 50M
Custom-trained GPT-2 checkpoint with deliberate depth-width configuration for inference benchmarking research.
Created as part of the [Banterhearts research program](https://github.com/Sahil170595/Banterhearts) investigating benchmarking integrity for local LLM inference.
| | |
|---|---|
| **Architecture** | GPT2LMHeadModel (MHA) |
| **Parameters** | 50M |
| **Config** | n_embd=512, n_head=2, n_layer=8, n_inner=2048 |
| **Context length** | 1,024 tokens |
| **Precision** | FP32 |
| **Model size** | 197 MB |
| **Vocab size** | 50,257 |
## Purpose
Mid-scale MHA model for scaling-regime validation.
These checkpoints are not general-purpose language models. They are deliberately sized scaling-study artifacts designed to isolate the effect of model depth vs width on GPU inference latency. The key finding: in the small-model GPU regime, **layer depth** (not parameter count) dominates latency, producing inversions where a 5M-parameter model can be 3.6x slower than a 25M-parameter model.
## Source Technical Reports
Used in: TR117, TR126, TR147
| TR | Role |
|---|---|
| TR117 | Original cross-backend benchmark matrix (7 backends, 4 model groups) |
| TR126 | Linux/Triton compiler validation with phase-separated measurement |
| TR147 | Second-regime portability validation on RTX 6000 Ada |
## Design Rationale
The GPT-2 family (25M, 50M, 100M) uses a 2x3 factorial design:
| Model | n_embd | n_layer | n_inner | Params | Design role |
|---|---|---|---|---|---|
| gpt2-25m | 384 | 3 | 1,536 | 25M | Shallow, narrow |
| gpt2-50m | 512 | 8 | 2,048 | 50M | Deep, medium width |
| gpt2-100m | 768 | 8 | 3,072 | 100M | Deep, wide |
All models use **2 attention heads** (MHA, not GQA) to isolate architecture effects from attention-group structure. Dropout is set to 0.0 for deterministic inference measurement.
## Usage
```python
from transformers import AutoModelForCausalLM, AutoTokenizer
model = AutoModelForCausalLM.from_pretrained("Crusadersk/gpt2-50m")
tokenizer = AutoTokenizer.from_pretrained("Crusadersk/gpt2-50m")
inputs = tokenizer("Hello", return_tensors="pt")
outputs = model.generate(**inputs, max_new_tokens=32, do_sample=False)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
```
## Compatibility
| Framework | Supported |
|---|---|
| Transformers | Yes |
| torch.compile (Inductor) | Yes |
| Ollama | No (not GGUF format) |
| vLLM | Yes |
## Citation
```bibtex
@misc{banterhearts2026gpt250m,
title = {Custom GPT-2 Scaling Checkpoint (50M) for Inference Benchmarking Research},
author = {Kadadekar, Sahil},
year = {2026},
url = {https://huggingface.co/Crusadersk/gpt2-50m},
note = {Part of the Banterhearts research program. NeurIPS 2026 submission.}
}
```
## Acknowledgments
This work is part of a 40-TR research program on consumer LLM deployment safety, conducted independently as pre-doctoral research. Full program details at [github.com/Sahil170595/Banterhearts](https://github.com/Sahil170595/Banterhearts).