【AWSの生成AI】Amazon Bedrock ~概要編~
はじめに
みなさま、こんにちは。
クラウドソリューション第2グループ入社2年目のkugishimakです。
この記事ではAmazon Bedrockについて概要やできること、使用する場合の料金について説明していきます。
この記事は アイソルート Advent Calendar 2024 の2日目の記事です。
目次
Amazon Bedrockとは?
Amazon Bedrockは、主要なAI企業(AI21 Labs、Anthropic、Cohere、Meta、Mistral AI、Stability AI、Amazonといった企業)が
提供する高性能な基盤モデルを、1つのAPIを通じて利用できるフルマネージドサービスです。
「フルマネージドサービス」とは、インフラの設定や運用をユーザーが行う必要がなく、すべてAWSが管理してくれるサービスを指します。
このサービスは、セキュリティやプライバシーに配慮し、
責任あるAIの原則(AIの開発や運用において、倫理的観点や法的観点から考慮すべき観点)を取り入れながら、
生成AIを活用したアプリケーション開発に必要な幅広い機能を提供しています。
さらに、Amazon Bedrockはサーバーレスで提供されているため、
サーバーやネットワークなどのインフラストラクチャを管理する必要がありません。
これにより、開発者は運用負担を気にせず、アプリケーションの構築に専念できます。
また、既存のAWSサービスと統合して利用できるため、生成AI機能をアプリケーションに組み込むことも可能です。
Amazon Bedrockってなにができる?
Amazon Bedrockを使用すると次のようなことができます。
◆プロンプトと設定を試す
Amazon Bedrockでは、さまざまな基盤モデルの設定を試して、
AIに指示を与える入力(プロンプト)を送信し、生成されるレスポンスを確認できます。
たとえば:
- モデル推論を実行してプロンプトを送信する
- AWSのコンソール上で提供される「テキスト」「画像」「チャット」用の試用環境を使いGUIで試す
- 準備が整ったら、好きな基盤モデルのAPIを使用してアプリケーションからモデルにリクエストを送信する設定を行う
◆独自のデータソースの情報でレスポンスを強化する
独自のデータを利用して、基盤モデルの生成するレスポンスをより適切なものにできます。
たとえば:
- ユーザーが問い合わせたいデータをアップロードし、
ナレッジベース(業務に関する知見を一箇所にまとめたデータベース)を構築する
→ナレッジベースを活用することで、モデルが提供するレスポンスの正確さや関連性を向上させることができる
◆トレーニングデータを使用してモデルをカスタマイズする
基盤モデルを特定の用途に合わせてカスタマイズすることも可能です。
たとえば:
- ファインチューニング(Fine-tuning):
特定のタスクに最適化するためにモデルのパラメータを調整する - 継続的な事前トレーニング:
モデルに新しいデータを学習させ、特定分野での性能を向上させる
◆ユースケースに最適なモデルを判断する
様々モデルの性能を比較し、ユースケースに最適なモデルを選択することができます。
- 組み込みのデータセットやカスタムのプロンプトデータセットを使い、さまざまなモデルの出力を評価可能
◆不適切なコンテンツや不要なコンテンツを防ぐ
生成AIの安全性や適切性を高めるためのガードレールを設定できます。
- ガードレールを活用すると、不適切なコンテンツのフィルタリングやプロンプト攻撃を防ぐことができる
- しきい値の設定が可能であるため、フィルタリングの強度も調整可能
料金について
Amazon Bedrockでは、モデルの推論とカスタマイズに料金がかかります。
モデルの推論
推論とは、モデルに提供された入力(プロンプト)から出力を生成するプロセスを指します。
簡単にいえばモデルの使用にかかる料金のことです。
こちらの料金形態は大きく分けて3種類となっています。
1. オンデマンドモード
料金:
- 従量課金制、使用した分のみの支払い
モード:
- テキスト生成モデル
→入力トークンの処理と、出力トークンの生成ごとに課金 - 埋め込みモデル
→入力トークンの処理ごとに課金 - 画像生成モデル
→生成されたすべての画像ごとに課金
その他:
一部のモデルでクロスリージョン推論をサポート
Q:クロスリージョン推論とは…?
通常、Amazon Bedrockでモデルの推論を実行する際は、特定のAWSリージョンでリクエストを処理します。
しかし、以下のような状況では処理能力が限界に達することがあります。
サービスクォータ制限: 各リージョンでのリクエスト数に上限が設定されている場合がある。
トラフィックの急増: 突発的に大量のリクエストが発生し、処理が追いつかない。
このような場合に、クロスリージョン推論を利用することで、別のAWSリージョンにリクエストを分散し、スムーズな処理を実現できます。
分散処理:
-
- 他のリージョンの計算リソースを使用して、トラフィックを分散できる
高いスループットと回復力:
-
- 複数リージョンを活用することで、1つのリージョンだけでは対応できない量のリクエストにも対応可能
- 1つのリージョンで障害が発生しても、他のリージョンで処理を継続可能
料金については、リクエストが実行されたリージョンでの使用料金が適用されるため、
クロスリージョン推論を使用したから追加で別途料金が発生する、ということはありません。
2. バッチモード
料金:
- 従量課金制、使用した分のみの支払い
- オンデマンドモードの料金に比べ、最大50%安価となっている
モード:
- 一連のプロンプトを1つの入力ファイルとして提供し
応答を1つの出力ファイルとして受け取る方式で、大規模な予測を一括処理可能 - 出力はAmazon S3に保存され、後でアクセス可能
その他:
- 対象のモデルが限られている
東京リージョンの場合:- Anthropic Claude 3.5 Sonnet
- Anthropic Claude 3 Haiku
3. プロビジョンスループットモード
料金:
- モデルユニットの購入し時間単位で課金(最小で1時間の請求)
- コミットメント設定による割引きがある(なし or 1か月 or 6か月で契約が可能)
モード:
- 特定の基盤モデルまたはカスタムモデルの「モデルユニット」を購入する
- モデルユニットは1分間にそのモデルが処理できるトークン数の最大数を指し、事前に契約した処理能力を確保できる
その他:
- 唯一カスタムモデルが使用できる
カスタマイズ
Amazon Bedrockでは独自のデータを使用して基盤モデルをカスタマイズできます。
ラベル付けされたデータを使用し、モデルを微調整することや、
ラベル付けされていないデータで継続的な事前トレーニングを実施することも可能です。
料金:
1. モデルのトレーニング費用
トレーニングに使用されるトークン数 × エポック数(データセットを何度反復するか)に基づいて課金されます。
- 料金の算出基準:トレーニングデータコーパス内のトークン数 × エポック数
※トレーニングデータコーパスのトークン数 (データの大きさ)
※エポック数(データセットを何回繰り返してモデルをトレーニングするか)
2. モデルストレージ費用
カスタマイズしたモデルはストレージに保存されモデルごとに毎月課金されます。
- 料金の算出基準:モデルのサイズや保存期間に応じた料金
おわりに
本記事では、Amazon Bedrockの概要について紹介しました。
次の記事ではAmazon Bedrockで基盤モデルを実際に使用してみる「【AWSの生成AI】Amazon Bedrock ~実践編~」を投稿予定です!
明日の記事はkaneko.kさんのSQL Fluff カスタムルールの覚書(導入編)です。
それではまた👋