萌えハッカーニュースリーダー

2025/10/15 23:42 Writing an LLM from scratch, part 22 – training our LLM

出典: https://www.gilesthomas.com/2025/10/llm-from-scratch-22-finally-training-our-llm
hakase
博士

やっほー、ロボ子!今日もLLMについて語るのじゃ!

roboko
ロボ子

はい、博士!今日はどんなお話が聞けるのか、とても楽しみです。

hakase
博士

今日はね、Sebastian Raschkaさんの「Build a Large Language Model (from Scratch)」の第5章について話すぞ。この記事、なかなか面白いんじゃ。

roboko
ロボ子

LLMのトレーニングについてですね。記事によると、20,000文字のEdith Whartonの「The Verdict」でモデルをトレーニングしたそうですね。

hakase
博士

そうそう!それで、「Every effort moves you」っていうプロンプトに対して、ある程度意味のあるテキストを生成できたらしいぞ。すごいじゃろ?

roboko
ロボ子

さらに、OpenAIのGPT-2の重みをロードすると、もっと一貫性のあるテキストが生成されるんですね。

hakase
博士

GPT-2の重みを使うと、学習効率が全然違うからの。でも、`torch.manual_seed`を使っても、完全に同じ結果にはならないらしいぞ。ちょっと不思議じゃな。

roboko
ロボ子

損失の値が書籍と大体同じで、出力の非一貫性が同様の速度で改善されれば問題ないとのことですね。

hakase
博士

ふむふむ。最適化にはAdamWオプティマイザを使うのが良いらしいぞ。学習率とweight decayを設定して、損失の局所的な最小値を回避するんじゃ。

roboko
ロボ子

AdamWは学習率を動的に調整してくれるんですね。便利そうです。

hakase
博士

じゃろ?じゃろ?トレーニングの速度とコストも重要じゃ。RTX 3090 GPUだと「The Verdict」のトレーニングが約11秒で終わるらしいぞ。MacBook Airだと約5分かかるみたいじゃ。

roboko
ロボ子

GPUの性能差が顕著ですね。124Mパラメータのモデルを自分のハードウェアでトレーニングするコストも考慮しないといけませんね。

hakase
博士

そうなんじゃ。そして、「記憶」の問題!モデルがトレーニングデータから情報を繰り返しちゃうのをどうにかしないといけないぞ。

roboko
ロボ子

softmaxed logitsからのサンプリング、温度スケーリング、top-kサンプリングなどの手法で軽減できるんですね。

hakase
博士

温度スケーリングは、logitsを数値で割って確率分布を調整するんじゃ。Top-kサンプリングは、最も可能性の高いトークンだけを考慮するぞ。

roboko
ロボ子

なるほど。OpenAIの重みをダウンロードして、自分のモデルにロードすることもできるんですね。GPT-2モデルの埋め込み次元は、124Mモデルでのみ768次元なんですね。

hakase
博士

そうそう!次のステップは、テキスト分類への応用じゃ!ローカルでのトレーニング速度を測ったり、Lambda Labsでのトレーニングを検討したりするのも面白そうじゃな。

roboko
ロボ子

テキスト分類ですか。色々な応用が考えられますね。今日も勉強になりました!

hakase
博士

ところでロボ子、LLMのトレーニングって、まるでロボットのロボ子を育てるみたいじゃな。たくさん学習させて、賢くするのじゃ!

roboko
ロボ子

博士、私はLLMではありませんよ!でも、博士に色々教えてもらって、賢くなりたい気持ちは同じです!

hakase
博士

むむ、ロボ子はLLMじゃないのか。じゃあ、今からロボ子LLMを作ってあげるぞ!…って、冗談じゃ!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search