🤖 第1章:LLMとは何か

大規模言語モデルの定義、歴史、そして未来

📖 読了時間: 25-30分 📊 難易度: 初級 💻 コード例: 5個 📝 演習: 3問

はじめに

2023年以降、ChatGPTの登場により、AI技術が一般社会に急速に浸透しました。ChatGPTの背後にある技術が大規模言語モデル(Large Language Model: LLM)です。

この章では、LLMとは何か、どのような歴史を経て現在の形になったのか、そして代表的なモデルにはどのようなものがあるのかを学びます。

1.1 LLMの定義

大規模言語モデル(LLM)とは

大規模言語モデル(Large Language Model: LLM)とは、膨大なテキストデータで訓練された、自然言語の理解と生成を行う深層学習モデルです。

📌 LLMの主な特徴

LLMの基本構造

現代のLLMの多くはTransformerアーキテクチャをベースにしています。Transformerは2017年にGoogleが発表した革新的なニューラルネットワーク構造です。

graph TD A[入力テキスト] --> B[トークン化] B --> C[埋め込み層] C --> D[Transformer層 x N] D --> E[出力層] E --> F[予測テキスト] style A fill:#e3f2fd style B fill:#fff3e0 style C fill:#f3e5f5 style D fill:#e8f5e9 style E fill:#fce4ec style F fill:#e3f2fd

1.2 LLMの歴史

言語モデルの進化

言語モデルは長い歴史を持ちますが、2018年以降に急速に発展しました。

timeline title LLMの進化 2017 : Transformer登場(Vaswani et al.) 2018 : BERT(Google)、GPT-1(OpenAI) 2019 : GPT-2(OpenAI)、T5(Google) 2020 : GPT-3(1750億パラメータ) 2021 : Codex(GitHub Copilot) 2022 : ChatGPT公開(GPT-3.5ベース) 2023 : GPT-4、Claude、LLaMA、Gemini 2024 : GPT-4 Turbo、Claude 3、LLaMA 3

主要なマイルストーン

2017年:Transformer(トランスフォーマー)

Googleの論文 "Attention is All You Need" で提案されたTransformerが、LLMの基礎となるアーキテクチャになりました。

2018年:BERT(Bidirectional Encoder Representations from Transformers)

Googleが発表した双方向の言語モデル。文脈の前後両方を考慮できる点が画期的でした。

2018年:GPT-1(Generative Pre-trained Transformer)

OpenAIが発表した生成型言語モデル。事前学習+ファインチューニングのアプローチを確立しました。

2020年:GPT-3

GPTシリーズの第3世代。パラメータ数の飛躍的増加により、Few-Shot Learningが可能になりました。

2022年:ChatGPT

GPT-3.5をベースに、人間のフィードバックで調整されたチャットボット。AI技術の大衆化のきっかけとなりました。

2023年:GPT-4

OpenAIの最新モデル(執筆時点)。マルチモーダル(テキスト+画像)に対応しました。

1.3 代表的なLLMモデル

主要なLLMの比較

モデル 開発元 パラメータ数 特徴 公開状況
GPT-4 OpenAI 非公開(推定1兆+) マルチモーダル、高精度 API経由
Claude 3 Anthropic 非公開 長文理解、安全性重視 API経由
Gemini Google 非公開 マルチモーダル、統合型 API経由
LLaMA 3 Meta 8B, 70B, 405B オープンソース、高効率 完全公開
Mistral Mistral AI 7B, 8x7B 小型高性能、MoE オープンソース

💡 パラメータ数の表記

各モデルの詳細

GPT-4(OpenAI)

Claude 3(Anthropic)

Gemini(Google)

LLaMA 3(Meta)

1.4 トークン化の仕組み

トークンとは

LLMは文字列をそのまま処理せず、トークンという単位に分割します。トークンは単語の一部、単語全体、句読点などになります。

🔍 トークン化の例

入力テキスト: "ChatGPTは素晴らしいAIです"

トークン分割: ["Chat", "G", "PT", "は", "素晴らしい", "AI", "です"]

→ 7トークン

主なトークン化手法

1. BPE (Byte Pair Encoding)

2. WordPiece

3. SentencePiece

トークン化のPythonコード例

# Hugging Face transformersを使ったトークン化
from transformers import AutoTokenizer

# GPT-2のトークナイザーを読み込み
tokenizer = AutoTokenizer.from_pretrained("gpt2")

# テキストをトークン化
text = "ChatGPTは素晴らしいAIです"
tokens = tokenizer.tokenize(text)
print("トークン:", tokens)
# 出力例: ['Chat', 'G', 'PT', 'は', '素', '晴', 'らしい', 'AI', 'です']

# トークンIDに変換
token_ids = tokenizer.encode(text)
print("トークンID:", token_ids)

# トークン数を確認
print(f"トークン数: {len(token_ids)}")

⚠️ トークン数の重要性

