ホーム AI・LLM 実効バッチサイズの計算 作成日: 2026年7月20日 21:33 実効バッチサイズの計算 入力 デバイスごとのマイクロバッチ8データ並列のデバイス数64勾配累積ステップ数4系列長4,096 AI・LLM 実効バッチサイズの計算 デバイスごとのマイクロバッチ、データ並列のデバイス数、勾配累積ステップ数から、分散学習における実効(グローバル)バッチサイズを求める。オプティマイザの1ステップあたりのトークン数も併せて算出する。 入力 並列構成 デバイスごとのマイクロバッチ 各アクセラレータが1回の順伝播と逆伝播で処理する系列数(マイクロバッチ)。デバイスのメモリ容量によって上限が決まる値である。 データ並列のデバイス数 モデルの複製を保持し、互いに異なるマイクロバッチを並列に処理するアクセラレータの台数。各ステップで勾配が平均される。 勾配累積ステップ数 ≥ 1 1回のオプティマイザ更新の前に勾配を合算する順伝播・逆伝播の回数。累積はメモリ使用量を増やさずに実効バッチを拡大する。 系列 系列長 バッチ内の1系列あたりのトークン数。実効バッチにこの長さを掛けると、オプティマイザの1ステップで処理されるトークン数が得られる。 結果 値を入力すると計算結果が表示されます。 実効バッチサイズ 1回のオプティマイザ更新に寄与する系列数。8×64台×4累積ステップで、...となる。 1ステップあたりトークン数 1回のオプティマイザ更新で処理されるトークン数。実効バッチ...系列に1系列あたり4,096トークンを掛けて、...となる。 共有 レポートを印刷 リセット 埋め込み この計算機を埋め込む プレビュー このコードをページに貼り付けると計算機を表示できます。 コードをコピー この計算を共有 このリンクを開くと、入力した値がそのまま表示されます。 リンクをコピー 共有する XFacebookLINE メール 最終更新: 2026-06-22 実効バッチサイズ 実効バッチサイズとは、1回のオプティマイザ更新に寄与する学習サンプルの数です。1台のデバイス上ではマイクロバッチに等しくなりますが、分散学習では作業を多数のアクセラレータに分散させ、しばしば複数回の順伝播・逆伝播を合算してから重みを1回更新します。そのため、オプティマイザが実際に扱うグローバルバッチは、1枚のチップに収まる量の数百倍にもなり得ます。この計算機は、そのグローバルな値と、それが表すトークン数を、3つの乗数から再構成します。 グローバルバッチが重要な理由 文献に記載されている学習率スケジュール、ウォームアップ長、収束に関する結果のほとんどは、デバイスごとのマイクロバッチではなくグローバルバッチを基準として述べられています。実効バッチを計算し直さずにデバイスを8台から64台へ増やすと、最適化の挙動が知らないうちに変わります。同じコードが1更新あたり8倍大きいステップを踏むことになり、発散したり停滞したりする恐れがあります。したがって実効バッチを把握することは、学習率の調整、公表されたレシピの再現、異なるクラスタ規模での2つの実行の比較を行ううえで前提となります。 計算式 3つの独立した因子が掛け合わされます。デバイスごとのマイクロバッチを bb、データ並列の複製数を dd、勾配累積ステップ数を aa とすると、実効バッチ BB と、系列長 LL におけるオプティマイザ一ステップあたりのトークン数 TT は次のようになります。 B=b⋅d⋅aT=B⋅L\begin{aligned} B &= b \cdot d \cdot a \\ T &= B \cdot L \end{aligned}BT=b⋅d⋅a=B⋅L 各データ並列の複製は自身のマイクロバッチを処理し、勾配が平均されるため、複製数はバッチを倍加させます。累積は aa 回連続する順伝播・逆伝播を1更新の前に合算するため、さらに倍加させます。トークン数は単に系列数に各系列の長さを掛けたものです。 計算例 64台のデバイスそれぞれで8系列のマイクロバッチを処理し、累積ステップを4、コンテキスト長を4,096トークンとします。 B=8×64×4=2048T=2048×4096=8,388,608\begin{aligned} B &= 8 \times 64 \times 4 = 2048 \\ T &= 2048 \times 4096 = 8{,}388{,}608 \end{aligned}BT=8×64×4=2048=2048×4096=8,388,608 どの1台のデバイスも同時に8系列を超えて保持することはありませんが、オプティマイザは1更新あたり2,048系列、すなわち約840万トークンを扱います。累積ステップを8へ倍増すれば、デバイスごとのメモリを変えることなく実効バッチを4,096へ引き上げられますが、更新と更新の間の順伝播・逆伝播が2倍になります。 限界 このモデルは、グローバルバッチを変化させる2つの因子、すなわちデータ並列の複製と勾配累積を対象とします。テンソル並列、パイプライン並列、系列並列は意図的に無視しています。これらは単一のモデルや系列をデバイス間に分割してメモリに収めるものであり、グローバルバッチを拡大しません。したがって、複製が分割されているデバイスを dd に数えてはなりません。トークン数の算出は系列長が一定であることも前提としており、可変長やパッキングされたバッチには別途のトークン集計が必要です。デバイスを増やしたときにスループットがどう伸びるかはデータ並列スケーリングの計算で扱います。 よくある質問 (FAQ)実効バッチサイズとは何ですか。実効バッチサイズ(グローバルバッチサイズ)とは、1回のオプティマイザ更新に寄与する学習サンプルの総数です。分散学習では、デバイスごとのマイクロバッチにデータ並列の複製数と勾配累積ステップ数を掛けた値になります。これは、それらすべての順伝播・逆伝播が合算されてから初めて重みが1回更新されるためです。 学習率のスケーリングや再現性において重要なのは、1台のデバイスに収まる小さいマイクロバッチではなく、この実効バッチサイズの値です。 なぜ勾配累積を使うのですか。勾配累積は、複数回の順伝播・逆伝播を実行して勾配を合算してから1回のオプティマイザ更新を適用する手法であり、活性化を同時に多くメモリに保持することなく実効バッチを拡大します。メモリに制約のある環境でも、より大規模なクラスタにおける大バッチの挙動を再現できますが、その代償として1更新あたりの実時間が長くなります。 トレードオフはスループットとメモリの関係にあります。各累積ステップは実際の計算ですが、1サイクルにつきオプティマイザ更新と通信はそれぞれ1回しか発生しません。 バッチサイズと1ステップあたりトークン数はどう違いますか。バッチサイズは系列数を数えるのに対し、1ステップあたりトークン数は、それらの系列に含まれる個々のトークン数、すなわちバッチに系列長を掛けた値を数えます。トークン予算の設計や公表されている多くの学習率スケジュールはトークン単位で記述されているため、トークン数のほうが移植性の高い指標となる場合が多いです。系列数が同じでも系列長が異なる2つの実行は1ステップあたりのトークン数が異なるため、ここでは両方の値を表示しています。 免責事項 この計算機が対象とするのはデータ並列の複製と勾配累積のみである。テンソル並列、パイプライン並列、系列並列はモデル化しない。これらはグローバルバッチをデバイス間でどう分割するかを変えるが、グローバルバッチそのものは変えない。使用するフレームワークがマイクロバッチと累積を同じ定義で数えているか確認すること。 次のおすすめ 勾配累積のメモリ計算 マイクロバッチサイズ、累積ステップ数、データ並列の複製数、サンプルあたりのアクティベーションコストから、勾配累積によって到達する実効バッチサイズと、それに要するアクティベーションメモリを計算します。 詳しく解説データ並列スケーリングの計算 デバイスごとのスループットとスケーリング効率から、データ並列デバイス全体の実際の学習スループットを見積もる。理想的な線形スループットと、1台のデバイスに対して達成された高速化倍率も併せて算出する。 詳しく解説 200+ ツール · 10 言語対応 · 完全無料 学習・スケーリングの他の計算 Chinchilla最適トークン数LLMトレーニングVRAMの計算LoRA の学習パラメータ数を計算データセットのトークン数の計算データ並列スケーリングの計算実効バッチサイズの計算 +6 more Show less パイプライン並列のバブルの計算学習FLOPsの計算学習率ウォームアップの計算計算最適なモデルサイズ計算予算から求めるエポック数勾配累積のメモリ計算 AI・LLMの他のカテゴリ コスト・料金 1ドルあたりトークン数の計算GPU クラウド費用を計算GPU利用率コストの計算LLMファインチューニング費用の計算LLMレート制限の計画LLM学習のカーボンフットプリントの計算LLM学習時間とコストの計算LLM月額コストの計算エージェントコストの計算コンテキストコストの増加の計算コンテキスト長の判定システムプロンプトの償却コストトークンから単語数への変換トークンコスト計算バッチAPIの節約額の計算プロンプトキャッシュの節約額の計算ベクトルDBコストの計算ベクトルDBサイズの計算音声合成コストの計算音声文字起こしコストの計算画像生成コストの計算関数呼び出しのトークンオーバーヘッド構造化出力のトークンオーバーヘッド自己ホストとAPIの損益分岐の計算推論エネルギーコストの計算埋め込みコストの計算推論・サービング トークンあたりFLOPsの計算バッチ推論スループットの計算モデルFLOPs利用率の計算画像入力トークン数の計算実効トークン毎秒の計算推論スループットの計算推論レイテンシの計算投機的デコーディングの高速化の計算ハードウェア・メモリ KVキャッシュサイズの計算LLM推論のVRAM計算MoE のアクティブパラメータ数を計算Transformerのパラメータ数の計算アテンションメモリの計算モデルに必要なGPU台数の計算モデルのダウンロード時間の計算量子化によるモデルサイズの計算RAG・埋め込み RAGチャンク分割の設計評価 A/Bテスト有意性の計算LLM評価のサンプルサイズの計算pass@k の計算パープレキシティの計算すべてのツール コサイン類似度の計算 この計算機は役に立ちましたか? 役に立った 改善が必要 改善が必要 どのような点が改善されると良いですか? フィードバックを送信 Powered by OneCalc ↗
最終更新: 2026-06-22 実効バッチサイズ 実効バッチサイズとは、1回のオプティマイザ更新に寄与する学習サンプルの数です。1台のデバイス上ではマイクロバッチに等しくなりますが、分散学習では作業を多数のアクセラレータに分散させ、しばしば複数回の順伝播・逆伝播を合算してから重みを1回更新します。そのため、オプティマイザが実際に扱うグローバルバッチは、1枚のチップに収まる量の数百倍にもなり得ます。この計算機は、そのグローバルな値と、それが表すトークン数を、3つの乗数から再構成します。 グローバルバッチが重要な理由 文献に記載されている学習率スケジュール、ウォームアップ長、収束に関する結果のほとんどは、デバイスごとのマイクロバッチではなくグローバルバッチを基準として述べられています。実効バッチを計算し直さずにデバイスを8台から64台へ増やすと、最適化の挙動が知らないうちに変わります。同じコードが1更新あたり8倍大きいステップを踏むことになり、発散したり停滞したりする恐れがあります。したがって実効バッチを把握することは、学習率の調整、公表されたレシピの再現、異なるクラスタ規模での2つの実行の比較を行ううえで前提となります。 計算式 3つの独立した因子が掛け合わされます。デバイスごとのマイクロバッチを bb、データ並列の複製数を dd、勾配累積ステップ数を aa とすると、実効バッチ BB と、系列長 LL におけるオプティマイザ一ステップあたりのトークン数 TT は次のようになります。 B=b⋅d⋅aT=B⋅L\begin{aligned} B &= b \cdot d \cdot a \\ T &= B \cdot L \end{aligned}BT=b⋅d⋅a=B⋅L 各データ並列の複製は自身のマイクロバッチを処理し、勾配が平均されるため、複製数はバッチを倍加させます。累積は aa 回連続する順伝播・逆伝播を1更新の前に合算するため、さらに倍加させます。トークン数は単に系列数に各系列の長さを掛けたものです。 計算例 64台のデバイスそれぞれで8系列のマイクロバッチを処理し、累積ステップを4、コンテキスト長を4,096トークンとします。 B=8×64×4=2048T=2048×4096=8,388,608\begin{aligned} B &= 8 \times 64 \times 4 = 2048 \\ T &= 2048 \times 4096 = 8{,}388{,}608 \end{aligned}BT=8×64×4=2048=2048×4096=8,388,608 どの1台のデバイスも同時に8系列を超えて保持することはありませんが、オプティマイザは1更新あたり2,048系列、すなわち約840万トークンを扱います。累積ステップを8へ倍増すれば、デバイスごとのメモリを変えることなく実効バッチを4,096へ引き上げられますが、更新と更新の間の順伝播・逆伝播が2倍になります。 限界 このモデルは、グローバルバッチを変化させる2つの因子、すなわちデータ並列の複製と勾配累積を対象とします。テンソル並列、パイプライン並列、系列並列は意図的に無視しています。これらは単一のモデルや系列をデバイス間に分割してメモリに収めるものであり、グローバルバッチを拡大しません。したがって、複製が分割されているデバイスを dd に数えてはなりません。トークン数の算出は系列長が一定であることも前提としており、可変長やパッキングされたバッチには別途のトークン集計が必要です。デバイスを増やしたときにスループットがどう伸びるかはデータ並列スケーリングの計算で扱います。 よくある質問 (FAQ)実効バッチサイズとは何ですか。実効バッチサイズ(グローバルバッチサイズ)とは、1回のオプティマイザ更新に寄与する学習サンプルの総数です。分散学習では、デバイスごとのマイクロバッチにデータ並列の複製数と勾配累積ステップ数を掛けた値になります。これは、それらすべての順伝播・逆伝播が合算されてから初めて重みが1回更新されるためです。 学習率のスケーリングや再現性において重要なのは、1台のデバイスに収まる小さいマイクロバッチではなく、この実効バッチサイズの値です。 なぜ勾配累積を使うのですか。勾配累積は、複数回の順伝播・逆伝播を実行して勾配を合算してから1回のオプティマイザ更新を適用する手法であり、活性化を同時に多くメモリに保持することなく実効バッチを拡大します。メモリに制約のある環境でも、より大規模なクラスタにおける大バッチの挙動を再現できますが、その代償として1更新あたりの実時間が長くなります。 トレードオフはスループットとメモリの関係にあります。各累積ステップは実際の計算ですが、1サイクルにつきオプティマイザ更新と通信はそれぞれ1回しか発生しません。 バッチサイズと1ステップあたりトークン数はどう違いますか。バッチサイズは系列数を数えるのに対し、1ステップあたりトークン数は、それらの系列に含まれる個々のトークン数、すなわちバッチに系列長を掛けた値を数えます。トークン予算の設計や公表されている多くの学習率スケジュールはトークン単位で記述されているため、トークン数のほうが移植性の高い指標となる場合が多いです。系列数が同じでも系列長が異なる2つの実行は1ステップあたりのトークン数が異なるため、ここでは両方の値を表示しています。 免責事項 この計算機が対象とするのはデータ並列の複製と勾配累積のみである。テンソル並列、パイプライン並列、系列並列はモデル化しない。これらはグローバルバッチをデバイス間でどう分割するかを変えるが、グローバルバッチそのものは変えない。使用するフレームワークがマイクロバッチと累積を同じ定義で数えているか確認すること。