Chuyển đến nội dung chính

レッスン4:LLM、Transformer、マルチモーダルモデル

Transformerアーキテクチャ:Attention機構、Self-Attention。 GPT(デコーダのみ)、BERT(エンコーダのみ)、T5(エンコーダ-デコーダ)。 マルチモーダルモデル。ハルシネーション:原因と対策。 エンベディングとベクトル表現。

Transformerアーキテクチャ

Transformerアーキテクチャ — エンコーダスタック、デコーダスタック、BERT/GPT/T5のバリアント

1. Transformerアーキテクチャ

TransformerはNLPに革命をもたらしたニューラルネットワークアーキテクチャで、2017年の論文「Attention Is All You Need」で発表されました。現在のほぼすべてのLLMはTransformerに基づいています。

1.1. Self-Attention機構

Self-Attentionにより、モデルは距離に関係なく、入力内のすべての単語間の関係を考慮できます。

Input: "The cat sat on the mat because it was tired"

Self-Attentionが答える:「it」は何を指すか?
→ 「cat」に注目(高いAttentionスコア)
→ 「mat」ではない(低いAttentionスコア)

従来のRNNではこのような長距離依存関係の処理が困難でした。

1.2. エンコーダ-デコーダアーキテクチャ

オリジナルのTransformer:
┌──────────────────────────┐
│        エンコーダ          │  ← 入力を理解
│  (Self-Attention +       │
│   Feed-Forward層)        │
├──────────────────────────┤
│        デコーダ            │  ← 出力を生成
│  (Masked Self-Attention +│
│   Cross-Attention +      │
│   Feed-Forward層)        │
└──────────────────────────┘

1.3. 3種類のTransformer

種類アーキテクチャ最適な用途モデル
エンコーダのみエンコーダテキスト理解(分類、NER、感情分析)BERT、RoBERTa、DistilBERT
デコーダのみデコーダテキスト生成(チャットボット、コンテンツ作成)GPT-4、Claude、Llama
エンコーダ-デコーダ両方系列変換(翻訳、要約)T5、BART

試験のコツ:「テキスト生成に最適なアーキテクチャは?」→ デコーダのみ(GPT、Claude)。「テキスト分類に最適なアーキテクチャは?」→ エンコーダのみ(BERT)。

2. 大規模言語モデル(LLM)

LLMはテキスト専用の基盤モデルで、大規模なテキストコーパスで訓練され、人間の言語を理解し生成します。

2.1. LLMの能力

能力説明例
テキスト生成新しいテキストコンテンツを作成記事、メール、物語
要約長いテキストを凝縮文書の要約
翻訳言語間の変換英語 → 日本語
Q&A質問に回答カスタマーサポート、FAQ
コード生成コードの作成と説明Amazon Q Developer
テキスト分類テキストのカテゴリ分け感情分析
推論論理的分析数学問題、ステップバイステップの推論

2.2. LLMの制限

  • 知識のカットオフ:訓練データのカットオフ日以降のイベントは知らない
  • ハルシネーション:自信を持って誤った情報を生成する可能性
  • コンテキストウィンドウの制限:無制限のテキストは処理できない
  • リアルタイムデータなし:インターネットやライブデータにアクセス不可(拡張しない限り)
  • 高コスト:大規模モデルは推論に大量のコンピュートが必要
  • バイアス:訓練データのバイアスを反映する可能性

3. エンベディングとベクトル表現

エンベディングはテキスト(または画像、音声)を機械が理解できる数値ベクトルに変換します。意味が似たテキストは多次元空間で互いに近いベクトルを持ちます。

Text: "King"     → [0.23, 0.87, -0.12, 0.45, ...]
Text: "Queen"    → [0.21, 0.89, -0.15, 0.43, ...]  ← 近いベクトル!
Text: "Banana"   → [0.91, -0.32, 0.67, -0.88, ...] ← 遠い

関係: King - Man + Woman ≈ Queen

試験でエンベディングが重要な理由:

  • セマンティック検索:意味に基づいて類似文書を検索(キーワードだけではなく)
  • RAG:文書をエンベディングに変換、ベクトルDBに保存、関連コンテキストを取得
  • クラスタリング:類似の文書/文をグループ化
  • Amazon Titan Embeddings:テキストエンベディング作成専用のAWSモデル

ベクトルデータベース

エンベディングを効率的に保存・検索:

