AIF / ドメイン2 生成AIの基礎
重要な内容
生成AIのコストとスループット
の費用はで積み上がるため、設計の段階でコストの見通しを持つことが必要です。 AIF-C01では、コストと、応答性のトレードオフを判断する問題が出ます。
概要
のコストは、主に次の3つで決まります。
| 費用の種類 | 課金の考え方 |
|---|---|
| の | と出力トークンの数に応じて支払います。 |
| まとめて処理する分、単価が抑えられる場合があります。 | |
| プロビジョンド | 確保した処理能力に対して時間単位で支払います。 |
| モデルのカスタマイズ | 学習の実行と、作ったモデルの保管に対して支払います。 |
| 知識ベース | の保管先 (など) の費用が別に発生します。 |
主要技術
①トークン数を減らす工夫 ⚠️ 頻出
| 工夫 | 効果 |
|---|---|
| 不要な文脈を渡さない | を減らします。 |
| 出力の最大長を制限する | 出力トークンを抑えます。 |
| 検索で渡す文書を絞る | の入力量を抑えます。 |
| 短い応答を指示する | 出力の冗長さを減らします。 |
| 小さなモデルへ振り分ける | 単価を下げます。 |
| を使う | 毎回同じ前半部分 (長い指示や文書) の処理を再利用し、対応するモデルで遅延と入力の費用を抑えます。 |
⚠️ 頻出: 費用が想定を超えたときの最初の見直しは、渡している文脈の量と出力の長さです。
Point
- プロンプトキャッシュ (prompt caching) は、プロンプトの先頭から同じ内容が続く部分を一時的に保存し、次の呼び出しで再利用する機能です。
- 同じ文書について何度も質問するチャットのように、長く繰り返し使う文脈がある ときに効果があります。
- 再利用されるのは先頭からの一致部分なので、変わらない内容を前に、毎回変わる内容を後ろに置きます。
②モデルの大きさとのトレードオフ ⚠️ 頻出
| 観点 | 大きなモデル | 小さなモデル |
|---|---|---|
| 精度 | 高くなります。 | 限定的です。 |
| 応答速度 | 遅くなります。 | 速くなります。 |
| 単価 | 高くなります。 | 安くなります。 |
| 向く処理 | 複雑な、長文の理解 | 分類、抽出、定型の短い応答 |
複数のモデルを使い分け、単純な依頼は小さなモデル、難しい依頼だけ大きなモデルへ回す設計が有効です。
③スループットの選択 ⚠️ 頻出
| 方式 | 課金 | 向く要件 |
|---|---|---|
| 使った分だけ | 利用量が読めない、試作段階 | |
| プロビジョンド | 確保した能力に対して時間単位 | 安定した大量処理、性能の保証が必要 |
| 一括処理向けの単価 | 夜間処理など即時性が不要な場合 |
⚠️ 頻出: 「一定の性能を保証したい」場合はプロビジョンドスループットです。「利用量が読めない試作」ならオンデマンドです。
カスタマイズしたモデル (やで作ったモデル) のには、2つの選び方があります。
| 方式 | 課金 | 向く要件 |
|---|---|---|
| プロビジョンドスループット | 確保した能力に対して時間単位 | 一定の処理能力と低い遅延を保証したい |
| カスタムモデルのオンデマンド推論 | 使った分だけ | 処理能力を確保せず、利用量に応じて払いたい。カスタムモデルを配置 (デプロイ) して呼び出します。 |
カスタムモデルのオンデマンド推論は、対応するモデルとが限られます。使う前に対応状況を確認します。
オンデマンドの呼び出しでは、リクエストごとにサービス階層 (service tier) を選んで、応答の速さと費用を調整できます。
| 階層 | 内容 | 向く要件 |
|---|---|---|
| Priority | 標準より高い料金で、ほかの階層より優先して処理され、最も速い応答を得られます。事前の予約は要りません。 | 顧客向けの重要な処理で速さを優先したいが、常時の容量予約までは要らない |
| Standard | 指定しないときの既定の階層です。 | 日常の生成、分析、文書処理 |
| Flex | 処理に時間がかかってもよい代わりに、割り引いた料金で処理します。 | モデルの評価、要約、エージェントの処理など待てる処理 |
| Reserved | 優先される処理能力を期間を決めて予約します。予約を超えた分は Standard で処理されます。 | 止められない重要なアプリケーション |
対応する階層はモデルごとに異なります。
④クロスリージョン推論
クロスは、推論プロファイルを指定して呼び出すと、が複数のリージョンの計算資源へリクエストを自動で振り分ける仕組みです。 1つのリージョンの処理能力に頼らないため、利用が集中したときのを高められます。振り分けの追加料金はなく、料金は呼び出し元のリージョンで計算されます。
| 種類 | 振り分け先 | 向く要件 |
|---|---|---|
| 地域の推論プロファイル (Geographic) | 米国、EU、アジア太平洋など、決めた地域の中のリージョン | データの処理場所を地域内に留める規制がある |
| グローバル推論プロファイル (Global) | 世界の対応する商用リージョン | 処理場所の制約がなく、費用を抑えたい |
通信はAWSのネットワーク内で暗号化され、呼び出しの記録は呼び出し元のリージョンのに残ります。 推論プロファイルはプロビジョンドスループットには対応しません。
⑤その他のコスト要因
| 要因 | 内容 |
|---|---|
| 冗長性と可用性 | 複数構成にすると費用が増えます。 |
| リージョンの選択 | 提供状況と単価はリージョンで異なります。 |
| 保管容量と稼働時間に応じた費用がかかります。 | |
| 再試行 | 失敗時の再実行もトークン費用として計上されます。 |
| の再作成 | 文書を入れ替えるたびに埋め込みの費用が発生します。 |
⑥コストの可視化と管理
| サービス | 役割 |
|---|---|
| 費用の推移と内訳を確認します。 | |
| 予算を決めてしきい値超過を通知します。 | |
| 呼び出し回数やなどの利用状況を監視します。 | |
| コスト配分タグ | プロジェクト別に費用を分けて把握します。 |
⚠️ 頻出: 予算超過を事前に知らせたいならAWS Budgets、実績の内訳を分析したいならAWS Cost Explorerです。
試験対策
①判断マトリクス
| 問題文のキーワード | 選ぶ判断 |
|---|---|
| 利用量が予測できない試作 | |
| 安定した処理能力を保証したい | プロビジョンド |
| カスタムモデルを、処理能力を確保せずに使った分だけ払って使いたい | カスタムモデルのオンデマンド (対応するモデルの場合) |
| 同じ長い文書や指示を毎回送っている | |
| 夜間に大量の文書を処理したい | |
| 予約なしで、リクエストごとに速い応答を優先したい | Priority階層 |
| 待てる処理を割り引いた料金で行いたい | Flex階層 |
| 利用の集中でスループットが足りない | クロス推論 |
| データの処理場所を地域内に留めたい | 地域の推論プロファイル |
| 応答が遅くコストも高い | 小さなモデルへの振り分けを検討します。 |
| 費用の内訳を分析したい | |
| 予算超過の通知を受けたい | |
| 入力が長く費用がかさむ | 渡す文脈の削減、検索結果の絞り込み |
②よくある誤答
- 精度を上げるために常に大きなモデルを選ぶこと。遅延とコストの要件を満たせなくなります。
- プロビジョンドを常に安い選択と考えること。利用量が少なければのほうが安くなります。
- 知識ベースの費用をモデルの費用だけで見積もること。の保管先の費用も発生します。
参考文献
- Amazon Bedrock pricing
- Increase throughput with Provisioned Throughput
- Process multiple prompts with batch inference
- Set up inference for a custom model
- Prompt caching for faster model inference
- Service tiers for optimizing performance and cost
- Route model inference requests across AWS Regions with cross-Region inference
- AWS Budgets