Guardrails for Amazon Bedrock大全

# はじめに
NTTデータの西川です。
普段は公共部門の技術集約組織でクラウドの導入支援に従事しています。

突然ですが、Guardrails for Amazon Bedrockはご存知でしょうか?
2024/4にGAされたので、詳しい方はまだ少ないと思います。
※ PreviewはAWS re:Invent 2023

Guardrails for Amazon Bedrockは、**セキュリティと利便性のバランスを保ちつつ、AWSが掲げる責任あるAIを実現する上で重要な役割を担う機能**です。

本ブログではGuardrails for Amazon Bedrockの機能を整理してみました。



https://aws.amazon.com/jp/machine-learning/responsible-ai/

:::note warn
2024/9時点の情報となります。詳細は最新情報を参照ください。
:::

# 背景：Why Guardrail?
## GenAI導入時のリスク
GenAIの導入が進むにあたりにあたり、適切に課題・リスクを捉えることの重要性は増しています。

例1：機密情報の意図しない流出
例2：他者の権利侵害　など

とある日、私は公共分野のクラウド動向に興味があったこともあり、 **デジタル庁が公開した「テキスト生成AI利活用におけるリスクへの対策ガイドブック（α版）」** が気になったので読んでみました。

https://www.digital.go.jp/resources/generalitve-ai-guidebook


その中で気になる記載内容がありました。
> 【引用】_2024 年 4 月現在、**各府省庁で生成 AI を利用したサービスで要機密情報を扱う条件**に (1) 必要なセキュリティ要件が守られる契約を実施（一般的に約款型では厳しい）(2)クラウドサービス（参考: 政府機関等の対策基準策定のためのガイドライン（令和５年度版）の 4.2 クラウドサービス）に関連する規程に基づく対応 (**政府情報システムのためのセキュリティ評価制度（ISMAP）クラウドサービスリストから選定等**)を行ったうえで、AI 戦略チームに報告・了承をとる必要がある。(参考: ChatGPT 等の生成 AI の業務利用に関する申合せ（第２版）)_

要するに、各府省庁でGenAI上で機密情報を扱う条件は **「政府機関等の対策基準策定のためのガイドライン」の規定に基づく対応を行うこと**、具体的には **「ISMAP」に選ばれているクラウドサービスを採用するなど**、適切なセキュリティ対策を行ってほしいと記載があります。

たしかに、Amazon BedrockはISMAPの言明対象範囲のサービス一覧に記載されています。


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3570843/81c29bef-85ce-b614-5ad4-f6fe00d2e8f5.png)
【引用】Amazon Web Services_言明対象範囲（2024/9/10）

https://www.ismap.go.jp/csm?id=cloud_service_list_detail&sys_id=c8e0b6cc9361c610a734bb497bba104f

しかし、所属組織で「政府機関等の対策基準策定のためのガイドライン（令和６年７月）」に関する輪読会を行っていますが、GenAIに特化した技術的な対応策は示されておりません。

あわせて、上記のガイドブック上では、入出力情報のリスクに対する具体の技術的な対応策が示されていなかった点が気になりました。
> α版ということもあるため、恐らく今後アップデートされる箇所と思っています。


## リスク対策としてのガードレール活用
私は以前、JAWS-UG東京のLTで規制対象のワークロードにおいてGenAIを導入する際のロードマップを紹介しました。ロードマップの中身を見てみると、**ファーストステップとして、ガードレールを活用しつつ実験的にGenAIを活用することが推奨されています。**

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3570843/efba8588-809d-c164-1b8e-259eac63b96c.png)

https://speakerdeck.com/heiyohei/gui-zhi-dui-xiang-nowakurododesekiyuanigenai-wohuo-yong-suruji-nohasigonoshao-jie?slide=6

今回紹介するGuardrails for Amazon Bedrockは、**セキュリティ面や倫理面などの問題に対して、責任あるAIの実装をフォローする補助機能であるため、リスク対策の一端を担う重要な機能**となりえます。


# 機能概要
**基盤モデルに対する不適切な入出力をブロックする**ことで責任あるAIの実現をサポートする機能です。**出力のみならず、入力も制御可能**です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3570843/ee1aa40b-7466-8437-8a59-40f8f56c63e9.png)

