2024/4/23 Amazon Bedrock アップデート祭りメモ

## はじめに
2024/4/23、Amazon Bedrock に大量のアップデートが降り注いできました。ちょっと追いきれなくなってきたので、自分用に簡単にまとめています。拾い切れてないものもあるかもしれませんが、AWS What's New に流れてきただけでその数 **10** !!

## 基盤モデル関連
###  Meta の Llama 3 モデルが利用可能に
2024/4/18 に [発表](https://ai.meta.com/blog/meta-llama-3/) されたばかりの Llama 3 8B および Llama 3 70B が Amazon Bedrock で利用できるように。バージニア北部およびオレゴンリージョンで利用可能。

モデルID :
* meta.llama3-8b-instruct-v1:0
* meta.llama3-70b-instruct-v1:0

https://aws.amazon.com/jp/blogs/aws/metas-llama-3-models-are-now-available-in-amazon-bedrock/

### Amazon Titan Image Generator が GA
AWS re:Invent 2023 で発表され、プレビュー利用可能だった Tian Image Generator が バージニア北部およびオレゴンリージョンで GA。

利点:
1. 大量の画像を低コストで効率的に生成できる
1. 企業データを使ってモデルをカスタマイズし、ブランドに合った画像を生成できる
1. 高品質で多様なデータセットで学習されているため、より正確な出力が可能
1. 有害なコンテンツを検出・フィルタリングするなど、責任あるAIの実践が組み込まれている
1. 生成された画像に目に見えない透かし(ウォーターマーク)を入れ、AIによる画像生成を識別できるようにしている

https://aws.amazon.com/jp/blogs/aws/amazon-titan-image-generator-and-watermark-detection-api-are-now-available-in-amazon-bedrock/

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/125105/b107e860-c240-ca66-7b27-3b9aadf189dc.png)

### Amazon Titan Image Generator のウォーターマーク検出が GA
Titan Image Generator の利点で紹介した電子透かし機能も一般利用可能に。

https://aws.amazon.com/jp/about-aws/whats-new/2024/04/watermark-detection-amazon-titan-image-generator-bedrock/

私のアイコン画像。Titan では作っていないのですが、Confidence: Low で誤検知。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/125105/3f8712b2-f863-1378-aea1-7932bb94be4f.png)

先ほどの画像はもちろん検出

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/125105/2d5bf393-3cb3-e225-3e25-55ad5f0bffa3.png)

合わせてウォーターマークの検出を行うための DetectGeneratedContent API が発表され、こちらはパブリックプレビューで利用可能。

### カスタムモデルのインポートが可能に (Preview) 
Amazon SageMaker などの他の環境でカスタマイズした基盤モデルを Bedrock にインポートし、カスタムモデルとして利用できる機能がバージニア北部リージョンのみで Preview で利用可能になった。

https://aws.amazon.com/jp/blogs/aws/import-custom-models-in-amazon-bedrock-preview/

Mistral/Llama/Llama 2 のいずれかのアーキテクチャでカスタムされたモデルである必要がある。SageMaker に登録されたモデルまたは、S3 バケットに配置されたモデルをインポート可能。

エージェントやナレッジベース、Guardrail の利用は未サポート

## Agents for Amazon Bedrock 関連
### Claude 3 Haiku and Sonnet が利用可能に
コストも下がるし、パフォーマンスや精度も向上するしで、待望すぎるアップデート。

https://aws.amazon.com/jp/about-aws/whats-new/2024/04/agents-amazon-bedrock-anthropic-claude-3-haiku-sonnet/

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/125105/1ae94237-3f93-ef23-5ae4-647cac95e2ef.png)

利用するモデルをClaude v2.1 → Claude 3 変更すると Agent 内部で使用されているプロンプトの内容もモデルに合わせた形式へ変わる。悪意のある入力でないか等のチェックを行う前処理は Claude 3 ではそもそも非アクティブ化されているようなので、必要に応じてデフォルトを上書きして、有効化する必要がある。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/125105/addaa548-3ace-bf07-cc32-7fe829a4ec29.png)


### Agents の作成機能が簡素化され、Return of Control 機能を提供開始
これまではAgent が操作できる API を定義するために OpenAPI スキーマを事前に作成する必要があったが、それが不要となり簡単に Agent を構成できるように。