多くのLLM APIはトークン数で課金されます。また、モデルには最大トークン数(コンテキスト長)の制限があります。

1.5 Transformerアーキテクチャの基礎

Transformerの基本構造

TransformerはEncoderとDecoderから構成されますが、LLMの多くはDecoder-Onlyアーキテクチャを採用しています。

graph TD A[入力トークン] --> B[埋め込み + 位置エンコーディング] B --> C[Multi-Head Self-Attention] C --> D[Add & Norm] D --> E[Feed-Forward Network] E --> F[Add & Norm] F --> G[次の層へ or 出力] style A fill:#e3f2fd style C fill:#fff3e0 style E fill:#f3e5f5 style G fill:#e8f5e9

主要コンポーネント

1. Self-Attention(自己注意機構)

文中の各単語が他のすべての単語との関連性を学習する仕組みです。

🔍 Self-Attentionの例

: "猫が魚を食べた"

「食べた」に注目すると:

→ モデルは文法構造を自動的に学習

2. Multi-Head Attention(多頭注意機構)

複数の異なる観点(head)から注意を計算し、並列に処理します。

3. Position Encoding(位置エンコーディング)

Transformerは並列処理のため、単語の順序情報を明示的に与える必要があります。

4. Feed-Forward Network(順伝播ネットワーク)

各トークンの表現を独立に変換する全結合層です。

Decoder-Only vs Encoder-Decoder

アーキテクチャ 代表モデル 特徴 主な用途
Decoder-Only GPT-3, GPT-4, LLaMA 自己回帰的生成 テキスト生成、チャット
Encoder-Only BERT 双方向理解 文分類、固有表現認識
Encoder-Decoder T5, BART 入力→出力変換 翻訳、要約

1.6 LLMの活用事例

主な活用領域

1. コンテンツ生成

2. コード生成・支援

3. 質問応答・カスタマーサポート

4. 翻訳と要約

5. 教育支援

LLMを使ってみる:簡単なコード例

# Hugging Face transformersでGPT-2を使った文章生成
from transformers import pipeline

# テキスト生成パイプラインを作成
generator = pipeline('text-generation', model='gpt2')

# プロンプトを与えて文章生成
prompt = "人工知能の未来について考えると"
result = generator(
    prompt,
    max_length=100,
    num_return_sequences=1,
    temperature=0.7
)

print(result[0]['generated_text'])

💡 パラメータの説明

1.7 LLMの限界と課題

主な課題

1. ハルシネーション(幻覚)

LLMは存在しない情報を、もっともらしく生成することがあります。

⚠️ ハルシネーションの例

質問: "2024年のノーベル物理学賞受賞者は誰ですか?"

誤った回答例: "山田太郎博士が量子コンピュータの研究で受賞しました"

→ モデルは知らないことを「知らない」と言えず、もっともらしい嘘をつくことがある

2. バイアスと公平性

3. 知識のカットオフ

4. 計算コストとエネルギー

5. プライバシーとセキュリティ

対策と緩和策

1.8 LLMの未来

今後の発展方向

1. マルチモーダルAI

テキストだけでなく、画像、音声、動画を統合的に理解・生成するモデル。

2. より効率的なモデル

小型でも高性能なモデルの開発。

3. エージェント型AI

ツールを使い、計画を立て、行動できるAI。

4. パーソナライズ

個人に最適化されたAIアシスタント。

5. オープンソース化

より多くのモデルがオープンソースとして公開される傾向。

まとめ

この章では、大規模言語モデル(LLM)の基礎を学びました。

📌 重要ポイント

演習問題

📝 演習1:基礎知識確認

問題: 以下の質問に答えてください。

  1. LLMの「大規模」とは何を指しますか?
  2. Transformerアーキテクチャの主な利点を2つ挙げてください。
  3. Decoder-OnlyとEncoder-Onlyモデルの違いを説明してください。

📝 演習2:トークン化の実践

課題: 以下のコードを実行し、異なるテキストのトークン数を比較してください。

from transformers import AutoTokenizer

tokenizer = AutoTokenizer.from_pretrained("gpt2")

texts = [
    "こんにちは",
    "Hello",
    "人工知能は素晴らしい技術です",
    "Artificial Intelligence is amazing"
]

for text in texts:
    tokens = tokenizer.encode(text)
    print(f"'{text}' → {len(tokens)} tokens")

考察: 日本語と英語でトークン数に違いはありますか? その理由を考えてください。

📝 演習3:モデル比較

課題: GPT-4、Claude、LLaMAの中から1つ選び、以下を調査してください。

発展: 選んだモデルの公式ドキュメントを読み、技術的詳細をまとめてください。

次の章へ

次の章では、LLMの中核技術であるTransformerアーキテクチャを詳しく学びます。Self-Attention、Multi-Head Attention、位置エンコーディングなどの仕組みを理解し、実際に動くコードで体験します。

免責事項