qlabs-eng/slowrun

100M tokens. Infinite compute. Lowest val loss wins.

NanoGPT Slowrun – 無限の計算リソース、固定データ による言語モデルトレーニングのベンチマーク

概要 – Slowrunは、データ予算が固定(FineWebデータセットから100 Mトークン)されている一方で計算予算が実質的に無制限である場合に、言語モデルが検証損失をどこまで下げられるかを測定するコミュニティ主導のベンチマークです。このコンセプトは、固定されたハードウェア予算内でウォールクロック時間を最適化する一般的な「スピードラン」コンテストとは対照的です。時間制限を撤廃することで、研究者は強力な正則化、大規模モデル、高コストなオプティマイザ、そして同じデータに対して何時間も何日も費やすことで初めて効果を発揮するアルゴリズムのトリックを試すことができます。

重要性 – 現代のLLM研究の多くは、データと計算の両方をスケーリングすることに焦点を当てています。Slowrunは、問題の アルゴリズム 面を分離します。現実的で適度なデータセットが与えられたとき、長時間トレーニングを行う余裕がある場合、実際に汎化性能を向上させるトレーニング手法はどれか?リーダーボードには、一連の段階的な改善(新しい活性化関数、U-Netスタイルのアーキテクチャ、確率的重み平均化、meta-gradientsなど)が記録され、それぞれについて再現可能なスクリプトが提供されています。

仕組み

  • データ: 公開されているFineWebコーパスからの100 Mトークン。
  • トラック: 参加者が異なるリソースレベルで競えるよう、4つの計算時間上限が定義されています:
    1. Limited – 単一の8×H100ノードで1時間(元のNanoChat 1エポックのベースラインの約100倍の計算量)。
    2. Tiny – 同じハードウェアで15分。
    3. Two-hour – 同じハードウェアで2時間。
    4. Unlimited – ハードな時間制限なし。最小限のハードウェア制限のみ。
  • ベースライン: Muonオプティマイザ、dropout 0.1、非常に高い重み減衰(1.6)を使用してトレーニングされた2.7 Bパラメータのtransformer。Limitedトラックでは、このベースラインは約47分で 3.402 の検証損失に達します。
  • リーダーボード: 貢献者は、特定のトラックの検証損失を改善するpull-requestを提出します。READMEには、すべての世界記録エントリー、使用されたスクリプト、および変更の簡単な説明(例:「排他的自己注意 (XSA) の追加」、「確率的重み平均化の使用」、「MLP行列での一次meta-gradient」)が記録されます。

始め方

# 1. リポジトリをクローン
git clone https://github.com/qlabs-eng/slowrun.git && cd slowrun

# 2. 依存関係をインストール (Python 3, PyTorch, HuggingFace, wandbなど)
pip install -r requirements.txt

# 3. 100 MトークンのFineWebサブセットをダウンロードして準備
python prepare_data.py

# 4. トレーニングを開始 (例: limited-computeトラック)
#    8-GPUノードが必要です。torchrunがGPUごとに1つのプロセスを生成します。
HF_TOKEN=… WANDB_API_KEY=… torchrun --standalone --nproc_per_node=8 train.py
  • train.py を目的のトラックのスクリプト(tiny/train.pytwo_hour/train.py、または unlimited/train.py)に置き換えてください。
  • データセットアクセス用のHugging Faceトークン (HF_TOKEN) と、実験ログが必要な場合はWeights & Biases APIキー (WANDB_API_KEY) を設定してください。

リーダーボードからの主な知見

トラック ベスト検証損失 (README時点) 達成に寄与した注目すべきトリック
Limited (1 h) 3.183 MLP行列でのmeta-gradient, 排他的自己注意, MuonEq-R, 加重チェックポイント平均化
Tiny (15 min) 3.295 fp8混合精度, 2×再帰, XSA, SWA, EMA
Two-hour 3.139 インターリーブヘッドアテンション, ドキュメントレベルのシャッフル, コンテキストウィンドウスケジューリング
Unlimited 2.987 大規模アンサンブル, スナップショットアンサンブル, 勾配ベースのモデル選択, 広範なハイパーパラメータ調整

利用状況 – このプロジェクトはQ-Labsエンジニアリングチームのメンバーによって支援されており、Andrej Karpathy氏(発表をリツイート)からも注目を集めています。貢献者はXのハンドル名でリストされており、多くは斬新なオプティマイザやアーキテクチャのアイデアを試している現役のAI研究者です。

貢献方法 – リポジトリをフォークし、適切な train.py を修正(または新しいスクリプトを追加)し、トラックの時間制限内でより低い検証損失を達成して、pull-requestを開いてください。メンテナーが(提供されたHFトークンとwandbログを使用して)実行を検証し、成功すれば世界記録テーブルにエントリーを追加します。


TL;DR – Slowrunは、マルチGPU H100ノード(またはクラウド上の同等環境)にアクセスできる人なら誰でも、データ制約下で重量級のトレーニング手法を試すことができるライブベンチマークです。現在のトラックのベスト検証損失を上回るPRを提出することで、リーダーボードにランクインし、計算リソースが唯一の制限要因である場合にどのアルゴリズムのアイデアが真にスケールするかをコミュニティが理解する手助けができます。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト