Model Armor は、AI アプリケーションのセキュリティと安全性を強化するために設計された Google Cloud サービスです。LLM のプロンプトとレスポンスを事前にスクリーニングすることで、さまざまなリスクから保護し、責任ある AI への取り組みを確保します。 Google Cloud または他のクラウド プロバイダに AI をデプロイする場合でも、Model Armor を使用すると、悪意のある入力を防ぎ、コンテンツの安全性を検証し、機密データを保護し、コンプライアンスを維持し、AI アプリケーション全体で AI の安全性とセキュリティ ポリシーを一貫して適用できます。
アーキテクチャ
このアーキテクチャ図は、Model Armor を使用して LLM とユーザーを保護するアプリケーションを示しています。データフローは次のとおりです。
- ユーザーがアプリケーションにプロンプトを指定します。
- Model Armor は、受信したプロンプトを検査して、デリケートなコンテンツが含まれているかどうかを確認します。
- プロンプト(またはサニタイズされたプロンプト)が LLM に送信されます。
- LLM が応答を生成する。
- Model Armor は、生成されたレスポンスにデリケートなコンテンツが含まれているかどうかを検査します。
- レスポンス(またはサニタイズされたレスポンス)がユーザーに送信されます。Model Armor は、トリガーされたフィルタとトリガーされなかったフィルタの詳細な説明をレスポンスで送信します。
Model Armor は、入力(プロンプト)と出力(レスポンス)の両方をフィルタリングして、LLM が悪意のあるコンテンツやデリケートなコンテンツにさらされる、またはそのようなコンテンツを生成するのを防止します。
ユースケース
Model Armor には、次のようなユースケースがあります。
セキュリティ
- LLM のプロンプトやレスポンスで機密性の高い知的財産(IP)や個人情報(PII)が漏洩するリスクを軽減します。
- プロンプト インジェクションやジェイルブレイク攻撃から保護し、悪意のある行為者が AI システムを操作して意図しないアクションを実行することを防ぎます。
- PDF のテキストをスキャンして、デリケートなコンテンツや悪意のあるコンテンツを検出します。
安全で責任ある AI
- chatbot が競合他社のソリューションを推奨しないようにして、ブランドの完全性と顧客ロイヤルティを維持します。
- 組織は、危険なコンテンツや差別的なコンテンツなどの有害なメッセージを含む、AI アプリケーションによって生成されたソーシャル メディア投稿をフィルタできます。
Model Armor テンプレート
Model Armor テンプレートを使用すると、Model Armor がプロンプトとレスポンスをスクリーニングする方法を構成できます。これらは、さまざまな安全性とセキュリティの信頼度に合わせてカスタマイズされたフィルタとしきい値のセットとして機能します。これにより、フラグが設定されたコンテンツを制御できます。
しきい値は信頼度を表します。つまり、プロンプトまたはレスポンスに不適切なコンテンツが含まれていると Model Armor がどの程度確信しているかを表します。たとえば、HIGH しきい値でヘイト コンテンツのプロンプトをフィルタするテンプレートを作成できます。これは、プロンプトにヘイト コンテンツが含まれているという高い信頼度を Model Armor が報告することを意味します。LOW_AND_ABOVE しきい値は、そのクレームの信頼度(LOW、MEDIUM、HIGH)を示します。
詳細については、Model Armor テンプレートをご覧ください。
Model Armor の信頼度
信頼度は、責任ある AI の安全性カテゴリ(性的に露骨な表現、危険なコンテンツ、ハラスメント、ヘイトスピーチ)、プロンプト インジェクションとジェイルブレイクの検出、センシティブ データ保護(トピック性を含む)に設定できます。
しきい値を細かく設定できる信頼度の場合、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 認証情報
- 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 には次の適用タイプがあります。
- 検査のみ: 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 フィルタは、複数の言語にわたるプロンプトと回答のサニタイズをサポートしています。
- Sensitive Data Protection フィルタは、選択した infoType に応じて、英語やその他の言語をサポートしています。
責任ある 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 テンプレートについて確認する。
- Model Armor のフロア設定について確認する。
- Model Armor のエンドポイントについて確認する。
- プロンプトとレスポンスをサニタイズする。
- Model Armor の監査ロギングについて確認する。
- Model Armor に関する問題のトラブルシューティングを行う。