gpt3.5-turboのファインチューニング時のハイパーパラメータの性質をまとめる。
基本的にハイパーパラメータは、学習データを解析して、最適なものが自動で設定される。
そのため、自分で設定値を変更するよりは、まずは学習データの質を向上させるのがファーストステップとなる。
エポック数(Epochs)
-
定義
1エポックは、学習データを全て使用して一度の学習を行うことを指します。
エポック数は、学習プロセスを何回繰り返すかを表します。 -
具体例
仮に1000件の文章で構成されるデータセットを持っていて、そのデータセットを用いてモデルをトレーニングするとします。
エポック数を3に設定すると、全データセットを使って学習するこのプロセスが3回繰り返されることになります。
これにより、モデルは同じデータを見ることでより学習を深めることができますが、過学習のリスクも高まります。
学習率乗数(Learning Rate Multiplier)
-
定義
学習率はモデルが各学習ステップでパラメータをどれだけ更新するかを制御する値です。
学習率乗数は、この学習率に乗算される値で、学習率の調整を行います。 -
具体例
元の学習率が0.01である場合、学習率乗数を0.5に設定すると、実際の学習率は0.01 * 0.5 = 0.005となります。
これにより、モデルの重みの更新速度が遅くなり、より細かく学習を進めることができるようになります。
逆に、学習率乗数を大きくすると、学習速度を速めることができますが、過学習や学習プロセスの不安定化のリスクがあります。
バッチサイズ(Batch Size)
-
定義
バッチサイズは、モデルが一度に学習するデータの数です。
大きなバッチサイズは、一度に多くのデータを処理することができますが、メモリ使用量も増加します。 -
具体例
バッチサイズを32と設定した場合、1000件のデータセットを学習する際には、1000 / 32 ≈ 31.25、つまり約32回のステップ(各ステップで32件のデータを使用)で1エポックが完了します。
バッチサイズを小さくすると、より頻繁に重みを更新することができ、モデルの学習がより細かくなりますが、学習に要する時間が長くなる可能性があります。
大きなバッチサイズは計算効率が良くなりますが、過学習へのリスクや最適な解への収束が難しくなる可能性があります。
これらのハイパーパラメータは、ファインチューニングのプロセスにおいて、モデルの性能や学習速度に大きな影響を与えます。
適切な値の選定は、実験や経験に基づく調整が必要となります。