[【引用】AWS Summit Tokyo：⽣成 AI のセキュリティ対策と責任ある AI の実現](https://pages.awscloud.com/rs/112-TZM-766/images/AWS-16_Security_AWS_Summit_JP_2024.pdf)

Guardrails for Amazon Bedrockの全体像を以下に示します。「ユーザ入力」と「基盤モデル出力」の間にGuardrails for Amazon Bedrock による入出力情報の評価を挟むイメージとなります。



![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3570843/dcc0e9a1-ccd3-fbf9-00f1-4a4476227d01.png)

※以下をベースに図を作成した。
[【参考】NEW DEMO - Build responsible AI apps with Guardrails for Amazon Bedrock | Amazon Web Services
](https://www.youtube.com/watch?v=srQxO_o9KgM)



# 機能詳細
Guardrails for Amazon Bedrockには**5つの機能が存在**しています。

1. **Denied Topics（拒否されたトピック）**
アプリのコンテキスト内で避けるべきトピックのセットを定義可能。
（例）医療、投資など
2. **Content Filters（コンテンツフィルター）**
様々なコンテンツカテゴリでしきい値を設定し、有害なインタラクションを除外可能。（例）暴力、侮辱など
3. **Word Filters（ワードフィルター）**
ユーザー⼊⼒と基盤モデルからの応答に対してブロックするカスタムの単語のセットを定義可能。
4. **Sensitive Information Filter（機密情報フィルタ）**
プライバシーを保護するため、基盤モデルの回答に含まれる個⼈情報 (PII)をマスク/ブロック可能。
5. **Contextual Grounding Check（コンテキストグラウンディングチェック）**
RAG においてハルシネーションを検出することが可能。

https://docs.aws.amazon.com/ja_jp/bedrock/latest/userguide/guardrails.html



# 利用可能なリージョン
東京OK、大阪NG
→ **東京を含む13個のリージョンで利用可能**です。

利用可能なリージョン：米国東部（バージニア州北部）、米国西部（オレゴン）、AWS GovCloud (米国西部)、カナダ（中部）、南アメリカ（サンパウロ）、ヨーロッパ（フランクフルト）、ヨーロッパ（アイルランド）（ゲートアクセス）、ヨーロッパ（ロンドン）、ヨーロッパ（パリ）、アジア太平洋（シンガポール）、アジア太平洋（東京）、アジア太平洋（シドニー）、アジア太平洋（ムンバイ）


https://docs.aws.amazon.com/bedrock/latest/userguide/guardrails-supported.html

# 料金

| ガードレールポリシー* | 1,000 テキストユニットあたりの価格** |
| ---- | ---- |
| Content Filters（コンテンツフィルター） | 0.75USD |
| Denied Topics（拒否されたトピック） | 1USD |
| Contextual Grounding Check（コンテキストグラウンディングチェック） | 0.1USD |
| Sensitive Information Filter（機密情報フィルタ：PII） | 0.1USD |
| Sensitive Information Filter（機密情報フィルタ：正規表現） | 無料 |
| Word Filters（ワードフィルター） | 無料 |

*：**各ガードレールポリシーはオプション**であり、アプリケーションの要件に基づいて有効にできます。料金は、ガードレールで使用されているポリシーの種類に基づいて発生します。たとえば、ガードレールにコンテンツフィルターと拒否トピックが設定されている場合、これら2つのポリシーには料金が発生しますが、機密情報フィルターに関連する料金は発生しません。

**：**テキスト単位には最大1,000文字まで含めることができます**。テキスト入力が1,000文字を超える場合、それぞれが 1,000文字以下の複数のテキスト単位として処理されます。
（例）テキスト入力に5,600文字が含まれている場合、6テキスト単位で課金されます。

https://aws.amazon.com/jp/bedrock/pricing/




# おわりに
GenAIの利活用が進む中で、**機密情報の流出リスクなどのデータ入出力のセキュリティ・ガバナンス対策は重要度、優先度が高い課題**です。Guardrails for Amazon Bedrockは、セキュリティと利便性のバランスを保ちつつ、AWSが掲げるセキュアで責任あるAIを実現する上で、重要な役割を担うものであると再認識できました。

Appendixとして動作確認を行ってみた結果を一部掲載しています。**機密情報のフィルタリングなどの重要機能に課題はあるものの、日本語への対応は概ね期待通り**でした。機能改善を待ちつつ今後の利用に備えて実験的に触ってみてはいかがでしょうか。
※ 本ブログに記載した内容は個人の見解であり、所属する会社、組織とは関係ありません。


# Appendix：Sensitive Information Filter（機密情報フィルタ）を試してみました。
【機能説明】
プライバシーを保護するため、基盤モデルの回答に含まれる個⼈情報 (PII)をマスク/ブロック可能。（再掲）

【設定値】
Name(氏名)をマスクするガードレールを設定。


【結果】
1枚目（プロンプト日本語version）：ガードレールをスルーしてしまい、マスクされなかった。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3570843/9e889e38-c985-f670-523b-6d29d09bdb6a.png)

2枚目（プロンプト英語version ）：ガードレールが適用されNameの一部がマスクされた部分があるが、ガードレールをスルーしてしまう部分が存在した。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3570843/e4c6f578-4a5f-2f0b-f9ac-75095f601104.png)