【Amazon Bedrock】使い終わったカスタムモデルは削除しましょう

本記事は TechHarmony Advent Calendar 2024 12/19付の記事です

こんにちは。ヒエログリファー Masedatiです。

はじめに、私からお伝えしたいことがございます。

はじめに

申し訳ございませんでした。

前提知識

本ブログでは以下について語っています。

  • Amazon Bedrock
    • AWSの生成AI サービス
    • “Fine-tuning”, “Pre-training”, “RAG”等を使用して、回答精度向上が可能
  • Fine-tuning
    • 既に学習済みの機械学習モデルを特定のタスクや目的に合わせてさらに調整し、性能を向上させるプロセス
    • Amazon Bedrockでの料金体系
      • 学習コスト+学習済モデル使用料

経緯

今年8月に以下のブログを発表しました。

内容としては、Amazon BedrockのFine-tuningを用いた生成画像のチューニング検証です。

Fine-tuningモデルを使用するためには、「カスタマイズ」と「プロビジョンドスループット」の購入が必要なため、
さらっと公式ページにて「料金の例」を確認しました。

カスタマイズ (微調整と継続的な事前トレーニング) の価格設定

アプリケーション開発者は、1000 組の画像とテキストを使用して Amazon Titan Image Generator モデルをカスタマイズします。トレーニング後、開発者はカスタムモデルでプロビジョニングされたスループットを 1 時間使用して、モデルのパフォーマンスを評価します。微調整されたモデルは 1 か月間保存されます。評価後、開発者はプロビジョニングされたスループット (1mo commit) を使用してカスタマイズされたモデルをホストします。

微調整にかかる月額費用は次のとおりです。微調整トレーニング (0.005 USD* 500* 64)。ここで、0.005 USD は表示される画像あたりの価格、500 USD はステップ数、64 はバッチサイズ + 1 か月あたりのカスタムモデルストレージ (1.95 USD) + 1 時間のカスタムモデル推論 (21 USD) = 160 USD + 1.95 USD + 21 = 182.95 USD

プロビジョンドスループットの料金

アプリケーション開発者は、テキスト要約のユースケースとして、Titan Text Express の 2 つのモデルユニットを 1 か月契約で購入します。

発生する月間コストの合計: 2 モデルユニット x 18.40 USD/時間 x 24 時間 x 31 日間 = 27,379.20 USD

アプリケーションデベロッパーは、Amazon Titan Image Generator の基本モデルのモデルユニットを 1 か月契約で 1 ユニット購入します。

発生した総費用 = 1 モデルユニット* 16.20ドル* 24時間* 31日間 = 12,052.80ドル

引用:基盤モデルを使用した生成 AI アプリケーションの構築 – Amazon Bedrock の料金 – AWS

ブログ記載のとおり、一旦検証は終了したので、カスタマイズの終了・プロビジョンドスループットの購入を即日終了しました。

事件

年末も近づいていたため、AWS Cost Explorerを使ってAWSのコストを確認しました。

なにこれ

検証自体は8月で終了していたので、9月以降の課金は発生しないはずです。

原因

再度AWS料金体系を確認したところ以下の記述がありました。
Amazon Bedrock を使用すると、データを使用して FM をカスタマイズし、特定のタスクやビジネスコンテキストに合わせてカスタマイズされた応答を提供できます。
ラベル付けされたデータを使用してモデルを微調整することも、ラベル付けされていないデータで継続的な事前トレーニングを行うこともできます。
テキスト生成モデルのカスタマイズでは、モデルが処理したトークンの数 (トレーニングデータコーパス内のトークン数 x エポック数) に基づいてモデルトレーニング費用が課金されます。また、モデルのストレージはモデルごとに毎月課金されます。エポックとは、微調整プロセス中にトレーニングデータセットを 1 回完全に通過することを指します。
カスタマイズされたモデルを使用した推論は、プロビジョニングされたスループットプランに基づいて課金され、プロビジョニングされたスループットを購入する必要があります。カスタマイズされたモデルでは、1 つのモデルユニットが契約期間なしで、推論に使用できます。この単一モデルユニットがカスタムモデルの推論に使用した時間数に対して課金されます。スループットを 1 つのモデルユニットを超えて増やしたい場合は、1 か月または 6 か月の契約期間を購入する必要があります。
コストが継続的に発生していた理由は記載のとおり、「モデルのストレージ料金」が月額課金されていたことです。
つまり、Amazon Bedrock Fine-tuningは以下のコストが発生し、利用終了後はモデルの削除が必要となります。
  • 学習コスト(カスタマイズ)
  • 学習済モデル使用料(プロビジョンドスループット)
  • モデルのストレージ料金
モデルの削除方法

原因としては上記のとおりですが、作成した私に責任があります。
Amazon Bedrockの料金体系を確認しなかった
​長期にわたってコストを確認していなかった

教訓

個人環境でしたら自己責任ですが、そうでない場合は、以下を順守しましょう。

AWSリソース使用前に料金体系はしっかり確認し、理解しよう
AWS Pricing Calculatorを使用して、コストの見積もりをするとより安心ですね。
定期的(週次・月次)にAWS Cost Explorerでコストを確認しよう
週次・月次で環境を確認し、(最低限)自身のリソース・コストを追跡しましょう。
組織全体でコスト削減を行いたい場合は、組織内で定期的にミーティングを設定し、中・短期的なコスト削減施策を検討しましょう。
AWS Well-Architected フレームワーク コスト最適化の柱でも、定期的なミーティングは推奨されています。
Costタグは必ずつけよう
今回Costタグを付与していたので犯人(私)がわかりましたが、つけていなければ事件解決まで時間がかかったでしょう。
未使用リソースは削除しよう
私との約束です。

おわりに

うわっ…私の検証コスト、高すぎ…?

タイトルとURLをコピーしました