一問一答で学ぶLLMのアーキテクチャ構造【応用編】

要約
LLM(大規模言語モデル)のアーキテクチャ構造について一問一答で勉強していこうという旨の記事です。
Transformerアーキテクチャ、セルフアテンション機構、位置エンコーディング、LLaMA、Qwen、Mistral、GPT-OSSなどのOSS LLMのアーキテクチャ特徴について、一問一答形式で学んでいきます。
解答部分はMarkdownで折りたたみを使うことでクリックしないと見れないようにしています。
※AIによる生成が含まれますが、内容はE資格を保有し、Kaggle Expertの筆者が確認済みです。
目次
はじめに
この記事は、LLM(大規模言語モデル)のアーキテクチャ構造について一問一答形式で学ぶ記事です。
LLMの基礎編では、ChatGPTやClaudeなどのLLMの特徴や用途について学びましたが、「Transformerアーキテクチャって何?」「LLaMAとQwenのアーキテクチャの違いは?」「セルフアテンション機構の仕組みは?」という方も多いのではないでしょうか。この記事では、Transformerアーキテクチャの基本構造から、主要なOSS LLM(LLaMA、Qwen、Mistral、GPT-OSSなど)のアーキテクチャ特徴まで、LLMのアーキテクチャ構造を理解する上で重要な知識を一問一答形式で学んでいきます。
解答部分は折りたたみ形式にしているので、まずは自分で考えてからクリックして確認してください。
※AIによる生成が含まれますが、内容はE資格を保有し、Kaggle Expertの筆者が確認済みです。
読者ターゲット
LLMの基礎知識(ChatGPT、Claudeなどの特徴)は知っているが、アーキテクチャ構造について詳しく理解できる自信がない人。Transformerアーキテクチャ、セルフアテンション機構、主要なOSS LLMのアーキテクチャ特徴などを理解したい人。
一問一答
Q1. Transformerアーキテクチャとは何ですか?LLMにおける基本的な構造を説明してください。
解答を見る
Transformerアーキテクチャは、2017年にGoogleが提案した深層学習モデルのアーキテクチャです。現在のLLMの基盤となっています。
基本構造:
エンコーダー・デコーダー構造
- エンコーダー:入力テキストを処理
- デコーダー:出力テキストを生成
- GPT系はデコーダーのみ、T5系は両方を使用
セルフアテンション機構
- 入力シーケンス内の各要素間の関係を学習
- 並列処理が可能で高速
位置エンコーディング
- 単語の位置情報をエンコード
- 絶対位置エンコーディング(Transformer)と相対位置エンコーディング(RoPEなど)
フィードフォワードネットワーク
- 各アテンション層の後に配置
- 非線形変換を実行
残差接続とレイヤー正規化
- 勾配消失を防ぐ
- 学習の安定化
LLMでの応用:
- GPT系:デコーダーのみを使用(自己回帰型)
- T5系:エンコーダー・デコーダーを使用(条件付き生成)
- BERT系:エンコーダーのみを使用(双方向理解)
Q2. セルフアテンション機構とは何ですか?どのように動作しますか?
解答を見る
セルフアテンション機構は、入力シーケンス内の各要素が他の要素とどの程度関連しているかを計算するメカニズムです。
動作の仕組み:
Query、Key、Value(QKV)
- Query(Q):問い合わせベクトル
- Key(K):キーベクトル
- Value(V):値ベクトル
- 入力から3つのベクトルを生成
アテンションスコアの計算
- QとKの内積を計算
- スケーリング(√d_kで割る)
- Softmaxで正規化
重み付き和の計算
- アテンションスコアとVの重み付き和を計算
- 関連性の高い要素を重視
数式:
Attention(Q, K, V) = softmax(QK^T / √d_k) V
メリット:
- 長距離依存関係を捉えられる
- 並列処理が可能
- 解釈可能性(どの単語に注目しているか可視化可能)
マルチヘッドアテンション:
- 複数のアテンション機構を並列に実行
- 異なる種類の関係性を同時に学習
Q3. 位置エンコーディングにはどのような種類がありますか?それぞれの特徴を説明してください。
解答を見る
位置エンコーディングは、単語の位置情報をモデルに伝える仕組みです。主な種類は以下の通りです。
1. 絶対位置エンコーディング(Sinusoidal Positional Encoding)
- Transformerのオリジナル手法
- サイン・コサイン関数で位置をエンコード
- 固定長のシーケンスに限定
2. 学習可能な位置エンコーディング(Learned Positional Embedding)
- 位置情報を学習可能なパラメータとして扱う
- GPT-2、GPT-3で使用
- 固定長のシーケンスに限定
3. 相対位置エンコーディング(RoPE:Rotary Position Embedding)
- LLaMA、Qwen、Mistralで使用
- 回転行列で位置情報をエンコード
- 任意の長さのシーケンスに対応可能
- 外挿性能が高い
4. ALiBi(Attention with Linear Biases)
- 相対位置に基づくバイアスを追加
- 外挿性能が高い
- BLOOMで使用
比較:
| 手法 | 固定長制限 | 外挿性能 | 主な使用モデル |
|---|---|---|---|
| Sinusoidal | あり | 低い | Transformer |
| Learned | あり | 低い | GPT-2、GPT-3 |
| RoPE | なし | 高い | LLaMA、Qwen、Mistral |
| ALiBi | なし | 高い | BLOOM |
Q4. LLaMAのアーキテクチャの特徴を説明してください。GPTとどう違いますか?
解答を見る
LLaMA(Large Language Model Meta AI)は、Metaが開発したOSS LLMです。GPT系のデコーダーオンリーアーキテクチャを採用しつつ、いくつかの改良を加えています。
主な特徴:
RMSNorm(Root Mean Square Layer Normalization)
- レイヤー正規化の改良版
- LayerNormより計算効率が良い
- 平均を引かずに正規化
SwiGLU活性化関数
- ReLUの改良版
- より滑らかな勾配
- パフォーマンス向上
RoPE(Rotary Position Embedding)
- 相対位置エンコーディング
- 任意の長さのシーケンスに対応
- 外挿性能が高い
Pre-normalization
- アテンション層の前に正規化
- 学習の安定化
GPTとの違い:
| 要素 | GPT | LLaMA |
|---|---|---|
| 位置エンコーディング | Learned | RoPE |
| 正規化 | LayerNorm | RMSNorm |
| 活性化関数 | GELU | SwiGLU |
| Pre-normalization | なし | あり |
LLaMAのバージョン:
- LLaMA 1:7B、13B、33B、65Bパラメータ
- LLaMA 2:7B、13B、70Bパラメータ(チャット最適化)
- LLaMA 3:8B、70Bパラメータ(性能向上)
Q5. Qwenのアーキテクチャの特徴を説明してください。LLaMAとどう違いますか?
解答を見る
Qwenは、Alibaba Cloudが開発したOSS LLMです。LLaMAと同様にデコーダーオンリーアーキテクチャを採用していますが、いくつかの独自の特徴があります。
主な特徴:
RoPE(Rotary Position Embedding)
- LLaMAと同様にRoPEを使用
- 長いコンテキストに対応
GQA(Grouped Query Attention)
- メモリ効率を向上
- 推論速度の向上
- Qwen 2.5で採用
多言語対応
- 中国語に強い
- 多言語データで学習
コード生成能力
- CodeQwenシリーズ
- コード生成に特化
LLaMAとの違い:
| 要素 | LLaMA | Qwen |
|---|---|---|
| 開発元 | Meta | Alibaba Cloud |
| 多言語対応 | 英語中心 | 中国語・多言語 |
| GQA | LLaMA 2(70B), LLaMA 3 | Qwen 2.5以降 |
| コード生成 | 標準版 | CodeQwenシリーズ |
Qwenのバージョン:
- Qwen 1:0.5B〜72Bパラメータ
- Qwen 2:0.5B〜72Bパラメータ(性能向上)
- Qwen 2.5:最新版(GQA採用)
Q6. Mistralのアーキテクチャの特徴を説明してください。特にSliding Window Attentionについて説明してください。
解答を見る
Mistralは、Mistral AIが開発したOSS LLMです。効率的なアーキテクチャ設計が特徴です。
主な特徴:
Sliding Window Attention(SWA)
- 各トークンが直近のW個のトークンにのみアテンション(Mistral 7BではW=4096)
- 計算量をO(n²)からO(nW)に削減
- 長いコンテキストを効率的に処理
- 層を重ねることで間接的に長距離依存を捉える
RoPE(Rotary Position Embedding)
- LLaMA、Qwenと同様
- 相対位置エンコーディング
GQA(Grouped Query Attention)
- メモリ効率の向上
- 推論速度の向上
SwiGLU活性化関数
- LLaMAと同様
Sliding Window Attentionの仕組み:
- 通常のアテンション:全トークン間の関係を計算(O(n²))
- SWA:各トークンが直近のW個のトークンにのみアテンション(O(nW))
- 層を重ねる効果:層を重ねることで、より遠いトークンにも間接的にアクセス可能
メリット:
- 計算量の削減
- メモリ使用量の削減
- 長いコンテキストの処理が可能
Mistralのバージョン:
- Mistral 7B:7Bパラメータ
- Mixtral 8x7B:MoE(Mixture of Experts)アーキテクチャ
- Mistral Large:最新版
Q7. GPT-OSSとは何ですか?そのアーキテクチャの特徴を説明してください。
解答を見る
GPT-OSSは、OpenAIのGPTアーキテクチャをオープンソースで再現・実装したプロジェクトの総称です。完全にオープンなLLMを目指しています。
主な特徴:
GPTアーキテクチャの再現
- Transformerデコーダーアーキテクチャ
- 学習可能な位置エンコーディング
- LayerNormと残差接続
完全オープンソース
- コード、モデル、データが公開
- 商用利用可能
- カスタマイズ可能
透明性
- 学習データの公開
- 学習プロセスの公開
- アーキテクチャの詳細公開
代表的なプロジェクト:
- Pythia:Eleuther AIが開発
- GPT-NeoX:Eleuther AIが開発
- OpenLLaMA:LLaMAのオープン実装
- GPT-J:Eleuther AIが開発
GPT-OSSとLLaMAの違い:
| 要素 | GPT-OSS | LLaMA |
|---|---|---|
| 位置エンコーディング | Learned | RoPE |
| 正規化 | LayerNorm | RMSNorm |
| 商用利用 | 可能 | 条件付き |
| 透明性 | 高い | 中程度 |
今後の展望:
- より大規模なモデルの公開
- 学習データの透明性向上
- コミュニティ主導の開発
Q8. デコーダーオンリーアーキテクチャとエンコーダー・デコーダーアーキテクチャの違いを説明してください。
解答を見る
LLMには主に2つのアーキテクチャタイプがあります。
1. デコーダーオンリーアーキテクチャ(GPT系)
- 構造:Transformerのデコーダーのみを使用
- 動作:自己回帰的に次のトークンを予測
- 用途:文章生成、チャット、コード生成
- 代表モデル:GPT、LLaMA、Qwen、Mistral
特徴:
- 単方向の情報フロー
- 生成タスクに適している
- シンプルな構造
2. エンコーダー・デコーダーアーキテクチャ(T5系)
- 構造:エンコーダーとデコーダーの両方を使用
- 動作:エンコーダーで入力を理解、デコーダーで出力を生成
- 用途:翻訳、要約、質問応答
- 代表モデル:T5、BART、UL2
特徴:
- 双方向の情報処理(エンコーダー)
- 条件付き生成が可能
- より複雑な構造
比較:
| 要素 | デコーダーオンリー | エンコーダー・デコーダー |
|---|---|---|
| 構造 | シンプル | 複雑 |
| 生成タスク | 強い | 強い |
| 理解タスク | 弱い | 強い |
| 計算量 | 中程度 | 大きい |
| 代表モデル | GPT、LLaMA | T5、BART |
選択の指針:
- 生成タスク中心:デコーダーオンリー
- 理解と生成の両方:エンコーダー・デコーダー
Q9. フィードフォワードネットワーク(FFN)の役割を説明してください。SwiGLUなどの活性化関数の違いは何ですか?
解答を見る
フィードフォワードネットワーク(FFN)は、Transformerアーキテクチャ内で非線形変換を実行する層です。
FFNの役割:
非線形変換
- アテンション層の出力を変換
- 複雑なパターンを学習
特徴量の拡張
- 隠れ層の次元を拡張(通常4倍)
- より豊富な表現を獲得
アテンションとの組み合わせ
- アテンション:関係性の学習
- FFN:特徴量の変換
FFNの構造:
FFN(x) = Activation(Linear(x)) × Linear(x)
活性化関数の種類:
ReLU
- シンプルで高速
- GPT-1、GPT-2で使用
GELU(Gaussian Error Linear Unit)
- より滑らかな勾配
- GPT-3、GPT-4で使用
SwiGLU(Swish-Gated Linear Unit)
- GELUの改良版
- ゲート機構を追加
- LLaMA、Mistral、Qwenで使用
- パフォーマンス向上
比較:
| 活性化関数 | 特徴 | 使用モデル |
|---|---|---|
| ReLU | シンプル、高速 | GPT-1、GPT-2 |
| GELU | 滑らかな勾配 | GPT-3、GPT-4 |
| SwiGLU | ゲート機構、高性能 | LLaMA、Mistral、Qwen |
SwiGLUの式:
SwiGLU(x) = Swish(xW + b) ⊙ (xV + c)
- ⊙:要素ごとの積
- Swish:x × sigmoid(x)
- ※LLaMAなど多くの実装ではバイアス(b, c)を省略します
Q10. レイヤー正規化と残差接続の役割を説明してください。RMSNormとは何ですか?
解答を見る
レイヤー正規化と残差接続は、Transformerアーキテクチャの学習を安定化させる重要な要素です。
レイヤー正規化(Layer Normalization)の役割:
学習の安定化
- 各層の出力を正規化
- 勾配の爆発・消失を防ぐ
収束の高速化
- 学習率を大きく設定可能
- 学習速度の向上
汎化性能の向上
- 過学習の抑制
LayerNormの計算:
LayerNorm(x) = γ × (x - μ) / √(σ² + ε) + β
- μ:平均、σ²:分散
- γ、β:学習可能なパラメータ
残差接続(Residual Connection)の役割:
勾配消失の防止
- 勾配が直接伝播
- 深いネットワークの学習が可能
恒等写像の学習
- 必要に応じて入力をそのまま出力
- 学習の柔軟性
学習の安定化
- 各層の学習が独立しやすくなる
RMSNorm(Root Mean Square Layer Normalization):
- 特徴:平均を引かずに正規化
- 計算式:
RMSNorm(x) = γ × x / √(mean(x²) + ε)
- メリット:
- 計算量の削減
- LayerNormと同等以上の性能
- 使用モデル:LLaMA、Mistral
比較:
| 手法 | 計算量 | 性能 | 使用モデル |
|---|---|---|---|
| LayerNorm | 標準 | 高い | GPT、BERT |
| RMSNorm | 低い | 高い | LLaMA、Mistral |
Q11. GQA(Grouped Query Attention)とは何ですか?なぜ導入されたのですか?
解答を見る
GQA(Grouped Query Attention)は、マルチヘッドアテンションのメモリ効率を向上させる手法です。
従来のマルチヘッドアテンション(MHA):
- Query、Key、Valueのそれぞれに独立したヘッド
- メモリ使用量:O(n × d × h)
- n:シーケンス長、d:次元、h:ヘッド数
GQAの仕組み:
Queryは複数のヘッド
- Queryヘッド数:h_q
KeyとValueはグループ化
- Key/Valueヘッド数:h_kv(h_qより少ない)
- 複数のQueryヘッドが同じKey/Valueを共有
メモリ使用量の削減
- メモリ使用量:O(n × d × (h_q + 2h_kv))
- h_kv < h_q の場合、メモリ削減
GQAのバリエーション:
MHA(Multi-Head Attention)
- h_q = h_kv = h
- 従来の方式
MQA(Multi-Query Attention)
- h_kv = 1
- 最大のメモリ削減
- 性能がやや低下
GQA(Grouped Query Attention)
- 1 < h_kv < h_q
- メモリ削減と性能のバランス
導入の理由:
メモリ効率の向上
- 長いコンテキストの処理が可能
- 推論時のメモリ使用量削減
推論速度の向上
- KVキャッシュのサイズ削減
- 高速な推論
性能の維持
- MQAより性能が高い
- MHAに近い性能を維持
使用モデル:
- LLaMA 2(70Bのみ)、LLaMA 3(全モデル)
- Qwen 2.5以降
- Mistral
Q12. MoE(Mixture of Experts)アーキテクチャとは何ですか?どのような利点がありますか?
解答を見る
MoE(Mixture of Experts)は、複数の専門家(Expert)モデルを組み合わせるアーキテクチャです。
基本構造:
複数のExpert
- 各Expertは独立したニューラルネットワーク
- 異なるタスクやパターンに特化
ルーティング機構(Router)
- 入力に応じて適切なExpertを選択
- 各トークンに対してアクティブなExpertを決定
スパース活性化
- 全Expertを同時に使用せず、一部のみを活性化
- 計算量の削減
動作の流れ:
- 入力トークンを受け取る
- Routerが各トークンに対してExpertを選択
- 選択されたExpertが処理を実行
- Expertの出力を統合
利点:
パラメータ数の増加
- 総パラメータ数を大幅に増やせる
- 例:Mixtral 8x7Bは実質47Bパラメータ
計算量の削減
- スパース活性化により、実際の計算量は少ない
- 推論速度の向上
専門性の向上
- 各Expertが特定のタスクに特化
- 全体の性能向上
代表的なモデル:
- Mixtral 8x7B:8つのExpert(各7Bパラメータ)
- Switch Transformer:Googleが開発
- GLaM:Googleが開発
課題:
- ルーティングの学習が難しい
- Expert間の負荷バランス
- メモリ使用量の増加
Q13. パラメータ効率化手法(LoRA、QLoRA)とは何ですか?どのように動作しますか?
解答を見る
パラメータ効率化手法は、大規模モデルのファインチューニングを効率化する手法です。
LoRA(Low-Rank Adaptation):
基本アイデア
- 元の重みを凍結
- 低ランク行列を追加して学習
- パラメータ数を大幅に削減
動作の仕組み
- 元の重み:W
- LoRAの重み:ΔW = BA(低ランク分解)
- 実際の重み:W + ΔW
- B、Aのみを学習(Wは凍結)
メリット
- 学習パラメータ数の削減(1%以下)
- メモリ使用量の削減
- 複数のタスク用モデルを保存可能
QLoRA(Quantized LoRA):
基本アイデア
- LoRA + 量子化(Quantization)
- モデルを4bitや8bitに量子化
- さらにメモリ効率を向上
動作の仕組み
- 元のモデルを量子化(4bit/8bit)
- LoRAを追加して学習
- 推論時は量子化モデル + LoRAを使用
メリット
- メモリ使用量の大幅削減
- 大規模モデルのファインチューニングが可能
- 例:65Bモデルを1つのGPUで学習可能
比較:
| 手法 | パラメータ削減 | メモリ削減 | 性能 |
|---|---|---|---|
| フルファインチューニング | なし | なし | 最高 |
| LoRA | 99%以上 | 中程度 | 高い |
| QLoRA | 99%以上 | 大幅 | 高い |
使用例:
- タスク特化モデルの作成
- 個人用モデルのカスタマイズ
- リソース制約下での学習
Q14. 主要なOSS LLMのアーキテクチャを比較してください。それぞれの特徴をまとめてください。
解答を見る
主要なOSS LLMのアーキテクチャを比較します。
アーキテクチャ比較表:
| モデル | 位置エンコーディング | 正規化 | 活性化関数 | アテンション | 特徴 |
|---|---|---|---|---|---|
| LLaMA | RoPE | RMSNorm | SwiGLU | MHA/GQA | オープンソース、高性能 |
| Qwen | RoPE | RMSNorm | SwiGLU | GQA | 中国語・多言語対応 |
| Mistral | RoPE | RMSNorm | SwiGLU | SWA + GQA | Sliding Window Attention |
| BLOOM | ALiBi | LayerNorm | GELU | MHA | 多言語対応 |
| GPT-OSS | Learned | LayerNorm | GELU | MHA | 完全オープンソース |
詳細な特徴:
LLaMA:
- Metaが開発
- RoPE、RMSNorm、SwiGLUを採用
- 7B〜70Bパラメータ
- 商用利用は条件付き
Qwen:
- Alibaba Cloudが開発
- LLaMAと類似のアーキテクチャ
- 中国語に強い
- 0.5B〜72Bパラメータ
Mistral:
- Mistral AIが開発
- Sliding Window Attentionが特徴
- 効率的なアーキテクチャ
- 7Bパラメータ、MoE版もあり
BLOOM:
- BigScienceが開発
- ALiBi位置エンコーディング
- 多言語対応
- 176Bパラメータ
選択の指針:
- 汎用性重視:LLaMA
- 中国語対応:Qwen
- 効率性重視:Mistral
- 多言語対応:BLOOM
- 完全オープン:GPT-OSS
Q15. LLMのアーキテクチャ選択において、どのような要素を考慮すべきですか?
解答を見る
LLMのアーキテクチャ選択では、以下の要素を考慮する必要があります。
1. タスクの種類
- 生成タスク:デコーダーオンリー(GPT、LLaMA)
- 理解タスク:エンコーダー・デコーダー(T5)
- 対話タスク:デコーダーオンリー
2. リソース制約
- メモリ:GQA、量子化、MoE
- 計算量:Sliding Window Attention
- 推論速度:GQA、量子化
3. コンテキスト長
- 短いコンテキスト:Learned位置エンコーディング
- 長いコンテキスト:RoPE、ALiBi
- 超長いコンテキスト:RoPE + Sliding Window Attention
4. 多言語対応
- 英語中心:LLaMA
- 中国語対応:Qwen
- 多言語対応:BLOOM
5. 商用利用
- 完全オープン:GPT-OSS、BLOOM
- 条件付き:LLaMA
- 商用利用可能:Qwen、Mistral
6. カスタマイズ性
- ファインチューニング:LoRA、QLoRA
- アーキテクチャ変更:オープンソースモデル
選択フローチャート:
- タスクを決定(生成/理解)
- リソース制約を確認
- コンテキスト長を決定
- 多言語要件を確認
- 商用利用要件を確認
- 適切なアーキテクチャを選択
推奨:
- 汎用的な用途:LLaMA 2/3
- 効率性重視:Mistral
- 中国語対応:Qwen
- 完全オープン:GPT-OSS、BLOOM
結論
一問一答形式でLLMのアーキテクチャ構造について学んでみました。Transformerアーキテクチャの基本構造から、セルフアテンション機構、位置エンコーディング、主要なOSS LLM(LLaMA、Qwen、Mistral、GPT-OSSなど)のアーキテクチャ特徴まで、LLMのアーキテクチャ構造を理解する上で重要な知識を理解できたのではないでしょうか。
LLMのアーキテクチャは、Transformerを基盤としながらも、各モデルが独自の改良を加えています。RoPE、RMSNorm、SwiGLU、GQA、Sliding Window Attentionなど、様々な技術が開発され、効率性と性能の両立が図られています。
実際にOSS LLMを利用し、様々なアーキテクチャを比較してみることで、より深い理解が得られるでしょう。継続的に学習を進めていきましょう。
