本インサイトの概要

 大規模言語モデル(LLM)の活用が広がるにつれ、「既存モデルを自社データでどのように強化するか」は、多くの組織にとって現実的な検討テーマになりつつある。その中で近年、継続事前学習(continued pretraining)は、ファインチューニングやLoRAと並ぶ有力な選択肢として注目を集めている。

 継続事前学習は、既存のベースLLMモデルに対して、新たな大規模コーパス(大規模資料)を用いて事前学習と同じ目的関数(主に次トークン予測)で学習を継続する手法である。指示追従や出力形式を調整するファインチューニングとは異なり、モデルの内部表現や知識分布そのものに影響を与える点が特徴だ。そのため、ベースLLMへの専門領域の知識注入や、特定領域における言語分布への適応といった目的において、高い効果が期待できる。

(教師なし)継続事前学習(教師あり)ファインチューニング
モデルの内部知識分布自体を変更する
ある単語の次に予測される単語の出現を調整する
出力形式の調整
入力に対応する出力の形式の調整

 もっとも、継続事前学習には極めて高価なGPUが求められ、それらを運用するための機械学習やインフラに関する専門知識が求められる。GPUメモリ容量、各種パラメータ設定、複数GPU使用時の通信帯域といった要素が密接に絡み合い、想定以上に設計難易度やコストが跳ね上がるケースも少なくない。特にモデルサイズが数十億パラメータ規模になると、GPU選定を誤っただけで、メモリ不足により学習が開始されない、あるいは著しく非効率になるといった問題に直面しやすい。

 2026年1月現在、継続事前学習に関する日本語資料はいまだに十分とは言えない。本インサイトでは、LLMの継続事前学習を前提に、モデルサイズとGPU選択の関係、およびそれが学習コストにどのような影響を与えるかを整理する。

LLM継続事前学習で使用される主なGPU

 継続事前学習で使用されるGPUで実務上の選定対象となりうるものとして、いずれもNVIDIA製のL40SおよびA100、H100、B200が挙げられる。

L40SA100H100B200
搭載メモリ48GB80GB80GB/94GB180GB
メモリ帯域864 GB/s1,935 GB/sまたは2,039 GB/s3.35 TB/sまたは3.9 TB/s8 TB/s
GPU間接続NVLinkなしNVLinkありNVLinkありNVLinkあり
MIG非対応最大7最大7最大7

1. 搭載メモリ

 GPU上に直接載っているメモリ容量のことである(例:48GB、80GB、180GB など)。継続事前学習では、主に以下がすべて搭載メモリ上に同時に存在します。

  • モデルの重み(parameters)
  • 勾配(gradients)
  • オプティマイザの状態(Adamのm/vなど)
  • 活性(activations:文脈長・バッチサイズに依存)

 搭載メモリが不足する場合、実行のためのメモリ不足を意味するOOM(Out of Memory)に陥り、学習自体が開始できないため、継続事前学習を行うにあたっては最も前提となる指標の一つである。

2. メモリ帯域

 GPU内部で、計算ユニットとメモリの間をデータがどれだけ速く往復できるかを表す指標であり、世代が新しいほど帯域が太く、同じ設定でも学習が速く進みやすい傾向にある。メモリ帯域=「載っているデータを、どれだけスムーズに使い回せるか」と理解して差し支えない。

3. GPU間接続(NVLink など)

 GPU同士を直接つなぐ専用の高速インターコネクトを意味する。単一GPUでの学習ではメモリが不足する場合には複数のGPUを使用する必要があるが、それら複数のGPUを接続するための規格を意味する。複数GPUでデータ並列(Data Parallel)を行うために必要である。NVLinkが対応しているGPUであれば勾配同期やパラメータ共有のオーバーヘッドが小さく、GPU間通信が非常に高速に行われ、学習が高速に進行する。一方、NVLinkが対応していない複数GPU学習の場合は「各GPUの単独の計算は速いものの通信待ちで止まる」状態になりやすい。

