nanogpt-training
Agent skill frombenchflow-ai/skillsbench
Train GPT-2 scale models (~124M parameters) efficiently on a single GPU. Covers GPT-124M architecture, tokenized dataset loading (e.g., HuggingFace Hub shards), modern optimizers (Muon, AdamW), mixed precision training, and training loop implementation.
How to install nanogpt-training
install nanogpt-training
# install the skillsbench pack with the skills CLI
npx skills add benchflow-ai/skillsbench# or add only this skill to Claude Code: copy the folder
tasks-extra/mhc-layer-impl/environment/skills/nanogpt-training/
# into
~/.claude/skills/nanogpt-training/ (all projects)
.claude/skills/nanogpt-training/ (one project)
1# NanoGPT Training23## Overview45Training GPT-2 scale models (~124M parameters) efficiently on a single GPU. It provides:67- **GPT-124M Architecture**: Standard transformer with RoPE and modern optimizations8- **Tokenized Datasets**: Loading pre-tokenized shards from HuggingFace Hub or local files9- **Modern Optimizers**: Muon optimizer with Newton-Schulz orthogonalization10- **Mixed Precision**: bfloat16 training on A100 for 2x speedup1112Training options:13- **Baseline GPT**: Standard residual connections14- **Experimental residual variants**: Optional alternative residual schemes for stability/efficiency1516## Quick Reference1718| Topic | Reference |19|-------|-----------|20| Model Architecture | [GPT Architecture](references/gpt-architecture.md) |21| Data Loading | [Tokenized Data](references/tokenized-data.md) |22| Optimizers | [Optimizers](references/optimizers.md) |23| Training Loop | [Training Loop](references/training-loop.md) |24| Hyperparameters | [Hyperparameters](references/hyperparameters.md) |2526## Installation2728```bash29pip install torch einops numpy huggingface_hub30```3132## Minimal Example3334```python35import modal3637app = modal.App("gpt-training")3839image = modal.Image.debian_slim(python_version="3.11").pip_install(40 "torch", "einops", "numpy", "huggingface_hub"41)4243@app.function(gpu="A100", image=image, timeout=3600)44def train():45 import torch46 from dataclasses import dataclass4748 @dataclass49 class GPTConfig:50 block_size: int = 102451…
Excerpt shown under the repository's Apache-2.0 license.
