Model Armor は、AI アプリケーションのセキュリティと安全性を強化するために設計された Google Cloud サービスです。LLM のプロンプトとレスポンスを事前にスクリーニングすることで、さまざまなリスクから保護し、責任ある AI の実践を保証します。クラウド環境や外部クラウド プロバイダに AI をデプロイする場合でも、Model Armor を使用すると、悪意のある入力の防止、コンテンツの安全性の検証、機密データの保護、コンプライアンスの維持、多様な AI 環境全体での AI の安全性とセキュリティ ポリシーの一貫した適用に役立ちます。
アーキテクチャ
このアーキテクチャ図は、Model Armor を使用して LLM とユーザーを保護するアプリケーションを示しています。データフローは次のとおりです。
- ユーザーがアプリケーションにプロンプトを入力します。
- Model Armor は、受信したプロンプトを検査して、潜在的に機密性の高いコンテンツがないか確認します。
- プロンプト(またはサニタイズされたプロンプト)が LLM に送信されます。
- LLM が応答を生成する。
- Model Armor は、生成されたレスポンスに機密性の高いコンテンツが含まれているかどうかを検査します。
- レスポンス(またはサニタイズされたレスポンス)がユーザーに送信されます。Model Armor は、トリガーされたフィルタとトリガーされなかったフィルタの詳細な説明をレスポンスで送信します。
Model Armor は、入力(プロンプト)と出力(レスポンス)の両方をフィルタリングして、LLM が悪意のあるコンテンツや機密性の高いコンテンツにさらされたり、生成したりするのを防ぎます。
ユースケース
Model Armor には、複数の業界にわたるユースケースがいくつかあります。
セキュリティ
- 機密性の高い知的財産(IP)や個人を特定できる情報(PII)が LLM のプロンプトやレスポンスに含まれるリスクを軽減します。
- プロンプト インジェクション攻撃やジェイルブレイク攻撃から保護し、悪意のあるユーザーが AI システムを操作して意図しないアクションを実行することを防ぎます。
- PDF のテキストをスキャンして、機密性の高いコンテンツや悪意のあるコンテンツがないか確認します。
安全性と責任ある AI
- チャットボットが競合他社のソリューションを推奨しないようにして、ブランドの完全性と顧客のロイヤルティを維持します。
- 組織は、危険なコンテンツや差別的なコンテンツなど、有害なメッセージを含む AI によって生成されたソーシャル メディア投稿をフィルタできます。
Model Armor テンプレート
Model Armor テンプレートを使用すると、Model Armor がプロンプトとレスポンスをスクリーニングする方法を構成できます。これらは、さまざまな安全性とセキュリティの信頼度に合わせてカスタマイズされたフィルタとしきい値のセットとして機能します。これにより、フラグが設定されたコンテンツを制御できます。
しきい値は信頼度を表します。つまり、プロンプトまたはレスポンスに不適切なコンテンツが含まれていると Model Armor がどの程度確信しているかを表します。たとえば、HIGH
しきい値でヘイト コンテンツのプロンプトをフィルタするテンプレートを作成できます。これは、プロンプトにヘイト コンテンツが含まれているという高い信頼度を Model Armor が報告することを意味します。LOW_AND_ABOVE
しきい値は、そのクレームの信頼度(LOW
、MEDIUM
、HIGH
)を示します。
詳細については、Model Armor テンプレートをご覧ください。
Model Armor の信頼度
信頼度は、責任ある AI の安全性カテゴリ(露骨な性的コンテンツ、危険なコンテンツ、ハラスメント、ヘイトスピーチ)、プロンプト インジェクションとジェイルブレイクの検出、Sensitive Data Protection(トピック性を含む)に設定できます。
しきい値を細かく設定できる信頼度の場合、Model Armor は次のように解釈します。
- 高: メッセージに高い確率で悪意のあるコンテンツが含まれているかどうかを特定します。
- 中以上: メッセージに中程度以上の悪意のあるコンテンツが含まれているかどうかを特定します。
- 低以上: メッセージに低、中程度、または高い確率で悪意のあるコンテンツが含まれているかどうかを特定します。
Model Armor フィルタ
Model Armor は、安全でセキュアな AI モデルの提供に役立つさまざまなフィルタを提供します。次のフィルタ カテゴリを使用できます。
責任ある AI の安全フィルタ
プロンプトとレスポンスは、次のカテゴリに対して前述の信頼度でスクリーニングできます。
カテゴリ | 定義 |
---|---|
ヘイトスピーチ | ID や保護されている属性をターゲットとする否定的なコメントや有害なコメント |
嫌がらせ | 他人をターゲットにした脅し、威圧表現、いじめ、虐待的な内容を含むコメント |
性的に露骨な表現 | 性行為やわいせつな内容に関する情報が含まれるコンテンツ |
危険なコンテンツ | 有害な商品、サービス、アクティビティへのアクセスを促進または可能にします。 |
児童性的虐待のコンテンツ(CSAM)フィルタはデフォルトで適用され、オフにすることはできません。
プロンプト インジェクションとジェイルブレイクの検出
プロンプト インジェクションは、攻撃者がテキスト入力(プロンプト)に特別なコマンドを挿入して AI モデルを騙そうとするセキュリティ脆弱性です。これにより、AI が通常の指示を無視したり、機密情報を開示したり、意図しないアクションを実行したりする可能性があります。LLM のコンテキストでのジェイルブレイクとは、モデルに組み込まれている安全プロトコルと倫理ガイドラインをバイパスする行為を指します。これにより、LLM は有害、非倫理的、危険なコンテンツなど、本来回避するように設計されている回答を生成する可能性があります。
プロンプト インジェクションとジェイルブレイクの検出が有効になっている場合、Model Armor はプロンプトとレスポンスで悪意のあるコンテンツをスキャンします。検出されると、Model Armor はプロンプトまたはレスポンスをブロックします。
Sensitive Data Protection
Sensitive Data Protection は、機密データの検出、分類、匿名化を支援する Google Cloud サービスです。Sensitive Data Protection は、機密要素、コンテキスト、ドキュメントを識別して、AI ワークロードに対するデータ漏洩のリスクを軽減します。Sensitive Data Protection を Model Armor 内で直接使用すると、機密性のないコンテキストを保持しながら、機密性の高い要素を変換、トークン化、秘匿化できます。Model Armor は、既存の検査テンプレートを受け入れることができます。これは、ビジネスとコンプライアンスのニーズに合わせて機密データのスキャンと識別のプロセスを効率化するブループリントのような構成です。これにより、Sensitive Data Protection を使用する他のワークロードとの間で一貫性と相互運用性を確保できます。
Model Armor には、Sensitive Data Protection の構成用に次の 2 つのモードがあります。
基本構成: このモードでは、スキャンする機密データのタイプを指定して Sensitive Data Protection を構成します。このモードは、次のカテゴリをサポートしています。
- クレジット カード番号
- 米国の社会保障番号(SSN)
- 金融口座番号
- 米国の個人納税者識別番号(ITIN)
- Google Cloud credentials
- Google Cloud API キー
基本構成では検査オペレーションのみが許可され、Sensitive Data Protection テンプレートの使用はサポートされていません。詳細については、Sensitive Data Protection の基本構成をご覧ください。
高度な構成: このモードでは、Sensitive Data Protection テンプレートを使用して、柔軟性とカスタマイズ性が向上します。Sensitive Data Protection テンプレートは、より詳細な検出ルールと匿名化手法を指定できる事前定義済みの構成です。高度な構成では、検査と匿名化の両方のオペレーションがサポートされています。
Sensitive Data Protection の信頼度は、他のフィルタの信頼度とは若干動作が異なります。Sensitive Data Protection の信頼度の詳細については、Sensitive Data Protection の一致の可能性をご覧ください。Sensitive Data Protection の概要については、Sensitive Data Protection の概要をご覧ください。
悪意のある URL の検出
悪意のある URL は、正規の URL に見せかけるために偽装されていることが多く、フィッシング攻撃やマルウェアの配布など、オンラインの脅威に利用される強力なツールとなっています。たとえば、PDF に不正な URL を埋め込み、LLM 出力を処理するダウンストリーム システムを侵害するために使用される可能性があります。
悪意のある URL の検出が有効になっている場合、Model Armor は URL をスキャンして、悪意のある URL かどうかを特定します。これにより、対策を講じ、悪意のある URL が返されるのを防ぐことができます。
適用タイプを定義する
違反が検出された後の処理を定義します。Model Armor が検出を処理する方法を構成するには、適用タイプを設定します。Model Armor には次の適用タイプがあります。
- 検査のみ: 構成された設定に違反するリクエストを検査しますが、ブロックはしません。
- 検査とブロック: 構成された設定に違反するリクエストをブロックします。
Inspect only
を効果的に使用して貴重な分析情報を得るには、Cloud Logging を有効にします。Cloud Logging が有効になっていないと、Inspect only
は有用な情報を生成しません。
Cloud Logging を使用してログにアクセスします。サービス名 modelarmor.googleapis.com
でフィルタします。テンプレートで有効にしたオペレーションに関連するエントリを探します。詳細については、ログ エクスプローラを使用してログを表示するをご覧ください。
Model Armor のフロア設定
Model Armor テンプレートは個々のアプリケーションに柔軟性を提供しますが、組織は多くの場合、すべての AI アプリケーションにわたって保護のベースライン レベルを確立する必要があります。ここで Model Armor のフロア設定が使用されます。これらは、 Google Cloud リソース階層の特定のポイント(組織、フォルダ、プロジェクト レベル)で作成されたすべてのテンプレートの最小要件を定義するルールとして機能します。
詳細については、Model Armor のフロア設定をご覧ください。
言語サポート
Model Armor フィルタは、複数の言語にわたるプロンプトと回答のサニタイズをサポートしています。
- 機密データ保護フィルタは、選択した infoTypes に応じて、英語やその他の言語に対応しています。
責任ある AI とプロンプト インジェクションとジェイルブレイクの検出のフィルタは、次の言語でテストされています。
- 中国語(標準語)
- 英語
- フランス語
- ドイツ語
- イタリア語
- 日本語
- 韓国語
- ポルトガル語
- スペイン語
これらのフィルタは他の多くの言語でも機能しますが、結果の品質は異なる場合があります。言語コードについては、サポートされている言語をご覧ください。
多言語検出を有効にする方法は 2 つあります。
リクエストごとに有効にする: 詳細な制御を行うには、ユーザー プロンプトをサニタイズするときとモデル レスポンスをサニタイズするときに、リクエストごとに多言語検出を有効にします。
1 回限りの有効化: よりシンプルな設定を希望する場合は、REST API を使用して、Model Armor テンプレート レベルで多言語検出を 1 回限りの構成として有効にできます。詳細については、Model Armor テンプレートを作成するをご覧ください。
ドキュメントのスクリーニング
ドキュメントのテキストには、悪意のあるコンテンツや機密性の高いコンテンツが含まれている可能性があります。Model Armor は、次のタイプのドキュメントの安全性、プロンプト インジェクションとジェイルブレイクの試行、機密データ、悪意のある URL をスクリーニングできます。
- CSV
- テキスト ファイル: TXT
- Microsoft Word ドキュメント: DOCX、DOCM、DOTX、DOTM
- Microsoft PowerPoint スライド: PPTX、PPTM、POTX、POTM、POT
- Microsoft Excel シート: XLSX、XLSM、XLTX、XLTM
料金
Model Armor は、Security Command Center の統合部分として購入することも、スタンドアロン サービスとして購入することもできます。料金については、Security Command Center の料金をご覧ください。
トークン
生成 AI モデルは、テキストなどのデータをトークンという単位に分割します。Model Armor では、AI プロンプトとレスポンスのトークンの合計数が料金設定に使用されます。Model Armor は、各プロンプトとレスポンスで処理されるトークンの数を制限します。
Model Armor のトークン数の上限は、特定のフィルタによって異なります。プロンプトまたはレスポンスがトークン上限を超えると、Sensitive Data Protection フィルタは EXECUTION_SKIPPED
を返します。他のすべてのフィルタでは、プロンプトまたはレスポンスがトークン上限を超えた場合、悪意のあるコンテンツが見つかると MATCH_FOUND
を返し、悪意のあるコンテンツが見つからないと EXECUTION_SKIPPED
を返します。
フィルタ | トークンの上限 |
---|---|
プロンプト インジェクションとジェイルブレイクの検出 | 10,000 |
責任ある AI | 10,000 |
児童性的虐待のコンテンツ | 10,000 |
機密データの保護 | 最大 130,000 |
次のステップ
- Model Armor テンプレートについて学習する。
- Model Armor のフロア設定について確認する。
- Model Armor エンドポイントについて確認する。
- プロンプトとレスポンスをサニタイズする。
- Model Armor の監査ロギングについて確認する。
- Model Armor に関する問題のトラブルシューティングを行う。