Return of Control は AWS Lambda関数の使用をスキップし、エージェントを呼び出すアプリケーションに制御を返すことができる機能。これにより Lambda 関数を使用しなくとも外部と連携したエージェントが作成できるようになった。

https://aws.amazon.com/jp/blogs/aws/agents-for-amazon-bedrock-introducing-a-simplified-creation-and-configuration-experience/

簡素化されたエージェントの作成方法についてやってみた内容は別記事に書きました。

https://qiita.com/hayao_k/items/57cf2e7950c04e88895a


## Knowledge Base for Amazon Bedrock 関連
### 複数のデータソースをサポート
最大 5 つのデータソースからデータを取り込むことが可能に。つまり異なる S3 バケットに配置されたデータを取り込むことができ、更にクロスアカウントでのアクセスにも対応した。

https://aws.amazon.com/jp/about-aws/whats-new/2024/04/knowledge-bases-amazon-bedrock-multiple-data-sources/

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/125105/628ffbf6-d73b-173d-d71f-3b870620b4d7.png)

またデータソースが削除された場合に、ベクターストア上のデータを保持するか削除するかを選択できるようになった。デフォルトは保持 (Retain)。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/125105/32d9583b-a691-196b-7103-a9ef613cff7f.png)

### ベクターストアなしで、単一ドキュメントに対する質問が可能に
コンソール上で 10 MB までの単一のドキュメント (PDF, MD, TXT, DOCX, HTML, CSV, XLS, and XLSX) をアプロードするか、S3 上のパスを指定するだけで、対象ドキュメントの内容に関して質問が可能になる。追加費用無しで利用可能。

https://aws.amazon.com/jp/about-aws/whats-new/2024/04/knowledge-bases-amazon-bedrock-asking-questions-single-document/

4/24 時点で モデルは Claude 3 Sonnet のみが利用可能。システムプロンプトはカスタマイズできる

ファイルサイズ制限を突破しても入力トークン数の制限もあって、20,000 までの様子。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/125105/20b16b70-d324-c2c3-a399-c247787c4028.png)

Anthropic on Bedrock の EULA を取り込んで答えてもらった。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/125105/c8e8f910-8cd1-cf24-eb85-1484f535c195.png)

API からの利用は別の記事として書きました。

https://qiita.com/hayao_k/items/32f0d0479a947942d96e

## 周辺機能
### Guardrails for Amazon Bedrock が GA
AWS re:Invent 2023 で発表され、プレビューとして利用可能だったガードレール機能がバージニア北部とオレゴンリージョンで GA

https://aws.amazon.com/jp/blogs/aws/guardrails-for-amazon-bedrock-now-available-with-new-safety-filters-and-privacy-controls/

望ましくない、または有害なカテゴリに分類されるコンテンツを回避するために複数のポリシーを任意に構成できます。触ってみた内容は以下の記事に書いています。

https://qiita.com/hayao_k/items/45fef3047bf050b7ff34

### Model evaluation on Amazon Bedrock が GA
AWS re:Invent 2023 で発表され、プレビューとして利用可能だったモデル評価機能がバージニア北部とオレゴンリージョンで GA

https://aws.amazon.com/jp/blogs/aws/amazon-bedrock-model-evaluation-is-now-generally-available/

アルゴリズムによる自動評価では評価タスク、評価指標メトリクス、データセットを指定し、精度や堅牢性といった指標時で評価できる。人間による手動評価タスクを作成することも可能。

注意点
* サポートされるモデルには制限がある (Claude 3 は未対応)
* 完了した評価タスクごとに0.21ドルの課金が発生する

他のアップデートで力尽きて実際に触れてないので別途チャレンジする。

## その他、要チェックブログなど
https://aws.amazon.com/jp/blogs/machine-learning/new-capabilities-make-it-easier-to-use-amazon-bedrock-to-build-and-scale-generative-ai-applications-and-deliver-impact/

https://aws.amazon.com/jp/blogs/machine-learning/building-scalable-secure-and-reliable-rag-applications-using-knowledge-bases-for-amazon-bedrock/

https://www.aboutamazon.com/news/aws/amazon-bedrock-new-innovations-generative-ai-applications