JA EN
体系LLM — 大規模言語モデル
·★ 会員·論文·15分で読めます

論文解説: Puro-2B — コンシューマGPUで2Bモデルを$6.9Kからゼロ事前学習する

ゲーミング向けGPUのRTX 5090で1.4兆トークンの事前学習を回し、Qwen2-1.5B級の性能に約$4.4Kで届いたという報告を、コスト構造・FP8・実効学習率・カリキュラム平均の順に1から解説する。

対象textタスクevaluation

Puro-2B: Poor Lab's Qwen2-1.5B Trained on RTX 5090 within $5090

一次資料 — この記事の根拠

論文の発表 2026-08-27この解説の公開 2026-09-03同月

Puro-2B: Poor Lab's Qwen2-1.5B Trained on RTX 5090 within $5090Kairong Luo, Jiarui Cui, Yaorui Yin ほか · 2026-08-27 · v1arXiv:2608.27370論文ページ·PDF
原文の要旨(Abstract)を読む

Language model pretraining has become almost synonymous with prohibitive cost, placing it out of reach for much of the academic and open-source communities. Although strong open-source efforts already exist, including open-weight models and open-source training recipes, a cost-efficient, hardware-accessible, and open-source pretraining recipe has long been missing. Even at a small scale, training Llama-3.2-3B costs over \$1.5M, and reproducing SmolLM3-3B needs over \$700K. In this report, we present an open pretraining recipe designed to lower this barrier. Using this recipe, we train a collection of Puro-2B models from scratch on up to 1.4 trillion tokens with FP8 precision on consumer-grade RTX 5090 GPUs. The models in the collection differ in token budgets and selected recipe variants. Our best model is trained at a compute cost of less than \$6.9K and approaches Qwen2.5-1.5B performance under our evaluation protocol. This cost efficiency is enabled by a combination of approaches, including hardware selection, low-precision training, hyperball optimization, curriculum model averaging, and the data recipe. Beyond the recipe itself, we provide two additional results. First, across the Puro-2B collection, we derive a Puro Cost Scaling Law that relates training cost to average model performance; the fitted law suggests that about \$4.4K, less than \$5,090, is sufficient to reach the performance of Qwen2-1.5B. Second, as an end-to-end case study, we examine how pretraining data curricula shape downstream performance after post-training. Such controlled studies are enabled by having access to the full pretraining pipeline rather than model weights alone. We release the full training recipe for Puro-2B, including data, code, and model weights under Apache 2.0 at https://huggingface.co/collections/thu-pacman/puro-2b.


「事前学習は資金のある者だけの遊び」への反証

原題は **"Puro-2B: Poor Lab's Qwen2-1.5B Trained on RTX 5090 within 5090"arXiv:2608.27370、清華大学・鵬城実験室、2026827日公開)。"PoorLab"は「貧乏な研究室」、"5090"**(arXiv:2608.27370、清華大学・鵬城実験室、2026年8月27日公開)。"Poor Lab" は「貧乏な研究室」、"5090" はGPU名 RTX 5090 と金額をかけた言葉遊びです。

要旨はこうです。事前学習は費用が法外で、学術界やオープンソース界隈の手の届かないところにある。オープンな重みや学習レシピを公開する試みはあるが、安価で、入手しやすいハードで動き、しかも公開されているレシピは長らく欠けていた。そこで著者らは、コンシューマ向けGPUのRTX 5090上でFP8精度を使い、最大1.4兆トークンをゼロから学習して Puro-2B というモデル群を作った。最良のモデルは計算コスト $6.9K 未満で、著者らの評価手順のもとで Qwen2.5-1.5B に迫る。さらに学習コストと平均性能を結ぶ「Puro コストスケーリング則」を当てはめると、4.4K4.4K(5,090 未満)で Qwen2-1.5B の性能に届くと示唆される。データ・コード・重みは Apache 2.0 で公開されています。

いくらかかるのかを数字で押さえる

論文がレンタル換算で挙げる再現コストは、Llama-3.2-3B が $1.5M 超、オープンレシピの OLMoE-1B-7B が $200K、SmolLM3-3B が 719Kです(§1)。対するPuro2Bの本番ランは、フェーズ124GPU438.84Bトークン、フェーズ296GPU959.99Bトークン。合計22,514GPU時間・約719K です (§1)。対する Puro-2B の本番ランは、フェーズ1が24GPUで438.84Bトークン、フェーズ2が96GPUで959.99Bトークン。合計 **22,514 GPU時間・約6.89K・実時間17.6日** (§2.1)。フェーズ2を480Bで打ち切った軽い方は $4.37K です。桁が2つ違いますが、効いているのは魔法ではなく、費用を構成する要素を別々に削ったことです。

桁の感覚は、後で出てくる実測スループット(GPUあたり中央値238 TFLOP/s)で割り戻すとつかめます。2B級を約1.4兆トークン回せば理論計算量はおよそ 1.7×10221.7\times10^{22} FLOP、これを238 TFLOP/sで割るとおよそ2万GPU時間で、実測の22,514時間と同じ桁に収まります。見積もりが実測と桁でずれたときは、たいてい実効スループットか学習トークン数のどちらかを取り違えている —— この検算は自分の計画にもそのまま使えます。

