Large language model — 大規模言語モデル
大規模言語モデル(large language model, LLM)は、機械学習モデルの一種であり、深層ニューラルネットワークを用いて実装され、多数のパラメータ(通常は数十億以上)を持ち、大規模なテキストデータで訓練されたものを指します。「大規模」とは、この文脈ではパラメータの規模と、現代のシステムでは数ペタバイト、数兆トークンにも達する訓練コーパスの量の両方を指します。LLMモデルは、主に自己教師あり学習または半自己教師あり学習(self-/semi-supervised)の手法で訓練され、シーケンス内の次のトークンを予測することで、言語の統計的規則性を学習します。パラメータ、データ、計算ステップの増加は、スケーリング則によって裏付けられるように、予測可能な品質向上につながります。
BERT(2017年)や特にGPT-3(2020年)の登場以降、LLMのアプローチは自然言語処理において主流となりました。現代のモデル(GPT-4o, Claude 3, Gemini 1.5, LLaMA 3など)は、特別な調整なしにテキストやプログラムコードの作成、翻訳、要約、質疑応答、一連の推論を行うことができます。マルチモーダル版は画像、音声、動画も分析します。応用タスクへの適応は、ファインチューニングやプロンプトエンジニアリング(prompt engineering, in-context learning)によって行われます。これらの成果と同時に、LLMは元データのバイアスや誤りを継承し、「ハルシネーション」に陥りやすく、大規模な計算資源を必要とします。そのため、今日の研究は、モデルの振る舞いの調整(アライメント)、コーパスのフィルタリング、エネルギー効率の高いアーキテクチャに焦点が当てられています。
アーキテクチャ
現代のLLMでは、ほぼ常にTransformer(トランスフォーマー)アーキテクチャが使用されます。これは自己注意機構(self-attention)を持つネットワークです。Transformerモデルは、2017年にGoogleの開発者による論文『Attention is All You Need』で初めて提案されました。
Transformerアーキテクチャは、シーケンスを扱うための基本的なニューラルネットワークの枠組みであり、エンコーダ(入力を符号化)とデコーダ(出力を生成)という2つの論理モジュールを含みます。入力としてシーケンスを受け取り、そのベクトル表現(embedding)を生成し、位置エンコーディングベクトルを加えます。その後、要素の順序を考慮しない集合としてエンコーダコンポーネントに入力され(並列処理)、次にデコーダコンポーネントがそのシーケンスの一部とエンコーダの出力を受け取ります。結果として、新しい出力シーケンスが生成されます。
Transformerのエンコーダコンポーネントは、複数の同一のエンコーダ層で構成されており、デコーダコンポーネントも同様の構造をしています。Transformer自体は、元のベクトルシーケンスを新しいシーケンスに変換する一連のアテンションモデルであり、各要素が他の要素の文脈を考慮するようになります。エンコーダは入力データの隠れ表現を形成し、要素間の相互関係に関する情報を保持します。デコーダは、その隠れ表現に基づいて、出力トークンのための新しい埋め込みシーケンスを作成します。その後、これらの埋め込みを基に、言語モデルを用いて最終的な出力要素が生成されます。
Transformerは元々、機械翻訳のようなタスクのために開発されたため、そのアーキテクチャにはエンコーダ(入力テキスト、例えば原文を処理)とデコーダ(出力、例えば翻訳を生成)が含まれます。しかし、多くの言語モデルでは、自己回帰モードで動作するデコーダ部分のみが使用されています。
Transformerは、主に3つの構成で利用され、それぞれがエンコーダとデコーダを異なる方法で使用し、特定のタスク群に特化しています:
- エンコーダ・トランスフォーマー(双方向):意図的に隠されたテキスト断片を復元するように学習するため、「理解」を要するタスク(分類、事実抽出、セマンティック検索)に適しています。
- デコーダ・トランスフォーマー(自己回帰型):次のトークンを予測するように最適化されており、ストリーミング出力が必要な場面(対話エージェント、コード補完、創造的な生成)で使用されます。
- 完全な「エンコーダ+デコーダ」方式:両方のアプローチを組み合わせます。エンコーダが入力テキスト全体の表現を構築し、デコーダがそれに基づいて段階的に結果を生成します。この構成は、機械翻訳、要約、質疑応答システムで最も効果的です。
トークン化
トークン化は、大規模言語モデルにおけるテキスト処理の重要な初期段階です。この段階で、連続した文字列は個別の単位であるトークンに分割されます。トークン化は、文字列のシーケンスを、ニューラルネットワークが効率的に処理できる構造化された要素のシーケンスに変換する役割を果たします。
言語学的な観点から見ると、トークン化は、単語、形態素、またはその一部など、独立した意味や機能を持つ言語の最小単位を抽出するプロセスにいくらか対応すると言えます。しかし、多くの場合、トークンは単に統計的に頻出する文字列であるため、すべてのトークンに言語学的な意味を見出しすぎないことが重要です。選択されたスキーマに応じて、トークンは単語全体、サブワード、個別の文字、または特殊なマーカー(シーケンスの開始と終了を示すマーカーなど)になることがあります。
トークン化により、以下のことが可能になります:
- 語彙サイズを許容範囲内に制限する。
- 珍しい単語や新しい単語を正しく処理する。
- テキストと数値IDのシーケンスとの間に一意のマッピングを保証する。
テキストの分割にはサブワードアルゴリズムが用いられ、最も一般的なものとしてByte Pair Encoding (BPE)、WordPiece、UnigramLMがあります。これらのアルゴリズムは、コーパス内で最も頻繁に出現する断片から語彙を構築し、それを使用して入力テキストを逐次的にセグメント化します。
トークン化の段階を経た後、テキストの各単位であるトークンは、ニューラルネットワークが理解できる数値表現に変換されます。このプロセスには、いくつかの連続したステップが含まれます:
- トークンからIDへの変換: 各トークンは、事前に構築されたトークン辞書に基づいて一意の数値インデックスに対応付けられます。テキストトークンは、その一意の数値IDに置き換えられます。各IDは、事前に構築された辞書内のトークンの番号であり、これによりニューラルネットワークは単語の代わりに数値を扱うことができます。
- IDから埋め込み表現への変換: 各トークンIDに対して、対応する固定次元のベクトル、すなわち埋め込み表現(embedding)が抽出または計算されます。この多次元の数値表現はIDを置き換え、トークンの意味や文脈的特性に関する情報を含んでいます。すべての埋め込み表現は、処理の便宜上、同じ長さを持ちます。
- 位置エンコーディングの追加: Transformerアーキテクチャ自体は要素の順序を考慮しないため、埋め込み表現に位置エンコーディング(positional encodings)が追加されます。これにより、シーケンス内でのトークンの位置情報が提供されます。言い換えれば、これによってモデルは、どのトークンが文の最初、2番目、3番目に来るかなどを「知る」ことができます。
- 入力行列の形成: 結果として、
[シーケンス長 × 埋め込み次元]の次元を持つ行列が生成されます。これはテキストの初期表現として機能し、ニューラルネットワーク、特にTransformerの自己注意(self-attention)ブロックへの入力として渡されます。この行列の各行は1つのトークンに対応し、そこに含まれるベクトルは、その意味(埋め込み表現)とテキスト内での位置(位置エンコーディング)の両方の情報を保持しています。
テキスト → トークン → ID → 埋め込み表現 + 位置エンコーディング → モデルへの入力
アテンション機構
アテンション機構(attention mechanism)は、Transformerアーキテクチャの主要なコンポーネントであり、シーケンス内でのトークン間の距離に関係なく、それらの依存関係を考慮することを可能にします。入力テキストがベクトルシーケンスに変換された後、このシーケンスはTransformerの中心要素であるアテンションブロック(attention block)に入力されます。
アテンション機構は、ニューラルネットワークがシーケンスの各要素を処理する際に、入力データのどの部分により多くの注意を払うべきかを決定する方法です。これにより、テキストの個々の断片のベクトルが互いに相互作用し、周囲の文脈を考慮して情報を豊かにし、その値を更新することができます。その結果、モデルはトークン間の局所的および長距離の依存関係を効果的に捉える能力を獲得し、複雑なテキスト構造を解釈する能力が大幅に向上します。
自然言語において、単語や表現の意味は孤立して決まるものではなく、文脈、つまり周囲の他の単語や構造に依存します。ニューラルネットワークでは、テキストはベクトル表現、つまりトークンの語彙的および構文的特性を数値的に反映する埋め込み表現によって符号化されます。Transformerのような直接的なアテンション機構がなければ、文脈情報は長距離では失われたり(単純なモデルの場合)、逐次的に伝達されたりするため、長距離の関連性を捉えるには効率が劣ります。しかし、自然言語では単語や構文構造の意味は動的であり、その解釈は文脈に応じて適応する必要があります。アテンション機構は、ベクトル表現の文脈化を実行します。これは、(あるいは単に:)
- 各トークンが、文中の他のトークンに対する自身の重要度を「評価」する。
- 更新プロセスにおいて、ベクトル表現は相互の情報で豊かになり、構文的依存関係、意味的役割、語用論的文脈を反映する。
この情報交換の結果、更新されたベクトルは、トークン自体の意味だけでなく、その文法的なつながり(構文)、記述される状況における役割(意味論)、文脈における全体的な意味(語用論)も符号化するようになります。
入力トークンベクトル(位置情報付き) → アテンション機構(ベクトルの相互作用) → 文脈化されたトークンベクトル(他のトークンとの関連情報で強化されたベクトル)
アテンション機構の技術的実装
アテンション機構の内部構造には、いくつかの主要な計算ステップとコンポーネントが含まれます。各入力ベクトルに対して、クエリ(Query)、キー(Key)、バリュー(Value)という3つのベクトルが生成されます。これらの相互作用に基づいてアテンションの重みが計算され、それを用いて更新された文脈化されたベクトル表現が得られます。情報を並列処理するために、マルチヘッドアテンション(Multi-Head Attention)アーキテクチャを使用するのが一般的なアプローチです。
クエリ(Query)、キー(Key)、バリュー(Value)
アテンション機構の計算の基礎には、各入力ベクトル(トークンの埋め込み表現とその位置エンコーディングの合計)を、クエリ(Query, Q)、キー(Key, K)、バリュー(Value, V)という3つの異なるベクトル表現に変換するプロセスがあります。
概念的に、これら3つのベクトルはアテンション機構において以下の役割を果たします:
- クエリ(Query): 現在のトークンのベクトルであり、シーケンス内で関連情報を検索するプロセスを開始します。これは、現在のトークンに関連する他のトークンの重要性を評価するための「質問」または「プローブ」と見なすことができます。
- キー(Key): 各トークンの内容のある側面を記述する識別子または「ラベル」として機能します。現在のトークンのクエリベクトル(Q)は、シーケンス内のすべてのキーベクトル(K)(自身のものを含む)と比較され、それらの適合度または関連性の度合いが決定されます。
- バリュー(Value): 各トークンに関連付けられた実際の情報または表現を含んでおり、これが次に渡されます。クエリとキーの相互作用に基づいてアテンションの重みが計算された後、これらの重みがバリューベクトルに適用され、最終的な重み付き表現が形成されます。これが、このトークンのアテンション機構の出力となります。
大規模言語モデルの学習
LLMの学習は、主に2つの段階で行われます:
- 事前学習(Pre-training) この段階では、モデルは大規模なラベルなしテキストコーパスを用いて自己教師あり学習(self-supervised learning)の方法で学習します。タスクは、シーケンス内の次のトークンを予測する(自己回帰)か、隠された部分を復元する(マスク学習)ことです。事前学習により、モデルは言語の広範な統計的規則性、文法、世界に関する事実、および基本的な推論形式を習得します。
- ファインチューニング(Fine-tuning) 事前学習後、モデルは特定のタスク(回答生成、テキスト分類、指示実行など)を実行するために、特化したデータで追加学習されます。現代的なアプローチには以下が含まれます:
- ラベル付きデータセットでのファインチューニング(supervised fine-tuning)。
- 人間のフィードバックからの強化学習(RLHF, reinforcement learning from human feedback)を用いて、品質、安全性、有用性といった目標指標に従ってモデルの振る舞いを修正する。
課題と限界
目覚ましい進歩にもかかわらず、現代の大規模言語モデル(LLM)には多くの課題と限界があります:
I. 計算上およびアーキテクチャ上の制約
- 高い計算コスト: LLMの学習と運用には、膨大な計算能力、時間、エネルギーが必要であり、高い経済的および環境的コストを伴います。さらに、生成の自己回帰的な性質(トークンを逐次的に生成)は、並列化を制限し、非自己回帰的なアプローチに比べて出力速度を低下させます。
- コンテキスト長の制限: Transformerアーキテクチャは、計算コストとメモリ要件がシーケンス長に対して二乗で増加します。これにより、モデルが一度に処理できるテキスト量に固定の制限(コンテキストウィンドウ)を設けざるを得なくなり、長い文書が切り捨てられたり、ウィンドウ外の情報が失われたりします。
II. 生成の信頼性と精度に関する問題
- ハルシネーション: 事実とは異なるが、もっともらしく聞こえる情報を生成すること。これは、モデルが現実世界を真に理解しておらず、データ内の統計的規則性に依存し、生成された主張を検証する能力がないことに関連しています。
- 誤差の伝播(Error Propagation): 生成の初期段階で犯した誤りが増幅され、後続のステップで不正確さが蓄積し、テキスト全体の品質と一貫性を低下させるプロセス。
- 限定的な構成性: 多段階の論理的推論や正確な計算(例えば、多桁の数値の乗算、パズルの解決)を必要とするタスクにおける困難。このようなタスクにおけるモデルの精度は、生成の自己回帰的な性質のため、複雑さが増すにつれて急激に低下します。
- 繰り返し: 単語やフレーズを過度に繰り返し、テキストの情報量と可読性を低下させる傾向。これは、学習の特性やデコーディングアルゴリズム(次のトークンの選択)に関連しています。
- 逆転の呪い(Reversal Curse): モデルが知識を逆方向に自動的に一般化できないこと。「AはBである」と学習しても、モデルはしばしば「BはAである」と推論できません。
- 「創造性」と「正確性」のトレードオフ: 多様で独創的な回答を生成することと、事実の正確性を維持することとの間でバランスを取る必要性。一方の側面を向上させることが、他方に悪影響を与えることが多く、例えば、高い創造性はハルシネーションの増加と相関する可能性があります。
III. 対話と制御に関する問題:
- 低い制御性: 生成されるテキストのスタイル、トーン、内容を正確に制御したり、複雑な指示に従ったりすることの難しさ。制御性は、入力指示(プロンプト)の品質やファインチューニングの手法に大きく依存します。
- 表現に対する感度: 入力プロンプトのわずかな変更が、プロンプトの意味が変わらない場合でも、大幅に異なる応答を引き起こすことがあります。これにより、安定して予測可能な結果を得ることが難しくなります。
IV. 倫理的・社会的側面:
- バイアスと公平性の問題: モデルは、学習データに存在する社会的ステレオタイプ、偏見、または有害な表現を再現し、増幅する可能性があります。モデルの公平性と安全性を確保することは複雑な課題です。
- アライメント問題(LLM Alignment): 前の項目を含む、より一般的な問題。これは、モデルの振る舞いを人間の価値観、意図、倫理規範に一致させるという課題です。これには、バイアス、ハルシネーション、有害コンテンツの生成との闘い、および制御性の向上が含まれます。
- 悪用のリスク: LLMが偽情報、フィッシング、スパム、悪意のあるコードの作成や大量拡散、あるいは説得力のあるフェイクテキストの生成に利用される可能性。これは、情報セキュリティや個人の安全に対する脅威となり、社会における信頼を損ないます。
外部リンク:
- 「大規模言語モデル」// ウィキペディア (ロシア語版)
- Large Language Model // Wikipedia (英語版)
- Grand Modèle de Langage // Wikipédia (フランス語版)
- Sprachmodell // Wikipedia (ドイツ語版)
- Naveed H. et al. // A Comprehensive Overview of Large Language Models // arXiv:2307.06435, 2023
参考文献
- Vaswani, A. et al. (2017). Attention Is All You Need. arXiv:1706.03762.
- Devlin, J. et al. (2019). BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. arXiv:1810.04805.
- Brown, T. et al. (2020). Language Models Are Few-Shot Learners. arXiv:2005.14165.
- Kaplan, J. et al. (2020). Scaling Laws for Neural Language Models. arXiv:2001.08361.
- Hoffmann, J. et al. (2022). Training Compute-Optimal Large Language Models. arXiv:2203.15556.
- Ouyang, L. et al. (2022). Training Language Models to Follow Instructions with Human Feedback. arXiv:2203.02155.
- Bai, Y. et al. (2022). Constitutional AI: Harmlessness from AI Feedback. arXiv:2212.08073.
- Bubeck, S. et al. (2023). Sparks of Artificial General Intelligence: Early Experiments with GPT-4. arXiv:2303.12712.
- OpenAI. (2023). GPT-4 Technical Report. arXiv:2303.08774.
- Touvron, H. et al. (2024). The Llama 3 Herd of Models. arXiv:2407.21783.