変更要約: 初版: ドメイン4(運用効率と最適化)の3節を作成
4.1コスト最適化とリソース効率
FM コストを抑える戦略を学びます。トークン効率(コンテキスト最適化・圧縮・プルーニング)、モデル階層化、プロンプトキャッシュ/セマンティックキャッシュ、バッチ推論、プロビジョンドスループット最適化を扱います。
FM のコストは主にトークン量で決まります。入出力トークンを削り、無駄な呼び出しを避け、難易度に応じてモデルを使い分けることで、品質を保ちつつコストを下げます。
4.1.1コストを下げる手段
- トークン効率:コンテキストウィンドウの最適化、プロンプト圧縮、コンテキストのプルーニング、応答長の制限でトークンを削減。
- モデル階層化:問い合わせの複雑さに応じて小型/安価モデルと大型モデルを使い分ける(価格対性能比で選定)。
- キャッシュ:プロンプトキャッシュ(共通の接頭辞を再利用)や セマンティックキャッシュ(意味的に同じ問い合わせの結果を再利用)で不要な呼び出しを避ける。
- バッチ/予約:バッチ推論 で大量処理を割安に、安定負荷は プロビジョンドスループット を最適化、Auto Scaling で使用率を監視。
「同じ/似た問い合わせの結果を再利用=セマンティックキャッシュ」「共通接頭辞の再計算を省く=プロンプトキャッシュ」「大量の非同期処理を割安に=バッチ推論」「簡単な問い合わせは小型モデル=モデル階層化」「トークン削減=コンテキスト最適化/圧縮」 は頻出です。
コスト最適化は「トークンを減らす・呼び出しを減らす・適材適所のモデル・適切な購入形態」の掛け合わせです。トークンはコンテキスト最適化(必要な根拠だけを渡す)・プロンプト圧縮・コンテキストのプルーニング・応答長制限で削減。呼び出しは セマンティックキャッシュ(意味的に同一の問い合わせの結果を再利用)と プロンプトキャッシュ(共通の接頭辞=システムプロンプト等の再計算を省く)で削減し、結果のフィンガープリント/決定的ハッシュでキャッシュキーを作ります。モデルは モデル階層化(簡単な問い合わせ→小型、難しい→大型)で価格対性能を最適化。購入形態は、大量・非同期なら バッチ推論(割安)、安定高負荷なら プロビジョンドスループット の容量を使用率に合わせて最適化、バーストはオンデマンド。AWS コスト異常検出 や Cost Explorer で異常な支出を監視します。重要なのは、品質を落とさずに冗長なトークンと重複呼び出しを削ることです。
| 狙い | 手段 | ポイント |
|---|---|---|
| 重複呼び出し削減 | セマンティック/プロンプトキャッシュ | 意味同一/共通接頭辞を再利用 |
| トークン削減 | コンテキスト最適化/圧縮 | 必要な根拠だけ渡す |
| 大量処理を割安に | バッチ推論 | 非同期で単価を下げる |
| 適材適所 | モデル階層化 | 難易度でモデルを選択 |
ひっかけ: 「コスト削減には常に最小のモデルを使うのが正解」は誤りです。難しい問い合わせを小型モデルで処理すると品質低下・再試行で逆にコスト増。モデル階層化で難易度に応じて選びます。また「プロンプトキャッシュとセマンティックキャッシュは同じ」も誤り(前者は共通接頭辞の再計算回避、後者は意味的に同一の問い合わせ結果の再利用)。
4.1.2この節のまとめ
- 呼び出し削減=セマンティック/プロンプトキャッシュ/トークン削減=コンテキスト最適化/圧縮
- 適材適所=モデル階層化/割安処理=バッチ推論/安定負荷=プロビジョンド最適化
進捗の記録にはログインが必要です。
理解度チェック
(軽い確認用)Q1. FAQ ボットで、表現は違うが意味的に同じ質問が多数寄せられ FM コストが膨らんでいる。最も効果的なコスト削減策は?
Q2. 毎晩、数十万件の文書を要約するバッチ処理がある。リアルタイム性は不要でコストを最小化したい。最適なのは?
Q3. すべての問い合わせを最大の大型モデルで処理しておりコストが高い。品質を保ちつつコストを下げたい。最適なのは?

