著者は、自前のマシンで44時間かけてトレーニングしたモデルがGPT-2 smallにほぼ匹敵する性能に達し、「スクラッチからのLLM構築」プロジェクトの介入シリーズを完了した。学習率調整、ドロップアウト除去、重み減衰などの様々な介入を試し、最終的にローカルトレーニングで良好な結果を得た。次は書籍の付録を確認し、最終目標としてJAXフレームワークを使用した完全独自実装に挑戦する予定。
gilesthomas-com
gilesthomas-com から 12 件
Sebastian Raschkaの書籍に基づくGPT-2-smallスタイルのLLM構築プロジェクトの一環で、命令ファインチューニングの評価方法を改善し、複数のモデル間で比較可能な結果を得るための新たなテストを実施。テスト損失と命令追従スコアの相関や、データセットの特性(FineWeb-Edu)がモデルの性能に与える影響について考察している。
GPT-2-smallスタイルのLLMを32億トークンで訓練し、57のチェックポイントで生成テキストの進化を観察。初期は無意味なトークンサラダだったが、訓練の約1/3(約10億トークン)で一貫したテキストを生成できるようになり、最終的にはより洗練された出力へと進化した。LLMは比較的早期に一貫性を獲得するが、正確性の向上にはさらなる訓練が必要である。
Sebastian Raschkaの書籍に基づいてGPT-2-smallスタイルのLLMを開発中。クラウドでのトレーニングで効果的な介入を特定した後、ローカルマシンで同等の品質を達成するため、バッチサイズを一致させる必要があった。RTX 3090では6シーケンスしか処理できないが、勾配蓄積を活用することで96の実効バッチサイズを実現し、クラウドトレーニングと同等のモデル品質をローカルで達成する方法を探る。
著者は、163MパラメータのGPT-2スタイルモデルに対して、勾配クリッピング、重み減衰の調整、ドロップアウトの削除、学習率のスケジューリング、QKVバイアスの追加など、複数の介入を組み合わせてクラウド上で訓練を実施。テストセットの損失が3.577761とこれまでで最良の結果を得たが、元のGPT-2の重みの性能にはまだ及ばなかった。
著者は、ゼロからトレーニングした163MパラメータGPT-2スタイルモデルの性能向上を目指し、勾配クリッピング、ドロップアウト削除、アテンション重みバイアス追加、学習率スケジューリング、重み減衰調整、重み共有、float32フル精度トレーニングなど、さまざまな介入を試した。結果、学習率スケジューリングが最も効果的だったが、改善幅は小さく、ランダムシードの違いによる初期重みの変動が結果に大きな影響を与える可能性があることが分かった。
この記事では、AMP(自動混合精度)と低精度行列乗算の最適化を無効にし、完全なfloat32精度でGPT-2小型ベースモデルを訓練した実験について報告しています。結果、テスト損失はわずかに改善したものの、訓練時間とコストが大幅に増加し、実用的なメリットは限定的であると結論づけています。
Lambda Labsで8x A100インスタンスを確保するため、利用可能になるまでAPIを監視し、起動時にTelegram通知を送信する自動化ツール「lambda-manager」を開発しました。現在の混雑状況では6時間経過してもまだ成功していませんが、トレーニング実行の機会を待っています。
Sebastian Raschkaの著書では、weight tying(重み共有)はパラメータ数を減らすが、モデルの性能を悪化させると指摘されている。しかし、著者は163Mパラメータの小さなモデルで実際に試し、この古典的な手法が有効かどうかを検証している。コード的には、埋め込み層の重みを出力層の重みとして転置して共有するだけで実装できる。
この記事では、GPT-2 smallベースモデルの訓練において、過学習を防ぐ正則化手法の一つである「weight decay」について探求しています。weight decayはモデルの重みの大きさ(L2ノルムの二乗)を損失関数に加えることでモデルの複雑さを抑制し、最適化の過程で自動的に適切なモデルサイズを見つけることを目指します。著者はAdamWオプティマイザにおけるweight decayの役割と、その値(0.1)が最適かどうかを検証しています。
この記事では、スクラッチから構築したGPT-2小型モデルの学習損失を改善する過程で、学習率の設定について探求しています。固定学習率の限界、学習率スケジューリング(ステップ減衰、指数減衰、コサイン減衰)、ウォームアップ戦略を解説し、Chinchilla論文で言及されたコサインサイクルについても考察します。適切な学習率の初期値を見つける難しさにも触れています。
GPT-2 smallモデルのテスト損失を改善するため、アテンション重み行列にバイアスを追加する実験を行った。QKVバイアスを有効にしたモデルは、ベースラインよりもテスト損失が0.023改善し、トレーニング中の損失スパイクも小さくなるなど、予想外の効果を示した。