ストーリー
佐
佐藤CTO
GPT-4クラスのモデルを無制限に叩いたら、月額コストが1,000万円を超える。コスト効率を考えないAIシステムは本番では生き残れない
佐
佐藤CTO
モデルルーティング、キャッシュ、プロンプト圧縮 — 品質を保ちながらコストを最適化する戦略が必要だ
LLMコストの構造
| コスト要素 | 単位 | 相場(2025年時点) |
|---|
| 入力トークン | 1Kトークン | $0.001-$0.03 |
| 出力トークン | 1Kトークン | $0.002-$0.06 |
| エンベディング | 1Kトークン | $0.0001-$0.001 |
| ファインチューニング | 1Kトークン | $0.003-$0.08 |
| ベクトルDB | GB/月 | $0.1-$10 |
コスト計算例
月間100万リクエスト × 平均1,000入力トークン × 平均500出力トークン
高コストモデル(GPT-4クラス):
入力: 1M × 1K × $0.03/1K = $30,000
出力: 1M × 0.5K × $0.06/1K = $30,000
月額: $60,000(約900万円)
低コストモデル(GPT-3.5クラス):
入力: 1M × 1K × $0.001/1K = $1,000
出力: 1M × 0.5K × $0.002/1K = $1,000
月額: $2,000(約30万円)
差額: 30倍のコスト差
コスト最適化戦略
1. モデルルーティング
graph TD
REQ["ユーザーリクエスト"] --> CLS["複雑度分類器<br/>(軽量モデル)"]
CLS -->|"簡単(FAQ等)"| S["小型モデル<br/>(Haiku/GPT-3.5)"]
CLS -->|"普通(要約等)"| M["中型モデル<br/>(Sonnet/GPT-4o-mini)"]
CLS -->|"複雑(分析等)"| L["大型モデル<br/>(Opus/GPT-4)"]
style S fill:#e8f5e9,stroke:#2e7d32
style M fill:#fff3e0,stroke:#e65100
style L fill:#ffebee,stroke:#c62828
| 複雑度 | モデル | コスト比 | 割合(典型) |
|---|
| 簡単 | 小型 | 1x | 60% |
| 普通 | 中型 | 5x | 30% |
| 複雑 | 大型 | 30x | 10% |
2. セマンティックキャッシュ
graph TD
REQ["リクエスト"] --> EMB["エンベディング化"] --> SEARCH["類似キャッシュ検索"]
SEARCH --> CHECK{"類似度"}
CHECK -->|"> 0.95"| HIT["キャッシュ返却"]
CHECK -->|"< 0.95"| LLM["LLM呼び出し"]
LLM --> SAVE["キャッシュ保存"]
style HIT fill:#e8f5e9,stroke:#2e7d32
style LLM fill:#fff3e0,stroke:#e65100
| 項目 | 詳細 |
|---|
| キャッシュヒット率 | 一般的なFAQで40-60% |
| コスト削減効果 | ヒット率50%で50%削減 |
| 注意点 | 鮮度管理(TTL設定)、パーソナライズ対応 |
3. プロンプト最適化
| 手法 | 効果 | 実装難易度 |
|---|
| プロンプト圧縮 | トークン数20-40%削減 | 低 |
| Few-shot → Zero-shot移行 | 例示トークン削減 | 中 |
| システムプロンプトの最小化 | 固定コスト削減 | 低 |
| 出力フォーマット指定 | 冗長な出力の抑制 | 低 |
4. バッチ処理
| 処理方式 | レイテンシ | コスト |
|---|
| リアルタイム | 低 | 高(通常料金) |
| バッチAPI | 高(24時間以内) | 50%オフ(OpenAI Batch API等) |
ファインチューニング vs Few-shot
| 比較項目 | Few-shot | ファインチューニング |
|---|
| 初期コスト | なし | トレーニングコスト |
| 推論コスト | 高(例示トークン分) | 低(例示不要) |
| 品質 | 良好 | より一貫性が高い |
| 更新の容易さ | プロンプト変更のみ | 再トレーニング必要 |
| 損益分岐点 | 月間1万リクエスト未満 | 月間1万リクエスト以上 |
まとめ
| ポイント | 内容 |
|---|
| コスト構造 | 入力/出力トークン単価とリクエスト量で決まる |
| モデルルーティング | 複雑度に応じたモデル使い分けで大幅削減 |
| キャッシュ | セマンティックキャッシュで重複リクエストを削減 |
| プロンプト最適化 | トークン数を最小化して固定コストを削減 |
次のステップへ
次は演習でLLM統合の実装を設計します。
推定読了時間: 25分