自宅の10Gb/sスイッチで使っているMikroTik 10GBASE-T SFP+モジュールの高温対策として、Raspberry Pi用のミニヒートシンクを装着したところ、約3.5°Cの温度低下を確認。効果は劇的ではないものの、一定の改善が見られた。また、コミュニティの指摘から、SFP+モジュールにはMarvellチップ搭載の旧型(30m対応)とBroadcomチップ搭載の新型(100m対応)の2世代が存在することも紹介している。
gilesthomas-com
gilesthomas-com から 16 件
筆者は自宅のネットワークを2.5Gb/sから10Gb/sにアップグレードした経緯を詳述。既存の構内配線の種類が不明だったため、書斎内の配線から段階的に導入し、各部屋やパッチパネル、ISP側のルーターなどを順次10Gb/s対応機器に交換。SFP+モジュールやUSBドングルの発熱が課題となるも、最終的には3台のスイッチとルーターを経由した実測で8〜9Gb/sの速度を達成した。
ISPが10Gb/sプランを提供開始したのを機に、著者は自宅の有線ネットワークを10GbEへアップグレードする過程で得た知見を綴る。20年以上前から家庭や小規模オフィスで使われてきたギガビットイーサネット(1Gb/s)は安定しているが、10Gb/sへの移行は熱管理やケーブル規格(CAT-5Eでは非対応)など新たな課題を突きつける。本記事では、10GBASE-Tの熱問題、SFP+やDAC(ダイレクトアタッチ銅線ケーブル)、アクティブ光ケーブル(AOC)といった低消費電力な代替手段について、過去のネットワーク技術の歴史を振り返りながら解説する。
『Build a Large Language Model (from Scratch)』の付録を読み終えた。PyTorchの解説、DataLoader、DDP、勾配クリッピング、学習率スケジューリング、LoRAなど、多くの有用な内容があった。付録を先に読めば時間を節約できただろうが、自分で調べて実装することでより深く理解できたと感じている。
著者は、自前のマシンで44時間かけてトレーニングしたモデルがGPT-2 smallにほぼ匹敵する性能に達し、「スクラッチからのLLM構築」プロジェクトの介入シリーズを完了した。学習率調整、ドロップアウト除去、重み減衰などの様々な介入を試し、最終的にローカルトレーニングで良好な結果を得た。次は書籍の付録を確認し、最終目標としてJAXフレームワークを使用した完全独自実装に挑戦する予定。
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改善し、トレーニング中の損失スパイクも小さくなるなど、予想外の効果を示した。