LLM
大量のテキストデータで学習した大規模言語モデル
LLM とは
LLM (Large Language Model) は、大量のテキストデータで事前学習された大規模な言語モデルである。Transformer アーキテクチャをベースに、数十億〜数兆のパラメータを持ち、テキスト生成、要約、翻訳、分類、コード生成など多様なタスクをこなす。
GPT (OpenAI)、Claude (Anthropic)、Nova (Amazon)、Gemini (Google) が代表的なモデルファミリーである。
Transformer アーキテクチャ
2017 年の論文「Attention Is All You Need」で提案された Transformer が LLM の基盤技術。自己注意機構 (Self-Attention) により、文中の単語間の関係を並列に計算する。
入力: 「猫が魚を食べた」
↓
[トークン化] → [埋め込み] → [Self-Attention × N層] → [出力]
↑
各単語が他の全単語との
関連度を計算
RNN/LSTM と異なり並列計算が可能なため、GPU で効率的に学習できる。
LLM の利用形態
| 形態 | 説明 | AWS サービス |
|---|---|---|
| API 利用 | プロバイダーのモデルを API で呼び出す | Bedrock |
| ファインチューニング | 自社データで追加学習 | Bedrock / SageMaker |
| RAG | 外部知識を検索して回答に組み込む | Bedrock + OpenSearch |
| セルフホスト | オープンソースモデルを自前で運用 | SageMaker Endpoints |
コスト効率と運用負荷の観点から、まず Bedrock の API 利用を検討し、精度が不足する場合にファインチューニングや RAG を導入するのが定石。
トークンとコスト
LLM はテキストをトークン (単語の断片) に分割して処理する。日本語は 1 文字あたり 1〜3 トークンを消費し、英語より割高になる。
| モデル | 入力コスト | 出力コスト |
|---|---|---|
| Nova Lite | 低い | 低い |
| Nova Pro | 中程度 | 中程度 |
| Claude Sonnet | 高い | 高い |
コスト最適化のポイントは、プロンプトを簡潔にする、キャッシュで同一リクエストの重複を排除する、タスクの難易度に応じてモデルを使い分ける、の 3 つ。
ハルシネーション
LLM は学習データに基づいて「もっともらしい」テキストを生成するため、事実と異なる内容を自信を持って出力することがある (ハルシネーション)。
対策として、RAG で外部知識を参照させる、出力を検証するロジックを組み込む、temperature を低く設定して出力を安定させる、といった手法がある。
関連書籍も参考になる。