コストは「単価 × 時間」に分解できる

費用=(GPU 1時間あたりの価格)ハードウェア選択×C実効スループットGPU 時間\text{費用} = \underbrace{(\text{GPU 1時間あたりの価格})}_{\text{ハードウェア選択}} \times \underbrace{\frac{C}{\text{実効スループット}}}_{\text{GPU 時間}}
(1)

CC は理論計算量で、論文も使う慣例式 C=6NDC=6NDNN はパラメータ数、DD は学習トークン数)で見積もります。要するに、費用を下げる入口は4つある —— 単価を下げる、GPUを遊ばせない、同じ品質に届くのに必要なトークン数 DD を減らす、1トークンあたりの実行時間を縮める。論文の整理では、データ選択が必要トークン量を減らし、最適化とカリキュラムがトークンあたりの学びを増やし、FP8が利用率を上げ、ハード選択が計算単価を下げます (§1)。

4つ目までは直感的ですが、「同じ品質に届くトークン数」は学習率の設計に強く依存します。学習率は谷を下る一歩の大きさで、大きすぎれば飛び越えて発散し、小さすぎれば底に着かない。この一歩の設計が、そのまま必要計算量=お金になります。

FIG 1一歩の大きさ(学習率)を上げすぎると谷を飛び越える。事前学習ではこの設定が必要計算量、つまり費用に直結する

打ち手1: ゲーミングGPUを選ぶ

論文はデータセンター向けではなくRTX 5090クラスタを選びました (§3.1.1)。ピーク性能は BF16 209.5 / FP8 419 TFLOPS で H200(989.5 / 1979)に遠く及ばず、メモリも32GB、NVLinkもない。それでも実効価格が桁違いに安い($0.31/h 対 $4.00/h)ため、価格あたりの計算量では H200 の約2.7倍になります。ただしこの $0.31/h は公開レンタル価格ではなく、自前機材と電気代を5年償却した推定値だと明記されています。

代償は通信です。NVIDIAはドライバでコンシューマGPUのPCIe P2Pを塞いでおり、GPU間通信がホストメモリ経由になる。著者らは公開されている改造ドライバと設定変更(IOMMUとPCIe ACSの無効化、NUMA Per Socketの調整)でこれを開け、双方向帯域を32から111 GB/sへ改善しました (§3.1.2)。学習側では層ごとに通信が走るテンソル並列を捨て、データ並列とパイプライン並列だけを使い、計算の重いLMヘッドを含む段には層を少なく割り当てる。結果、GPUあたり中央値238 TFLOP/s、混合精度換算のMFU約73%に達しています (§3.1.3)。

この構成がどこで効かなくなるかも同時に読めます。テンソル並列を捨てられるのは、層の重みと最適化器状態が32GBに収まるうちだけ。そこを超えると通信の細さがそのまま学習不能に変わるので、同じ手が使えるのは「パイプライン並列で足りる」規模まで、というのが実務的な線引きになります。逆に言えば、この論文の結論を10B級にそのまま持ち込むのは筋が悪い。

打ち手2: ブロック単位FP8を最初から使う

BF16の準備運転を挟まず初期化直後からFP8を使いますが、FP8になるのはTransformer線形層のGEMMだけで、マスター重みや最適化器状態はBF16/FP32のまま。FP8は保存形式ではなくその場の計算形式という整理です (§3.2)。数値の潰れを防ぐため、テンソル全体で1スケールを共有せず、活性値と勾配は縮約方向の128要素ごと、重みは128×128ブロックごとにスケールを持ちます。

効果の測り方が丁寧です。5サイズを揃えた比較でFP8はBF16より検証損失が0.0031〜0.0039だけ悪い。これを「同品質に必要な計算量」に換算すると98.0%、つまり約2%余分に計算すれば追いつく。一方1.7Bでスループットは1.36倍なので、品質補正後の正味は1.34倍(同品質でGPU時間25.2%減)。精度を落とす手法はこう差し引いて評価すべきです。基礎は[混合精度学習](/ja/a/mixed-precision-training/)を参照してください。

この先にあるもの

§

ここから先は会員限定です

解説記事371本・教科書26章・学生モード48単元・論文精読6本が、月額¥490ですべて読み放題になります。新しい解説は毎日3本ずつ増えます。いつでも解約でき、解約後も期間の終わりまで読めます。

会員の方はログインすると続きが表示されます

参考文献

  1. Kairong Luo, Jiarui Cui, Yaorui Yin, Shengqi Chen et al.. (2026-08-27) Puro-2B: Poor Lab's Qwen2-1.5B Trained on RTX 5090 within $5090. arXiv:2608.27370論文ページ·PDF

本記事は上記論文の本文にもとづいて執筆しています。数値・主張は原典を優先してください。

コメント

コメントにはログインが必要です