計算予算から求めるエポック数
入力
| 計算予算 | 6,000 |
|---|---|
| パラメータ数 | 70 |
| データセットのトークン数 | 300 |
計算予算から求めるエポック数
学習の計算予算で何エポック学習できるかを求める。PFLOP/s日を6Nの法則で学習可能トークン数に換算し、データセットのトークン数で割る。
入力
予算
結果
値を入力すると計算結果が表示されます。
計算予算から求めるエポック数
固定された計算予算と固定されたデータセットは、合わせてモデルがデータを何回読み込めるかを決めます。学習の計画は多くの場合この問いに帰着します。すなわち、これだけのPFLOP/s日の割当、既知の規模のモデル、既知のトークン数のデータセットが与えられたとき、何エポックが可能かという問いです。本ツールは、標準的なコストモデルで予算を学習可能トークン数に換算し、データセットの規模で割ることでこれに答えます。
計算量、トークン、エポック
学習の計算量は通常PFLOP/s日(1ペタフロップ毎秒を1日継続した量)で割り当てられます。1回の学習ステップの主要なコストは、トークンごとパラメータごとに6回の浮動小数点演算でよく近似されます。内訳は前向き計算に2回、逆伝播に約4回です。この法則によって計算予算は直接トークン数に変換されます。演算回数で表した予算を1トークンあたりのコストで割ったものが、予算で学習できるトークン数だからです。その学習可能トークン数をデータセットの規模で割ると、走査回数、すなわちエポック数が得られます。
計算式
をPFLOP/s日単位の予算、 を十億単位のパラメータ数、 を十億トークン単位のデータセットとします。一つの PFLOP/s日は 演算に等しく、六演算の比率では 十億パラメータは となるため、学習可能トークン数 (十億)とエポック数 は次のように表されます。
Be=6⋅N⋅1018C⋅8.64×1019=DB計算例
6,000 PFLOP/s日の予算、700億パラメータのモデル、3,000億トークンのデータセットを考えます。
Be=6⋅70⋅10186000⋅8.64×1019≈1234.3 十億トークン=3001234.3≈4.11 エポックこの予算は約1.23兆の学習可能トークンをまかない、3,000億トークンのデータセットを約4回走査することに相当します。1をこれほど大きく上回る結果は、利用可能な計算量に対してデータセットが小さいことの表れです。
結果の読み方
エポック数が1に近い場合は、予算がデータの1回走査に見合っていることを意味し、これは大規模モデルの計算最適なレシピが好む領域です。1を大きく上回る場合は、データを数回繰り返すだけの計算量があることを意味します。繰り返しのトークンより新しいトークンの方が情報量が多いため、これは同じコーパスを巡回するより一意なデータを増やすべきことを示すことが多いです。1未満の場合は予算が1回の走査すらまかなえないため、より小さなモデル、データの一部、または追加の計算量が必要です。予算に対するモデル規模とトークン数の見合った組合せは計算最適なモデルサイズで扱います。
限界
この推定はトークンごとパラメータごと6演算の近似を用い、予算全体が有用な学習に使われると仮定します。実際の学習はピークスループットの一部しか維持できず、通信やパイプラインのオーバーヘッドで時間を失い、評価や再起動にも計算量を費やすため、達成可能なエポック数はこの上限より低くなります。あるモデル規模に対する計算最適なトークン目標値、すなわちデータセットの十分さを判断する基準はChinchilla最適トークン数で得られます。
よくある質問 (FAQ)
計算予算からエポック数はどのように導かれますか。
PFLOP/s日単位の計算予算は、まず生の浮動小数点演算回数に換算します。1 PFLOP/s日は8.64 × 10^19演算です。標準的なコストモデルでは、完全な学習ステップ1回についてトークンごとパラメータごとに約6回の演算がかかるとみなすため、予算をパラメータ数の6倍で割ると学習可能なトークン数が得られます。
その学習可能トークン数をデータセットの規模で割ると、予算でまかなえる走査回数、すなわちエポック数が求められます。
1エポックを超えて学習するのは望ましいですか。
大規模モデルの計算最適なレシピでは、繰り返しのトークンより新しいトークンの方が情報量が多いため、非常に大きくほぼ一意なデータセットを1回走査する方法が好まれます。データが限られている場合は、数エポック繰り返してもモデルを改善できますが、同じトークンを再び処理するほど効果は逓減します。
本ツールが多くのエポック数を可能と示す場合、それは通常、予算に対してデータセットが小さいことを意味し、既存データを繰り返すより一意なデータを増やす方が計算資源を有効に使えることを示唆します。
エポック数が1未満であるとは何を意味しますか。
1未満の値は、選んだモデル規模ではデータセットを1回も完全に走査できないことを意味します。実用的な対応は、コストがパラメータ数に比例することからモデルを小さくする、データの一部だけを使う、または計算予算を増やすことです。与えられた予算に対する計算最適なモデル規模は別の問題であり、関連するモデル規模の計算で扱います。
免責事項
これは標準的な6N FLOPs/トークンの近似を用いており、ピーク未満の実効率、アテンション項、評価などのオーバーヘッドを無視しています。実際の学習はピークスループットの一部しか達成できないため、エポック数は計画上の上限値として扱ってください。