4. MIG(Multi-Instance GPU)

 1枚のGPUを、複数の小さなGPUとして分割して使う機能である。学習ではなく推論サーバで複数ユーザーにGPUを分けたい、小規模な学習や検証を並列に回したい場合に利用されるものであり、継続事前学習は単一ジョブでメモリ全体を100%使い切ることが多いため、基本的に問題として取り上げることはない。

PCIeとSXMの違い

 主要クラウドでは同じ「H100」等の同種GPUインスタンスでもPCIe構成とSXM構成(SXM5等)での選択オプションが区別されることがある。継続事前学習においては、SXM構成は、複数GPUがNVLink + NVSwitchで密に結ばれる前提になり、学習が高速に進行しやすい。したがって複数GPUを用いた分散並列学習であれば、SXM構成を選択するべきである。

継続事前学習に最低限必要なVRAMメモリ数の予測

理論上の計算

 自社の継続事前学習にどの程度のGPUスペックが最低限必要かを予測するためには、継続事前学習を施す予定のベースモデルパラメータ数Pだけでも一定程度の予測をつけることは可能である。なお、学習させたい資料のサイズ(トークン数)は必要GPUメモリ数には基本的に影響を及ぼさず、学習時間に対して影響するにすぎないことが多い。これを踏まえて、非常に大雑把な計算ではあるが、学習時VRAMは大きく分けて

  • 重み(params)
  • 勾配(grads)
  • オプティマイザ状態(optimizer states)
  • (実装によっては)FP32のマスター重み

が、モデルサイズP(パラメータ数)に比例して乗る。bf16/fp16 + AdamW の典型(最もよくあるケース)的な設定の場合、1パラメータ(モデル名によく記載される1Bは10億パラメータであるためその10億分の1)あたりの目安(bytes/param):

  • 重み bf16:2
  • 勾配 bf16:2
  • Adamの m, v(fp32):4 + 4 = 8
    → 合計 12 bytes/param

と計算することが可能である。そして、以下の計算式に代入すると

VRAMGiBP×(bytes/param)/230必要VRAM(GiB) ≈ P × (bytes/param) / 2³⁰

例:bf16 + AdamW(12 bytes/param)の場合に結論として(1GiB = 2³⁰bytes、1GB = 10⁹bytes、2進と10進の違いであるがここでは概ね同等の単位と理解して差し支えない)

  • 1B:約 11.2 GiB
  • 3B:約 33.5 GiB

の最低限のVRAMが必要ということになる。この場合、「理論上」はVRAMが40GBのL40S単独1枚で実施が可能となる。もっとも、実際的にはL40S単独1枚での学習が実現するのは1Bまでであり、2B以上のモデルではほとんど不可能であるのが実情である。実際の学習ではほぼ確実に多大な一時バッファなどの追加分が必要というのが実感覚である。入力の長さ(max_seq_lengthシーケンス長)やバッチサイズに強く依存するわけである。

当社実施の実際のケース

 継続事前学習におけるGPU選定は、理論上の計算量以上に「学習時メモリがどこで限界を迎えるか」に左右される。ここでは当社で実際に実施したケースを、ひとつの実務的な目安として紹介する。

 当社環境において、Llama系の1B(10億)パラメータ級モデルに対し、学習データ総量10億トークンを max_seq_length=4096 で継続事前学習させたところ、L40S単独1枚で学習ジョブは完走し、所要時間は33分だった(Zero/FSDPなどのメモリ最適化・シャーディング・省メモリ措置は未使用)。

 一方で、同じく当社環境において 3B(30億)パラメータ級モデルで同等の条件を試したところ、max_seq_length=4096 ではOOM(Out of Memory)で学習が開始できなかった。さらに、max_seq_lengthを2048に落としてもOOMが発生し、L40S単体・省メモリ措置なしという前提では、3B級モデルの継続事前学習は実務上成立しない結果となった。