Large language model architectures — LLMアーキテクチャ
大規模言語モデル(LLM)のアーキテクチャとは、大規模言語モデルがどのように構築、学習、機能するかを定義する基本的な設計思想と構造です。現代のLLMは、人間の言語を理解し生成する能力を持ち、ほぼ完全にTransformerアーキテクチャに基づいています[1]が、効率、スケーラビリティ、および能力を向上させるための数多くの改良や様々なアプローチが組み込まれています。
LLMアーキテクチャの系統(Transformer)
現代の大規模言語モデルはTransformerアーキテクチャ[1]に基づいていますが、その利用方法は、テキストの理解、続きの生成、あるいはあるテキストを別のテキストに変換するなど、目的によって異なります。実際には、Transformerの基本原則を維持しつつ、3つの系統に分類されます[2][3][4]。
Encoder-only - エンコーダのみ
このモデルはエンコーダのスタックのみを使用し、入力テキスト全体を双方向で処理します。事前学習は通常、マスク化言語モデリング(masked-language modeling, MLM)として構築されます。これは、トークンの一部をマスクし、モデルがその周囲の文脈から復元するように学習する手法です。双方向コンテキストのおかげで、このようなモデルは分類、固有表現抽出、文書のリランキング、抽出型QAといった理解・スコアリングタスクに優れています。しかし、「ゼロから」の自己回帰的な生成には向いていません。
さらに、Encoder-only系統では、代替的な事前学習目標も実践で用いられています。ELECTRAにおける置換トークン検出(replaced token detection, RTD)(弁別器モデルが置換されたトークンを認識する)や、セマンティック検索/リトリーバのためのバイエンコーダの対照学習(Dense Passage Retrievalのように、「クエリ-文書」ペアに対するInfoNCE/softmax損失)などです。RAGで利用する場合、Encoder-onlyモデルは、高速なANN検索のためにクエリと文書を別々にエンコードするバイエンコーダとして、あるいは正確なリランキングのためにペアをまとめてエンコードするクロスエンコーダとして機能します。
利点:
- 双方向コンテキストによる高いテキスト理解能力:分類、NER、事実抽出、リランキング、抽出型QA。
- 並列処理と高いスループット:自己回帰なしの1回の順伝播。大量のスコアリングをバッチ処理するのに便利。
- 検索とRAGへの自然な統合:バイエンコーダとして高速なセマンティック検索を実現。クロスエンコーダとして正確なリランキングを実現。
- 効率的な適応:比較的小規模なモデル(約1億~3億パラメータ。BERT-baseは約1.1億)でも、特定のタスクでファインチューニングすれば高い品質が得られる。
- 生成される応答の長さに依存しない安定したレイテンシ(ステップごとのデコーディングがない)。大規模なコレクションのオフラインスコアリングに適している。
- 相対/回転位置埋め込みや局所的スパースアテンション(例:Longformer/BigBird)により、エンコーダのコンテキストウィンドウを拡張可能。これは長い文書に有用。
欠点:
- 独自の生成能力がない:対話や詳細な回答には、デコーダや外部の生成モジュールが必要。
- インタラクティブなシナリオでの制約:状態を維持しながらの段階的な生成ができない。
- 事前学習の目標が自由な生成タスクと一致しない:MLMは、因果的モデリングと比較して生成タスクとの整合性が低い。
- 歴史的にコンテキストウィンドウが限定的(基本的な絶対位置エンコーディング構成では512トークンが多い)。拡張には特別な位置/アテンション機構や追加の学習が必要。
- リトリーバルタスクには、バイエンコーダやクロスエンコーダの別途の対照学習によるファインチューニングが必要。これなしでは、検索/リランキングの品質は専用に学習されたモデルに劣ることが多い。
代表的なモデル: BERTとその派生モデル、RoBERTa、DeBERTa(拡張版Encoder-only)。代替的な事前学習目標を持つモデルとしてはELECTRA(RTD)があります。[5][6][7][8][9][10]
Decoder-only - デコーダのみ
デコーダのスタックのみを使用し、因果的(左から右への)アテンションを用います。モデルは、既与のプレフィックスに基づいて次のトークンを予測します。この学習方式、すなわち因果言語モデリング(causal language modeling, CLM)により、これらのモデルは対話、詳細な回答、創造的なテキスト、プログラムコードなどの生成タスクに自然に適しています。トレードオフとして、長いプロンプトではレイテンシとKVキャッシュのサイズが増加します。実際には、Decoder-onlyモデルでは、MQAやGQAによるKVキャッシュの削減、投機的デコーディング(speculative decoding)による推論の高速化、サーバーサイドの最適化(PagedAttention/vLLM、継続的バッチ処理、チャンク化プリフィル)といったエンジニアリング技術が広く適用されています。[11][12][13][14][15]
利点:
- 自然なテキスト生成(CLM):強力なゼロショットおよびフューショット能力。スケーラビリティが高い。[16]
- 適用の普遍性:1つのモデルがプロンプト内の指示や例を通じて多くのタスクを解決。RAGやツール利用(tool use)との相性も良い。
- 成熟したエコシステム:指示チューニングや行動アライメント(RLHF, DPO)の実践。オープンソースおよび商用の実装が利用可能。[17][18]
- 豊富な推論最適化スタック:MQA/GQAはKVキャッシュのサイズを削減し、スループットを向上。投機的デコーディングは出力分布を変えずに推論を高速化。PagedAttention/vLLMは継続的バッチ処理とチャンク化プリフィルによりGPU利用率を向上。[19][20][21][22][23]
- 厳密な応答形式(JSON/SQL/DSL)のための構造化生成をサポート。これにより、情報システムやAPIとの統合が簡素化される。[24][25]
欠点:
- 生成レイテンシの増加:逐次的な出力。新しいトークンのコストは、すでに「読み込まれた」コンテキスト(KVキャッシュ)の長さに応じて増加する。
- 「長い入力-短い出力」のシナリオ(要約、翻訳)では、入力を一度だけエンコードするEncoder-Decoderモデルに比べて効率が悪い。
- 一方向コンテキストの制約:テキスト理解タスクにおいて、双方向表現を持つモデル(Encoder-only / Encoder-Decoder)に劣ることがある。
- 長いプロンプトや大きなバッチサイズでは、KVキャッシュ用のメモリがボトルネックになることがある。[26]
- アクティベーション/KVの量子化(INT8/FP8)は推論を高速化するが、長いコンテキストやコード生成で品質を低下させる可能性があり、慎重な検証が必要(特に厳しいSLAの場合)。
代表的なモデル: GPT-3、GPT-4(アーキテクチャとデータセットの詳細は非公開)、LLaMA、Llama 3(8B/70B、2024年)。[27][28][29][30]
Encoder-Decoder - エンコーダ・デコーダ
このアーキテクチャは両方のコンポーネントを組み合わせます。エンコーダは双方向モードで動作し、デコーダは因果モードで動作します。エンコーダは一度入力を分析してその表現を形成し、デコーダはクロスアテンションを介してこの表現を参照しながら出力を生成します。この分離されたアプローチは、長い入力テキストを短い出力に変換する必要があるタスク(機械翻訳、要約、文書に基づく回答生成)で特に有用です。この方法は合計の計算コスト(2つのスタックとクロスアテンション)が大きくなりますが、元のテキストを完全に分析した上での制御された生成が可能という利点があります。また、エンコードは一度だけ実行され、推論プロセス全体で再利用されます。
利点:
- 条件付き生成:デコーダは入力表現に対するクロスアテンションを使用する。[31]
- 「長い入力→短い出力」シナリオで効率的:入力は一度だけエンコードされる。
- 「text-to-text」形式と制御された出力(タスクプレフィックス、特別な指示)に便利。[32]
- 長いソーステキストに対する安定性と効率性:デコードフェーズでは出力に対する自己注意のみが増加し、クロスアテンションはエンコーダからの固定されたキー/バリューを再利用する(入力は各ステップで「再読み込み」されない)。
欠点:
- 2つのスタックがあるため、学習時および使用時のメモリと計算要件が増加する。
- 非常に長いシーケンスでは、最終的なレイテンシはDecoder-onlyモデルと同等になる。自己回帰がボトルネックとして残る。
- 汎用的なチャットモデルはDecoder-onlyモデルに比べて少ない。特定のタスク向けの高品質なseq2seqエンジンとして使用されることが多い。
- 非常に長い入力の場合、各デコーダ層でクロスアテンション用のキー/バリューのメモリが増加するため(ソース全体にわたる)、慎重なサービング計画が必要。
代表的なモデル: T5(T5 v1.1およびFLAN-T5における指示チューニングの実践を含む)、BART。[33][34][35]
Dense Transformer(高密度トランスフォーマー)
古典的で最も一般的なLLMアーキテクチャです。各トークンの処理に、モデルのパラメータセットのほぼ全体が関与します。スパースなアプローチ(例:Mixture-of-Experts)とは異なり、サブネットワークの選択的な活性化は行われず、各ブロックが全てのトークンに対して動作します。[1]
動作原理とアーキテクチャ
基本構造 モデルはN個の同じ種類のTransformerブロックからなるスタックです。各ブロックには以下が含まれます:
- マルチヘッド・セルフアテンション(Multi-Head Self-Attention) 各トークンに対して3つのベクトル(Q: query, K: key, V: value)が計算されます。アテンションは として定義されます。ここで は、許容されない位置を除外するためのマスク(因果マスクおよび/またはパディングマスク)です。複数のアテンション「ヘッド」が並行してコンテキストの異なる側面を考慮します(H個のヘッド、通常 )。ヘッドの数はモデルの規模とともに増加します。[1]
- 全結合順伝播型ネットワーク(Feed-Forward Network, FFN) 2つの線形層とその間に非線形活性化関数(通常はGELU/SiLU、最近のモデルではSwiGLU)を挟んだものです。中間層の次元は通常 です。SwiGLUを使用する場合、同程度のパラメータ数を維持するために がしばしば用いられます。FFNはパラメータの大部分を占めます。[1][36]
追加コンポーネント 残差接続(residual connections)と層正規化(layer normalization)が使用されます。現代のLLMでは、しばしばPre-LN(サブブロックの前に正規化)が適用されます。これは、深いモデルでの学習の安定性を向上させます。古典的なLayerNormに加えて、RMSNorm(計算コストを削減し、大規模モデルで良好に機能する)も広く使用されています。また、一部のモデルファミリーではアテンション空間での正規化(例:softmax前のQ/Kの正規化)も採用されています。位置表現は絶対的または相対的なものがあり、長いコンテキストにはRoPEが事実上の標準となっています。
モデル例と規模
- BERT-Large: 24層、次元1024、16アテンションヘッド、約3.4億パラメータ。[37]
- GPT-3 (175B): 96層、次元12288、96アテンションヘッド、約1750億パラメータ。[38]
- LLaMA-65B: 80層、次元8192、64アテンションヘッド、約650億パラメータ。[39]
- PaLM-540B: 118層、次元約18432、約5400億パラメータ。[40]
利点
- 均一なブロック、よく研究された学習方法、スケーリング時の予測可能な振る舞い。
- パラメータとデータの増加に伴い、品質がべき乗則に従って向上する。計算量最適(compute-optimal)なアプローチでは、モデルサイズと学習トークン量を同時に増加させることが推奨される。[41][42]
- 同じアーキテクチャをファインチューニングするだけで、層レベルの変更なしに幅広いタスクに対応できる。
欠点
- 完全な自己注意はシーケンス長に対して二乗の計算量()を持つため、コンテキストウィンドウが制限される。[1]
- 生成ステップでの全パラメータの活性化:MoEなしのデコーダでは、トークンあたりの推論コストがパラメータ数にほぼ比例して増加する。
- メモリ帯域幅がボトルネック(memory-bound):HBMからの重みの読み込みが推論速度を制限することが多い。
スケーリングとコンテキストの制約
- パラメータ用のメモリはモデルサイズに線形に増加する。学習時のメモリは、勾配とオプティマイザの状態によりさらに増加する。
- 基本的な構成では、歴史的に2,000~4,000トークンに制限されていた。現代の位置エンコーディング手法(RoPE)や拡張技術(Position Interpolation、YaRNなど)により、コンテキストウィンドウを1桁以上拡大できるが、追加の計算/メモリ負荷が伴う。[43][44]
最新の最適化技術
- FlashAttention GPUのメモリ階層を考慮した正確なアテンション計算。長いシーケンスでの学習/推論のメモリ消費を削減し、高速化する。[45]
- KVキャッシュの削減と管理 Multi-Query AttentionとGrouped-Query Attentionはキャッシュサイズとメモリトラフィックを削減する。サーバーレベルでは、PagedAttention(vLLM)がキャッシュのページ管理によりスループットを向上させる。[46][47][48]
- 投機的デコーディング(Speculative Decoding) ドラフト(draft)モデルが続きを提案し、メインモデルがそれを高速に検証する。出力分布を変更することなく高速化を達成する。[49]
Sparse Models and Mixture-of-Experts (MoE) - スパースモデルとエキスパート混合
MoEは、トークンあたりの計算量を比例的に増加させることなくモデルの容量を増やす方法です。層内に1つの大きなFFNブロックを置く代わりに、並列な「エキスパート」(複数の独立したFFN)のセットを使用し、学習可能なルーター(ゲートネットワーク)が各トークンに対してtop-kの最も関連性の高いエキスパートを選択します(通常k=1-2、一部のモデルではk=4)。選択されたエキスパートのみが活性化され、その出力は重み付けされて合計されます。これにより、総パラメータ数は数千億、さらには数兆に達することもありますが、各ステップで利用されるのはそのごく一部です。[50][51]
モデル例と規模
- Switch Transformer (Google): 最大約1.6兆パラメータ。top-1ルーティング(トークンごとに1つのエキスパート)。MoEがトークンあたりのコストを同程度に保ちつつ、モデル容量を大幅に増大できることを示した。[50]
- GLaM (Google): 1.2兆パラメータ、層ごとに64エキスパート、top-2。各トークンで活性化されるパラメータは約966億(約8%)。[51]
- Mixtral 8×7B (Mistral AI): 総パラメータ数約467億、トークンあたり約129億がアクティブ、top-2。[52][53]
- Mixtral 8×22B: 総パラメータ数約1410億、トークンあたり約390億がアクティブ、top-2。[54]
- DBRX (Databricks): 総パラメータ数1320億、トークンあたり約360億がアクティブ。16エキスパートとtop-4ルーティング(fine-grained MoE)。[55]
利点
- 計算コストは総パラメータ数ではなく、アクティブなエキスパートの数kによって決まる。これにより、はるかに小さい高密度モデルと同等のコストで、兆単位の規模のモデルを学習・使用できる。[51]
- 専門化:エキスパートが言語、ドメイン、パターンに自動的に「適応」し、マルチドメインのタスクでの品質を向上させる。
- 柔軟なデプロイ:頻繁に使用されるエキスパートをメモリに保持し、まれなエキスパートは必要に応じてロードすることができる(適切なインフラがあれば)。
制約事項
- 負荷分散:正則化なしでは、ルーターが一部のエキスパートに「固執」することがある(ルーターの崩壊)。補助損失(負荷分散)や改善されたルーティング手法が必要。[50]
- 分散コンピューティングの複雑さ:エキスパート並列化とall-to-all通信が必要。通信オーバーヘッドとメモリ管理がボトルネックになる。[56]
- 学習の安定性:ルーターの設定と容量制限が重要。さもなければ、品質や収束性の低下を招く可能性がある。
最新の改良点
- Expert-Choiceルーティング: エキスパートがトークンを「選択」することで、同等のコストで負荷分散と収束性を改善する。[57]
- Fine-grained MoE: より多くの、より小さなエキスパート(DBRXのように)を使用することで、専門化の粒度を細かくする。[55]
- Sparse Upcycling: 高密度モデルのチェックポイントからMoEモデルに変換することで、中程度のコストで品質を大幅に向上させることができる。[58]
MoE適用の妥当性
- 限られた計算予算での大規模なマルチドメインアシスタント。
- 専門化が利点となる広範なコーパスでの学習。
- 発展した分散インフラ(多数のGPU/TPUと高速ネットワーク)を持つシナリオ。
高密度モデルが適している場合: 限られたインフラ(1-2 GPU)、予測可能なレイテンシとデプロイの単純さに対する厳しい要件がある場合。
Retrieval-Augmented Generation (RAG) - 検索拡張生成
RAGは、モデル自体の内部アーキテクチャではなく、LLMを中心としたシステムアーキテクチャのパターンです。これはLLM(生成コンポーネント)を外部の知識ベース(検索コンポーネント)と組み合わせることで、モデルの「パラメトリックメモリ」の限界を補います。
- 動作原理: LLMは生成を行う前に、外部ソース(Wikipedia、社内ナレッジベース、ウェブ)から関連文書を検索し、それらに基づいて回答を形成します。[59]
- 利点:
- 適用: 検証可能な事実や、プライベート/専門的なデータを扱う必要がある企業向けアシスタントやシステムにおいて、事実上の標準となっています。[59]
アテンション機構とコンテキストの扱い
基本的な自己注意はシーケンス長に対して二乗の計算量()を持つため、最適化手法が登場しました。
- スパースアテンション(Sparse Attention): アテンションを局所的なウィンドウやパターンに制限する手法。例:Longformer[61]、BigBird[62]。
- FlashAttention: GPUのメモリ階層を考慮して計算順序を再構成する手法。時間とメモリの両面で大幅な改善をもたらし、長いコンテキストを持つLLMの学習において事実上の標準となった[63][64][65]。
- MQA/GQA(デコーディングの高速化): Multi-Query Attention(全てのヘッドでキー/バリューを共有)はKVキャッシュのトラフィックを削減する[66]。Grouped-Query Attentionは品質と速度のバランスを取る[67]。
- 改良された位置表現:
- その他の長系列アプローチ:
モデルの最適化と学習インフラ
LLMの学習とデプロイには、専門的な技術とフレームワークが使用されます。
- 量子化(Quantization): 重みのビット精度を低下させることで、メモリ使用量を削減し、推論を高速化します。QLoRAは、4ビット量子化モデル(65Bパラメータモデルを含む)を、全精度に近い品質で効率的にファインチューニングすることを可能にします[77]。
- 知識蒸留(Knowledge Distillation): コンパクトなモデルのためのTeacher→Student学習[78]。例としてDistilBERTがあります[79]。
- 分散学習:
- エコシステムとツール: Hugging Face TransformersとAccelerateは、モデルの標準的な実装と、学習・推論のためのDeepSpeed/FSDPとの統合を提供します[82][83]。
スケーリング則と計算量最適(compute-optimal)学習
経験的なスケーリング則は、クロスエントロピー損失がパラメータ、データ、計算量の増加に伴いべき乗則に従って減少することを示しています。[84] Chinchillaの研究は、計算量最適な学習方法を明らかにしました。最適な効率を得るためには、モデルサイズと学習トークン数を同時にスケーリングすべきです(例:約1.4兆トークンで学習された70Bモデルが、より大規模で学習不足のモデルを上回る)。[85]
State Space Models (SSM) - 状態空間モデル
状態空間モデル(State Space Models, SSM)は、長いシーケンスを扱うためのTransformerに代わるアーキテクチャです。これは制御理論やデジタル信号処理のアイデアを取り入れており、自己注意の主な問題である、テキスト長に応じた計算量の二乗増加を解決します。
主な問題と解決策
Transformerの問題点 従来のTransformerの主な問題は、アテンションの計算量が二乗で増加することです。テキストが10倍長くなると、計算量は約100倍必要になります。
SSMのアプローチ 「すべての単語に同時に注意を向ける」代わりに、モデルはテキストを逐次的に処理し、各ステップで更新されるコンパクトな内部メモリ状態を維持します。結果として、時間とメモリの消費はテキスト長に対してほぼ線形に増加します。同時に、学習は畳み込み表現カーネルを介して並列に実行できます(長いシーケンスでの高いスループット)。[86]
動作原理
離散SSMは、状態方程式と出力方程式で記述されます:
ここで はメモリ状態、 は入力(トークン)、 は出力です。深層SSMでは、行列 は、安定性を確保し、長いシーケンスで効率的な計算ができるようにパラメータ化されます。同じ層は以下のように見なすことができます:
- 再帰的(ステップごとのスキャン) — KVキャッシュなしのメモリ効率の良い推論。
- 畳み込み的(事前計算されたカーネル) — 並列学習。[86]
主なアーキテクチャとハイブリッドモデル
- S4 (Structured State Spaces) 状態行列の安定したパラメータ化を持つ基本的なSSM。非常に長いシーケンスで有効性を示します。[86]
- Mamba 選択的SSM:メモリの更新ルールが現在の入力に依存します(モデル自身が何を「記憶」し、何を「忘れる」かを決定する)。実装はGPUのメモリ階層に最適化されており、著者らによると、系列長に対して線形の計算量で推論スループットが数倍向上します。[87]
- RetNet retentionメカニズムを持ち、並列学習、再帰的推論、ブロック再帰的推論の3つのモードがあります。目的は、高速な学習(Transformerのように)と効率的な推論(トークンあたりO(1)のメモリ)を両立させることです。[88]
- Attention+SSMハイブリッド 例としてJamba(Transformer層とMamba層の交互配置+MoE)があり、同クラスの純粋なTransformerモデルと比較して大幅に少ないメモリ要件で、約256Kトークンのコンテキストをサポートすると報告されています。[89]
利点
- 線形の計算量と推論時のメモリ節約。グローバルな自己注意やKVキャッシュがなく、コンパクトな状態のみを保持する。[87][88]
- 長いシーケンスでの並列学習。畳み込みモードが学習のスループットを向上させる。[86]
- ハードウェア効率。実装は現代のメモリ階層(HBM/SRAM)に最適化されている。[87]
- 長いコンテキストとストリーミング。SSM+Attentionハイブリッドは、中程度の計算資源で数十万トークンを扱うのに実用的。[89]
制約と現在のプラクティス
- エコシステムの成熟度。スケーリングのためのツールや「レシピ」(指示チューニング、RLHF/DPO)は、まだTransformerスタックに劣る。[87]
- 品質と安定性。一部のタスクでは、「純粋な」SSMよりもハイブリッド(Attention+SSM)の方が、「品質/速度/メモリ」のトレードオフが安定している。[89]
アプローチの比較(概要)
| 特性 | Transformer | SSM | ハイブリッド(Attention+SSM) |
|---|---|---|---|
| 系列長に対する計算量 | 二乗(自己注意) | 線形(スキャン/畳み込み) | ほぼ線形 |
| トークンあたりのメモリ(推論時) | KVキャッシュがコンテキストと共に増加 | O(1)の状態 | 緩やかに増加 |
| 長いコンテキスト | 特別な最適化が必要 | 自然に対応 | 最大約256Kまで実用的 |
| エコシステムの成熟度 | 高い | 発展途上 | 発展途上 |
実用的な応用例
- 非常に長い文書の分析(書籍、報告書、科学レビュー)。
- メモリコストを増大させずに、長い履歴を持つストリーミング処理やチャットシナリオ。
- リソースが限られた環境(モバイル/エッジデバイス)。
- 時系列データやその他のシーケンシャルデータ。
代表的なモデル: S4, Mamba, RetNet; ハイブリッドAttention+SSM (Jamba). [86][87][88][89]
アーキテクチャの進化
- 2017年 — 論文「Attention Is All You Need」が発表される。Transformerアーキテクチャが提示される:マルチヘッド・セルフアテンションと位置エンコーディングにより、再帰や畳み込みなしでモデルを学習できるようになった。しかし、アテンションはコンテキスト長に対して二乗の計算量を持つ。[1]
- 2018年 — GPT-1とBERTが発表される。GPT-1はデコーダのみのスタックと因果アテンションを用いて生成とファインチューニングを行う。BERTは双方向エンコーダとMLM事前学習を導入し、テキスト理解タスクに対応した。[90][91]
- 2019年 — 長いシーケンスを扱う方法が提案され、decoder-onlyがスケールアップされる。Transformer-XLは「メモリ」と相対位置エンコーディングを追加し、固定ウィンドウを超えることを可能にした。GPT-2はスケールアップによるゼロショット能力の向上を示した。BARTはseq2seqのためのノイズ除去事前学習の有効性を示した。[92][93][94]
- 2020年 — 「text-to-text」形式が統一され、長い文書のための手法が示される。T5は様々なタスクに対して単一のencoder-decoderアプローチを定式化した。LongformerとBigBirdは長いテキストのためにスパース/構造化アテンションを使用した。GPT-3は高密度decoder-onlyのスケーリングの有効性を確認した。[95][96][97][98]
- 2021年 — 位置表現が改善され、パラメータのスパース性(MoE)が示される。RoPEとALiBiは長い系列への汎化性能を向上させた。Switch TransformerとGLaMはトークンごとに一部のエキスパートのみを活性化し、推論コストを大幅に増やすことなくモデル容量を増加させた。[99][100][101][102]
- 2022年 — 計算量最適(compute-optimal)な学習方法が уточненされ、長いプロンプトでの推論が高速化される。Chinchillaは、中規模のモデルでより多くの学習トークンを使用する利点を示した。PaLMはMulti-Query AttentionによりKVキャッシュのサイズを削減した。FlashAttentionはGPUでのアテンション計算を高速化した。[103][104][105][106]
- 2023年 — 層を変更せずにコンテキストウィンドウが拡大され、サーバーへの提供が改善される。LLaMAシリーズが実践(RMSNorm, SwiGLU, RoPE)を確立した。Position InterpolationとYaRNがコンテキストを拡張した。vLLM/PagedAttentionがKVキャッシュをより効率的に管理するようになった。[107][108][109][110][111][112]
- 2023年 — 状態空間モデル(SSM)が提案される。MambaとRetNetは、KVキャッシュの代わりにコンパクトな状態を持つ逐次処理を復活させ、ハイブリッドアーキテクチャの基礎を築いた。[115][116]
- 2024年 — オープンなMoEモデルとAttention+SSMハイブリッドが公開され、新しいGPUでのアテンションが高速化される。Mixtral 8×7B/8×22BとDBRXがMoEの実用性を確認した。JambaはTransformerとMambaを組み合わせて非常に長いコンテキストに対応した。FlashAttention-3がスループットを向上させた。[117][118][119][120][121]
外部リンク
- https://jalammar.github.io/illustrated-transformer/ The Illustrated Transformer — 視覚的な解説
参考文献
- Vaswani, A. et al. (2017). Attention Is All You Need. NIPS. https://arxiv.org/abs/1706.03762
- Devlin, J. et al. (2019). BERT. NAACL. https://arxiv.org/abs/1810.04805
- Brown, T. et al. (2020). Language Models are Few‑Shot Learners. NeurIPS. https://arxiv.org/abs/2005.14165
- Raffel, C. et al. (2020). Exploring the Limits of Transfer Learning with a Unified Text‑to‑Text Transformer (T5). JMLR. https://jmlr.org/papers/volume21/20-074/20-074.pdf
- Lewis, M. et al. (2019). BART: Denoising Sequence‑to‑Sequence Pre‑training. https://arxiv.org/abs/1910.13461
- Touvron, H. et al. (2023). LLaMA. https://arxiv.org/abs/2302.13971
- Chowdhery, A. et al. (2022). PaLM: Scaling Language Modeling with Pathways. https://arxiv.org/abs/2204.02311
- Dao, T. et al. (2022–2024). FlashAttention (1/2/3). https://arxiv.org/abs/2205.14135 ; https://arxiv.org/abs/2307.08691 ; https://arxiv.org/abs/2407.08608
- Shazeer, N. (2019). MQA. https://arxiv.org/abs/1911.02150
- Ainslie, J. et al. (2023). GQA. https://arxiv.org/abs/2305.13245
- Kwon, W. et al. (2023). PagedAttention / vLLM. https://arxiv.org/abs/2309.06180
- Leviathan, Y. et al. (2023). Speculative Decoding. https://arxiv.org/abs/2211.17192
- Fedus, W.; Zoph, B.; Shazeer, N. (2021/2022). Switch Transformers. https://arxiv.org/abs/2101.03961
- Du, N. et al. (2022). GLaM. https://proceedings.mlr.press/v162/du22c/du22c.pdf
- Jiang, A.Q. et al. (2024). Mixtral of Experts. https://arxiv.org/abs/2401.04088
- Databricks (2024). Introducing DBRX. https://www.databricks.com/blog/introducing-dbrx-new-state-art-open-llm
- NVIDIA (2024). Applying Mixture of Experts in LLM Architectures. https://developer.nvidia.com/blog/applying-mixture-of-experts-in-llm-architectures/
- Zhou, Y. et al. (2022). Expert Choice Routing. https://arxiv.org/abs/2202.09368
- Komatsuzaki, A. et al. (2022). Sparse Upcycling. https://arxiv.org/abs/2212.05055
- Lewis, P. et al. (2020). RAG. https://arxiv.org/abs/2005.11401
- Beltagy, I. et al. (2020). Longformer. https://arxiv.org/abs/2004.05150
- Zaheer, M. et al. (2020). BigBird. https://arxiv.org/abs/2007.14062
- Press, O. et al. (2022). ALiBi. https://arxiv.org/abs/2108.12409
- Su, J. et al. (2021). RoFormer (RoPE). https://arxiv.org/abs/2104.09864
- Chen, S. et al. (2023). Position Interpolation. https://arxiv.org/abs/2306.15595
- Peng, B. et al. (2023). YaRN. https://arxiv.org/abs/2309.00071
- Dettmers, T. et al. (2023). QLoRA. https://arxiv.org/abs/2305.14314
- Rajbhandari, S. et al. (2020). ZeRO. https://www.microsoft.com/en-us/research/publication/zero-memory-optimizations-toward-training-trillion-parameter-models/
- Shoeybi, M. et al. (2019). Megatron‑LM. https://arxiv.org/abs/1909.08053
- Kaplan, J. et al. (2020). Scaling Laws. https://arxiv.org/abs/2001.08361
- Hoffmann, J. et al. (2022). Chinchilla / Compute‑Optimal. https://arxiv.org/abs/2203.15556
- Gemini Team (2023). Gemini. https://arxiv.org/abs/2312.11805
- Bai, Y. et al. (2022). Constitutional AI. https://arxiv.org/abs/2212.08073
- OpenAI (2023). GPT‑4 Technical Report. https://arxiv.org/abs/2303.08774
- OpenAI (2023). DevDay: GPT‑4 Turbo 128k. https://openai.com/index/new-models-and-developer-products-announced-at-devday/
- Zhang, B.; Sennrich, R. (2019). RMSNorm. https://arxiv.org/abs/1910.07467
- Shazeer, N. (2020). GLU Variants / SwiGLU. https://arxiv.org/abs/2002.05202
- Gu, A.; Goel, K.; Ré, C. (2021). S4: Structured State Spaces. https://arxiv.org/abs/2111.00396
- Gu, A.; Dao, T. (2023/2024). Mamba: Selective State Spaces. https://arxiv.org/abs/2312.00752
- Sun, Y. et al. (2023). RetNet. https://arxiv.org/abs/2307.08621
- Lieber, O. et al. (2024). Jamba: Hybrid Transformer‑Mamba. https://arxiv.org/abs/2403.19887
- Dai, Z. et al. (2019). Transformer‑XL. https://arxiv.org/abs/1901.02860
- Kitaev, N.; Kaiser, L.; Levskaya, A. (2020). Reformer. https://arxiv.org/abs/2001.04451
- Choromanski, K. et al. (2021). Performer. https://arxiv.org/abs/2009.14794
- Wang, S. et al. (2020). Linformer. https://arxiv.org/abs/2006.04768
脚注
- ↑ 1.0 1.1 1.2 1.3 1.4 1.5 1.6 Vaswani, A. et al. (2017). Attention Is All You Need. https://arxiv.org/abs/1706.03762
- ↑ Devlin, J. et al. (2019). BERT. https://arxiv.org/abs/1810.04805
- ↑ Brown, T. et al. (2020). Language Models are Few‑Shot Learners. https://arxiv.org/abs/2005.14165
- ↑ Raffel, C. et al. (2020). T5. https://jmlr.org/papers/volume21/20-074/20-074.pdf
- ↑ Devlin, J. et al. (2019). BERT: Pre‑training of Deep Bidirectional Transformers for Language Understanding. https://arxiv.org/abs/1810.04805
- ↑ Liu, Y. et al. (2019). RoBERTa: A Robustly Optimized BERT Pretraining Approach. https://arxiv.org/abs/1907.11692
- ↑ He, P. et al. (2021). DeBERTa: Decoding‑enhanced BERT with Disentangled Attention. https://arxiv.org/abs/2006.03654
- ↑ Clark, K. et al. (2020). ELECTRA: Pre‑training Text Encoders as Discriminators Rather Than Generators. https://arxiv.org/abs/2003.10555
- ↑ Zaheer, M. et al. (2020). Big Bird: Transformers for Longer Sequences. https://arxiv.org/abs/2007.14062
- ↑ Beltagy, I. et al. (2020). Longformer: The Long‑Document Transformer. https://arxiv.org/abs/2004.05150
- ↑ Shazeer, N. (2019). Fast Transformer Decoding: One Write‑Head is All You Need (Multi‑Query Attention). https://arxiv.org/abs/1911.02150
- ↑ Ainslie, J. et al. (2023). GQA: Training Generalized Multi‑Query Transformer Models from Multi‑Head Checkpoints. https://arxiv.org/abs/2305.13245
- ↑ Leviathan, Y. et al. (2023). Fast Inference from Transformers via Speculative Decoding. https://arxiv.org/abs/2211.17192
- ↑ Kwon, W. et al. (2023). Efficient Memory Management for LLM Serving with PagedAttention (vLLM). https://arxiv.org/abs/2309.06180
- ↑ vLLM Docs (2024–2025). Continuous batching, Chunked prefill, Structured outputs. https://docs.vllm.ai/
- ↑ Brown, T. et al. (2020). Language Models are Few‑Shot Learners. https://arxiv.org/abs/2005.14165
- ↑ Ouyang, L. et al. (2022). InstructGPT (RLHF). https://arxiv.org/abs/2203.02155
- ↑ Rafailov, R. et al. (2023). Direct Preference Optimization. https://arxiv.org/abs/2305.18290
- ↑ Shazeer, 2019. https://arxiv.org/abs/1911.02150
- ↑ Ainslie, 2023. https://arxiv.org/abs/2305.13245
- ↑ Leviathan, 2023. https://arxiv.org/abs/2211.17192
- ↑ Kwon, 2023. https://arxiv.org/abs/2309.06180
- ↑ vLLM Docs. https://docs.vllm.ai/
- ↑ OpenAI (2024). Structured Outputs. https://openai.com/index/introducing-structured-outputs-in-the-api/
- ↑ vLLM Docs — Structured outputs. https://docs.vllm.ai/en/v0.9.2/features/structured_outputs.html
- ↑ Kwon, 2023. https://arxiv.org/abs/2309.06180
- ↑ Brown, T. et al. (2020). Language Models are Few‑Shot Learners. https://arxiv.org/abs/2005.14165
- ↑ Touvron, H. et al. (2023). LLaMA: Open and Efficient Foundation Language Models. https://arxiv.org/abs/2302.13971
- ↑ Achiam, J. et al. (2023). GPT‑4 Technical Report. https://arxiv.org/abs/2303.08774
- ↑ Meta AI (2024). Introducing Meta Llama 3. https://ai.meta.com/blog/meta-llama-3/
- ↑ Raffel, C. et al. (2020). Exploring the Limits of Transfer Learning with a Unified Text‑to‑Text Transformer (T5). JMLR. https://jmlr.org/papers/volume21/20-074/20-074.pdf
- ↑ Lewis, M. et al. (2019). BART: Denoising Sequence‑to‑Sequence Pre‑training. https://arxiv.org/abs/1910.13461
- ↑ Raffel, C. et al. (2020). Exploring the Limits of Transfer Learning with a Unified Text‑to‑Text Transformer. JMLR. https://jmlr.org/papers/volume21/20-074/20-074.pdf
- ↑ Lewis, M. et al. (2019). BART: Denoising Sequence‑to‑Sequence Pre‑training for NLG, Translation, and Comprehension. https://arxiv.org/abs/1910.13461
- ↑ Chung, H. W. et al. (2022). Scaling Instruction‑Finetuned Language Models (FLAN‑T5). https://arxiv.org/abs/2210.11416
- ↑ Shazeer, N. (2020). GLU Variants Improve Transformer. https://arxiv.org/abs/2002.05202
- ↑ Devlin, J. et al. (2019). BERT: Pre‑training of Deep Bidirectional Transformers for Language Understanding. https://arxiv.org/abs/1810.04805
- ↑ Brown, T. et al. (2020). Language Models are Few‑Shot Learners. https://arxiv.org/abs/2005.14165
- ↑ Touvron, H. et al. (2023). LLaMA: Open and Efficient Foundation Language Models. https://arxiv.org/abs/2302.13971
- ↑ Chowdhery, A. et al. (2022). PaLM: Scaling Language Modeling with Pathways. https://arxiv.org/abs/2204.02311
- ↑ Kaplan, J. et al. (2020). Scaling Laws for Neural Language Models. https://arxiv.org/abs/2001.08361
- ↑ Hoffmann, J. et al. (2022). Training Compute‑Optimal Large Language Models. https://arxiv.org/abs/2203.15556
- ↑ Chen, S. et al. (2023). Extending Context Window via Positional Interpolation. https://arxiv.org/abs/2306.15595
- ↑ Peng, B. et al. (2023). YaRN: Efficient Context Window Extension of LLMs. https://arxiv.org/abs/2309.00071
- ↑ Dao, T. et al. (2022–2024). FlashAttention (1/2/3). https://arxiv.org/abs/2205.14135 ; https://arxiv.org/abs/2307.08691 ; https://arxiv.org/abs/2407.08608
- ↑ Shazeer, N. (2019). Fast Transformer Decoding: One Write‑Head is All You Need. https://arxiv.org/abs/1911.02150
- ↑ Ainslie, J. et al. (2023). GQA. https://arxiv.org/abs/2305.13245
- ↑ Kwon, W. et al. (2023). Efficient Memory Management for LLM Serving with PagedAttention. https://arxiv.org/abs/2309.06180
- ↑ Leviathan, Y. et al. (2023). Fast Inference from Transformers via Speculative Decoding. https://arxiv.org/abs/2211.17192
- ↑ 50.0 50.1 50.2 Fedus, W.; Zoph, B.; Shazeer, N. (2021/2022). Switch Transformers. https://arxiv.org/abs/2101.03961
- ↑ 51.0 51.1 51.2 Du, N. et al. (2021). GLaM: Efficient Scaling of Language Models with Mixture‑of‑Experts. https://arxiv.org/pdf/2112.06905.pdf
- ↑ Mistral AI (2023). Mixtral of Experts. https://mistral.ai/news/mixtral-of-experts/
- ↑ Jiang, A.Q. et al. (2024). Mixtral of Experts. https://arxiv.org/abs/2401.04088
- ↑ Mistral AI (2024). Mixtral 8x22B. https://mistral.ai/news/mixtral-8x22b
- ↑ 55.0 55.1 Databricks (2024). Introducing DBRX. https://www.databricks.com/blog/introducing-dbrx-new-state-art-open-llm
- ↑ NVIDIA (2024). Applying Mixture of Experts in LLM Architectures. https://developer.nvidia.com/blog/applying-mixture-of-experts-in-llm-architectures/
- ↑ Zhou, Y. et al. (2022). Mixture‑of‑Experts with Expert Choice Routing. https://arxiv.org/abs/2202.09368
- ↑ Komatsuzaki, A. et al. (2022). Sparse Upcycling: Training Mixture‑of‑Experts from Dense Checkpoints. https://arxiv.org/abs/2212.05055
- ↑ 59.0 59.1 59.2 59.3 Lewis, P. et al. (2020). Retrieval‑Augmented Generation for Knowledge‑Intensive NLP Tasks. https://arxiv.org/abs/2005.11401
- ↑ NVIDIA Blog (2025). What is Retrieval‑Augmented Generation (RAG). https://blogs.nvidia.com/blog/what-is-retrieval-augmented-generation/
- ↑ Beltagy, I. et al. (2020). Longformer. https://arxiv.org/abs/2004.05150
- ↑ Zaheer, M. et al. (2020). Big Bird. https://arxiv.org/abs/2007.14062
- ↑ Dao, T. et al. (2022). FlashAttention. https://arxiv.org/abs/2205.14135
- ↑ Dao, T. et al. (2023). FlashAttention‑2. https://arxiv.org/abs/2307.08691
- ↑ Shah, M. et al. (2024). FlashAttention‑3. https://arxiv.org/abs/2407.08608
- ↑ Shazeer, N. (2019). Fast Transformer Decoding: One Write‑Head is All You Need. https://arxiv.org/abs/1911.02150
- ↑ Ainslie, J. et al. (2023). GQA. https://arxiv.org/abs/2305.13245
- ↑ Press, O. et al. (2022). ALiBi. https://arxiv.org/abs/2108.12409
- ↑ Su, J. et al. (2021). RoFormer: Rotary Position Embedding. https://arxiv.org/abs/2104.09864
- ↑ Touvron, H. et al. (2023). LLaMA: Open and Efficient Foundation Language Models. https://arxiv.org/abs/2302.13971
- ↑ Chen, S. et al. (2023). Extending Context Window via Positional Interpolation. https://arxiv.org/abs/2306.15595
- ↑ Peng, B. et al. (2023). YaRN: Efficient Context Window Extension of LLMs. https://arxiv.org/abs/2309.00071
- ↑ Dai, Z. et al. (2019). Transformer‑XL: Attentive Language Models Beyond a Fixed‑Length Context. https://arxiv.org/abs/1901.02860
- ↑ Kitaev, N.; Kaiser, L.; Levskaya, A. (2020). Reformer: The Efficient Transformer. https://arxiv.org/abs/2001.04451
- ↑ Choromanski, K. et al. (2021). Rethinking Attention with Performers. https://arxiv.org/abs/2009.14794
- ↑ Wang, S. et al. (2020). Linformer: Self‑Attention with Linear Complexity. https://arxiv.org/abs/2006.04768
- ↑ Dettmers, T. et al. (2023). QLoRA: Efficient Finetuning of Quantized LLMs. https://arxiv.org/abs/2305.14314
- ↑ Hinton, G. et al. (2015). Distilling the Knowledge in a Neural Network. https://arxiv.org/abs/1503.02531
- ↑ Sanh, V. et al. (2019). DistilBERT. https://arxiv.org/abs/1910.01108
- ↑ Rajbhandari, S. et al. (2020). ZeRO: Memory Optimizations Toward Training Trillion‑Parameter Models. https://www.microsoft.com/en-us/research/publication/zero-memory-optimizations-toward-training-trillion-parameter-models/
- ↑ Shoeybi, M. et al. (2019). Megatron‑LM: Training Multi‑Billion Parameter Language Models Using Model Parallelism. https://arxiv.org/abs/1909.08053
- ↑ Hugging Face. Transformers Documentation. https://huggingface.co/docs/transformers
- ↑ Hugging Face. Accelerate Documentation. https://huggingface.co/docs/accelerate
- ↑ Kaplan, J. et al. (2020). Scaling Laws for Neural Language Models. https://arxiv.org/abs/2001.08361
- ↑ Hoffmann, J. et al. (2022). Training Compute‑Optimal Large Language Models. https://arxiv.org/abs/2203.15556
- ↑ 86.0 86.1 86.2 86.3 86.4 Gu, A.; Goel, K.; Ré, C. (2021). Efficiently Modeling Long Sequences with Structured State Spaces (S4). https://arxiv.org/abs/2111.00396
- ↑ 87.0 87.1 87.2 87.3 87.4 Gu, A.; Dao, T. (2023/2024). Mamba: Linear‑Time Sequence Modeling with Selective State Spaces. https://arxiv.org/abs/2312.00752
- ↑ 88.0 88.1 88.2 Sun, Y. et al. (2023). Retentive Network: A Successor to Transformer for Large Language Models. https://arxiv.org/abs/2307.08621
- ↑ 89.0 89.1 89.2 89.3 Lieber, O. et al. (2024). Jamba: A Hybrid Transformer‑Mamba Language Model. https://arxiv.org/abs/2403.19887
- ↑ Radford, A. et al. (2018). Improving Language Understanding by Generative Pre‑Training. https://cdn.openai.com/research-covers/language-unsupervised/language_understanding_paper.pdf
- ↑ Devlin, J. et al. (2019). BERT: Pre‑training of Deep Bidirectional Transformers for Language Understanding. https://arxiv.org/abs/1810.04805
- ↑ Dai, Z. et al. (2019). Transformer‑XL. https://arxiv.org/abs/1901.02860
- ↑ Radford, A. et al. (2019). Language Models are Unsupervised Multitask Learners. https://cdn.openai.com/better-language-models/language_models_are_unsupervised_multitask_learners.pdf
- ↑ Lewis, M. et al. (2019). BART. https://arxiv.org/abs/1910.13461
- ↑ Raffel, C. et al. (2020). T5. https://jmlr.org/papers/volume21/20-074/20-074.pdf
- ↑ Beltagy, I. et al. (2020). Longformer. https://arxiv.org/abs/2004.05150
- ↑ Zaheer, M. et al. (2020). BigBird. https://arxiv.org/abs/2007.14062
- ↑ Brown, T. et al. (2020). Language Models are Few‑Shot Learners. https://arxiv.org/abs/2005.14165
- ↑ Su, J. et al. (2021). RoPE. https://arxiv.org/abs/2104.09864
- ↑ Press, O. et al. (2021/2022). ALiBi. https://arxiv.org/abs/2108.12409
- ↑ Fedus, W.; Zoph, B.; Shazeer, N. (2021/2022). Switch Transformers. https://arxiv.org/abs/2101.03961
- ↑ Du, N. et al. (2021). GLaM. https://arxiv.org/pdf/2112.06905.pdf
- ↑ Hoffmann, J. et al. (2022). Chinchilla. https://arxiv.org/abs/2203.15556
- ↑ Chowdhery, A. et al. (2022). PaLM. https://arxiv.org/abs/2204.02311
- ↑ Shazeer, N. (2019). Fast Transformer Decoding. https://arxiv.org/abs/1911.02150
- ↑ Dao, T. et al. (2022). FlashAttention. https://arxiv.org/abs/2205.14135
- ↑ Touvron, H. et al. (2023). LLaMA. https://arxiv.org/abs/2302.13971
- ↑ Zhang, B.; Sennrich, R. (2019). RMSNorm. https://arxiv.org/abs/1910.07467
- ↑ Shazeer, N. (2020). GLU Variants. https://arxiv.org/abs/2002.05202
- ↑ Chen, S. et al. (2023). Position Interpolation. https://arxiv.org/abs/2306.15595
- ↑ Peng, B. et al. (2023). YaRN. https://arxiv.org/abs/2309.00071
- ↑ Kwon, W. et al. (2023). vLLM/PagedAttention. https://arxiv.org/abs/2309.06180
- ↑ OpenAI (2023). GPT‑4 Technical Report. https://arxiv.org/abs/2303.08774
- ↑ Gemini Team (2023). Gemini. https://arxiv.org/abs/2312.11805
- ↑ Gu, A.; Dao, T. (2023). Mamba. https://arxiv.org/abs/2312.00752
- ↑ Sun, Y. et al. (2023). RetNet. https://arxiv.org/abs/2307.08621
- ↑ Jiang, A.Q. et al. (2024). Mixtral of Experts. https://arxiv.org/abs/2401.04088
- ↑ Mistral AI (2024). Mixtral 8x22B. https://mistral.ai/news/mixtral-8x22b
- ↑ Databricks (2024). Introducing DBRX. https://www.databricks.com/blog/introducing-dbrx-new-state-art-open-llm
- ↑ Lieber, O. et al. (2024). Jamba. https://arxiv.org/abs/2403.19887
- ↑ Shah, M. et al. (2024). FlashAttention‑3. https://arxiv.org/abs/2407.08608