LLMの学習方法
大規模コーパスを使った事前学習、教師ありfine-tuning、RLHFというLLM学習の各段階と、それぞれがモデルの挙動に重要な理由を学びます。
「LLMの学習方法」はCoddyKit上の無料AI Engineering Academyレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはAI Engineering Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 AI Engineering Academyコースには全4レッスンが含まれています。
LLM学習の3段階
LLMは3段階で構築されます。事前学習で言語と知識を学び、ファインチューニングで指示への従い方を学び、RLHFで人々の望みに合わせてモデルを調整します。
事前学習:大規模な次トークン予測
事前学習では、大量のテキストをモデルに与え、「次のトークンを予測する」という一つの仕事をさせます。この単純な目標だけで、学習の過程で文法、事実、推論を身につけられます。
学習データの品質とキュレーション
インターネット上の生のテキストは整理されていません。チームはデータパイプラインを使って、不要なデータの除外、重複排除、品質評価を行います。経験則では、より大きなモデルよりも、よりよいデータのほうが重要です。
損失関数と最適化
学習では交差エントロピー損失を最小化します。これは、モデルの予測が正しい次のトークンからどれだけ離れているかを表します。重みを少しずつ調整する作業を、何十億回も繰り返します。コードで数式を確認できます。
# Illustrative cross-entropy loss for a single token prediction
import math
vocab_size = 50000
correct_token_index = 4217 # index for the word 'Paris'
# Model output probabilities (softmax of logits)
model_probs = [0.00002] * vocab_size # simplified uniform base
model_probs[correct_token_index] = 0.70 # model is 70% confident in 'Paris'
loss = -math.log(model_probs[correct_token_index])
print(f'Cross-entropy loss: {loss:.4f}') # ~0.3567スケールによる創発的能力
十分な規模になると、段階的な推論のような新しい創発的能力が現れます。小さなモデルには単純に備わっていない能力です。誰かが直接教えたわけではなく、規模の拡大によって生まれました。
指示ペアによる教師ありファインチューニング
生のモデルは、単にテキストの続きを生成します。教師ありファインチューニングでは、(指示、理想的な回答)のペアで学習させるため、話を脱線させるのではなく、実際に回答する方法を学びます。
# Illustrative SFT data format
training_example = {
'messages': [
{'role': 'system', 'content': 'You are a helpful assistant.'},
{'role': 'user', 'content': 'What is the capital of France?'},
{'role': 'assistant', 'content': 'The capital of France is Paris.'}
]
}
# During SFT, loss is computed only on the assistant turn tokens
# The system and user tokens are provided as context but not trained onRLHF第1段階:報酬モデルの学習
RLHFは報酬モデルから始まります。人間が2つの回答からよりよいほうを選び、報酬モデルはその好みを予測するように学習します。これは人間の評価を代替するものです。
RLHF第2段階:PPOによるファインチューニング
次に、PPOによって、LLMが報酬モデルからより高い評価を得られるように調整します。KLペナルティによって、モデルが不自然に変化したり、本当に役立つのではなく報酬を不正に得たりすることを防ぎます。
Direct Preference Optimization:より簡単なRLHF
PPOは複雑です。DPOはより簡単な代替手法で、好ましい回答と拒否された回答のペアからモデルを直接学習させます。別途報酬モデルを用意する必要はありません。
Chinchillaスケーリング則:計算量に対して最適な学習
Chinchillaの研究結果によると、従来のモデルは学習不足でした。予算が決まっている場合は、データ量とモデルサイズを一緒に増やします。最良の結果を得るには、おおよそパラメーター1個あたり20トークンが目安です。
各学習段階が決めること
各段階にはそれぞれ役割があります。事前学習は何を知っているかを決め、ファインチューニングはどのように振る舞うかを決め、RLHFは価値観を決めます。これにより、どの部分を改善すべきかが分かります。
クイックチェック
このレッスンで学んだAI Engineeringの概念を理解できているか確認しましょう。
レッスンのまとめ
まとめ:事前学習は知識を構築し、ファインチューニングは指示に従う能力を構築し、RLHFまたはDPOはモデルを人間の価値観に合わせます。次は、LLMにできることとできないことを学びます。💡
よくある質問
「LLMの学習方法」レッスンは無料ですか?
はい。「LLMの学習方法」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、AI Engineering Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 AI Engineering Academyコースには全4レッスンが含まれています。
「LLMの学習方法」で何を学びますか?
大規模コーパスを使った事前学習、教師ありfine-tuning、RLHFというLLM学習の各段階と、それぞれがモデルの挙動に重要な理由を学びます。 ブラウザで直接実行するハンズオンコードでAI Engineering Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
AI Engineering Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのAI Engineering Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。
「LLMの学習方法」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このAI Engineering Academyレッスンでコードを書いて実行できますか?
はい。すべてのAI Engineering Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。