ベクトルDB備考
Amazon OpenSearch ServerlessAWSマネージドのベクトル検索
Amazon Aurora(pgvector)ベクトル拡張付きPostgreSQL
Pinecone人気のサードパーティベクトルDB
Amazon Bedrock Knowledge BasesマネージドRAG — 内部でベクトルストレージを管理

4. マルチモーダルモデル

マルチモーダルモデルは複数のデータタイプ(テキスト + 画像 + 音声 + 動画)のコンテンツを処理・生成できます。

AWSでの例:

モデルモダリティできること
Claude 3(Anthropic)テキスト + 画像入力 → テキスト出力画像の説明、チャートの分析、ビジュアルQ&A
Amazon Titan Image Generatorテキスト → 画像テキストの説明から画像を生成
Amazon Titan Multimodal Embeddingsテキスト + 画像 → ベクトルテキストと画像の横断検索
Stable Diffusion(Stability AI)テキスト → 画像画像の生成と編集

試験向けマルチモーダルのユースケース:

  • 「商品画像を分析して説明文を生成」→ マルチモーダルモデル(Claude 3 Vision)
  • 「テキストの説明から商品画像を生成」→ テキスト→画像(Titan Image Generator、Stable Diffusion)
  • 「テキスト文書と画像の両方を横断的に検索」→ マルチモーダルエンベディング

5. 拡散モデル

拡散モデル(Stable Diffusionなど)の動作原理:

  1. 順方向プロセス:画像に徐々にノイズを追加し、純粋なノイズになるまで
  2. 逆方向プロセス:ステップごとにノイズを除去し、新しい画像を生成
訓練(順方向):
クリーンな画像 → ノイズ追加 → さらにノイズ追加 → ... → 純粋なノイズ

生成(逆方向):
純粋なノイズ → ノイズ除去 → さらにノイズ除去 → ... → 新しい画像
                           (テキストプロンプトによるガイド)

試験のコツ:詳細な数学は知る必要ありません。概念を理解してください:拡散モデルはテキストプロンプトに導かれて徐々にノイズを除去することで画像を生成します。

6. 事前学習 vs ファインチューニング vs プロンプティング

手法内容必要なデータコスト使用タイミング
事前学習ゼロから訓練数十億の例$$$$新しいFMの作成(プロバイダーが実施)
ファインチューニング既存FMの追加訓練数千の例$$ドメイン固有の知識
プロンプトエンジニアリングより良い入力の作成なし(少数の例)$迅速な適応、訓練不要
RAG外部データで拡張ナレッジベース$最新/独自データへのアクセス

試験向け決定木:

モデルに特定のドメイン知識が必要?
├── 知識は提供可能な文書にある?
│   └── はい → RAG(Bedrock Knowledge Bases)
│   └── いいえ、モデルがパターンを学習する必要がある →
│       ├── 数千の訓練例がある? → ファインチューニング
│       └── 少数の例のみ? → Few-shotプロンプティング
├── 一般知識で十分? → プロンプトエンジニアリング(Zero-shot/Few-shot)

7. 練習問題

Q1:ある企業が、商品画像とテキストの説明の両方にわたって関連情報を検索したいと考えています。最も適切なモデルの種類はどれですか?

  • A) テキストのみのLLM
  • B) マルチモーダルエンベディングモデル ✓
  • C) 拡散モデル
  • D) RNNモデル

解説:マルチモーダルエンベディングモデルは、テキストと画像の両方を同じベクトル空間でベクトル表現に変換し、クロスモーダル検索を可能にします。

Q2:チャットボットやコンテンツ作成などのテキスト生成タスクに最も適したTransformerアーキテクチャはどれですか?

  • A) エンコーダのみ(BERT)
  • B) デコーダのみ(GPT、Claude) ✓
  • C) エンコーダ-デコーダ(T5)
  • D) 畳み込みニューラルネットワーク(CNN)

解説:デコーダのみのアーキテクチャはトークンを1つずつ生成(自己回帰)し、現代のほとんどのチャットボットやテキストジェネレーターの基盤となっています。

Q3:生成AIアプリケーションにおけるテキストエンベディングの目的は何ですか?

  • A) ストレージ用にファイルを圧縮する
  • B) テキストを意味を捉えた数値ベクトルに変換する ✓
  • C) セキュリティのためにテキストを暗号化する
  • D) 言語間でテキストを翻訳する

解説:エンベディングは意味を捉えたテキストの数値ベクトル表現です。類似したテキストは類似したベクトルを持ち、セマンティック検索、RAG、クラスタリングを可能にします。