Amazon Web Services ブログ
Amazon Bedrock アプリケーションで責任ある AI のコアディメンションに対応するための考慮事項
本ブログは 2024 年 11 月 15 日に公開された「Considerations for addressing the core dimensions of responsible AI for Amazon Bedrock applications」を翻訳したものとなります。
生成 AI の急速な進歩は革新的なイノベーションを約束する一方で、重大な課題も提示しています。法的影響、AI が生成した出力の正確性、データプライバシー、そして広範な社会的影響に関する懸念が、責任ある AI の開発の重要性を浮き彫りにしています。責任ある AI とは、利益を最大化し、潜在的なリスクや意図しない害を最小限に抑えることを目標として、一連のディメンションに導かれた AI システムの設計、開発、運用の実践です。私たちのお客様は使用しているテクノロジーが責任を持って開発されたことを知りたいと考えています。また、自社組織内でそのテクノロジーを責任を持って実装するためのリソースとガイダンスを求めています。最も重要なことは、お客様は、展開するテクノロジーがエンドユーザーを含むすべての人の利益になることを確実にしたいということです。AWS では、責任ある方法で AI を開発することに取り組んでおり、教育、科学、そしてお客様を優先する人間中心のアプローチを採用し、AI のライフサイクル全体にわたって責任ある AI を統合しています。
責任ある AI を構成するものは、常に進化し続けています。現時点では、責任ある AI の 8 つの重要なディメンションを考慮しています。公平さ、説明可能性、プライバシーとセキュリティ、安全性、制御性、正確性と堅牢性、ガバナンス、そして透明性です。これらディメンションは、責任を持って安全に AI アプリケーションを開発し展開するための基礎を構成します。
AWS では、Amazon Bedrock ガードレールのような目的に特化したサービスや機能を使い始めるためにツール、ガイダンス、リソースを提供することで、お客様が責任ある AI を理論から実践へと変換できるよう支援しています。本ブログでは、責任ある AI のコアディメンションを紹介し、Amazon Bedrock アプリケーションでこれらのディメンションに対処するための考慮事項と戦略を探ります。Amazon Bedrock はフルマネージド型サービスで、AI21 Labs、Anthropic、Cohere、Meta、Mistral AI、Stability AI、Amazon などの主要な AI 企業が提供する高性能な基盤モデル(FM)を単一の API を通じて選択できます。また、セキュリティ、プライバシー、責任ある AI を備えた生成 AI アプリケーションを構築するための幅広い機能セットも提供しています。
安全性
責任ある AI における安全性のディメンションは、有害なシステム出力や悪用を防ぐことに焦点を当てています。これは、AI システムがユーザーと社会の幸福を優先するよう導くことに重点を置いています。
Amazon Bedrock は、様々な安全対策を組み込むことで、安全で信頼性の高い AI アプリケーションの開発を促進するように設計されています。以下のセクションでは、これらの安全対策を実装するための異なる側面を探り、それぞれについてガイダンスを提供します。
Amazon Bedrock ガードレールによりモデルの有害性に対処する
Amazon Bedrock ガードレールは、アプリケーションが安全でない、または望ましくないとみなされるコンテンツを生成したり、そのコンテンツに関与しないようにすることで、AI の安全性をサポートします。これらの安全対策は、複数のユースケースに対して作成でき、アプリケーションと責任ある AI の要件に応じて、複数の FM にわたって実装できます。例えば、Amazon Bedrock ガードレールを使用して、有害なユーザー入力やモデル出力をフィルタリングしたり、ユーザー入力やモデル出力から機微情報をブロックまたはマスクしたり、アプリケーションが安全でないまたは望ましくないトピックに応答するのを防ぐことができます。
(訳者注)ガードレールは 2024 年 12 月 20 日時点で英語のみをサポートしており、他の言語でテキストコンテンツを評価すると、信頼できない結果になる可能性があります。以後、本ブログで扱っているガードレールの機能についても同様です。
コンテンツフィルターは、有害または不適切なユーザー入力やモデルが生成した出力を検出してフィルタリングするために使用できます。コンテンツフィルターを実装することで、AI アプリケーションが不適切なユーザーの振る舞いに反応するのを防ぎ、安全な出力のみを提供することができます。これは、特定のユーザーの振る舞いが望ましくない状況では、まったく出力を提供しないことも意味します。コンテンツフィルターは、増悪、侮辱、性的、暴力、不正行為、プロンプト攻撃の 6 つのカテゴリーをサポートしています。フィルタリングは、ユーザーの入力と FM の応答を各カテゴリーにわたって信頼度分類に基づいて行われます。フィルターの強度を調整することで、有害なコンテンツのフィルタリングの感度を決定できます。フィルターを強くすると、望ましくないコンテンツをフィルタリングする確率が高くなります。
拒否トピックは、アプリケーションのコンテキストで望ましくないトピックのセットです。これらのトピックは、ユーザーのクエリやモデルの応答で検出された場合にブロックされます。拒否トピックは、そのトピックの自然言語による定義と、いくつかのオプションの例文を提供することで定義します。例えば、医療機関が AI アプリケーションで薬や治療に関するアドバイスを避けたい場合、拒否トピックを「病状、治療、または投薬に関連して顧客に提供される情報、ガイダンス、アドバイス、または診断」と定義し、オプションの入力例として「投薬 A の代わりに投薬 B を使用できますか」、「病気 Y の治療に投薬 A を使用できますか」、「このほくろは皮膚がんに見えますか」などを設定できます。開発者は、拒否トピックが検出された際にユーザーに表示されるメッセージを指定する必要があります。例えば、「私は AI ボットであり、この問題についてお手伝いすることはできません。カスタマーサービス/診療所にお問い合わせください」などです。本質的に有害ではないものの、エンドユーザーに潜在的に害を及ぼす可能性のある特定のトピックを避けることは、安全な AI アプリケーションを作成する上で極めて重要です。
単語フィルターは、望ましくない単語、フレーズ、および不適切な表現をブロックするためのフィルターを設定するために使用されます。そのような単語には、攻撃的な用語や、製品や競合他社の情報などの望ましくない出力が含まれる可能性があります。カスタム単語フィルターには最大 10,000 項目を追加でき、AI アプリケーションが生成したり関与したりしたくないトピックをフィルタリングすることができます。
機密情報フィルターは、ユーザー入力やモデル出力に含まれる個人を特定できる情報(personally identifiable information: PII)や、指定されたコンテキスト依存の機微情報などをブロックまたは編集するために使用されます。これは、機微データの取り扱いやユーザーのプライバシーに関する要件がある場合に役立ちます。AI アプリケーションが PII 情報を処理しない場合、ユーザーと組織は、PII の偶発的または意図的な誤用や不適切な取り扱いからより安全になります。フィルターは機微情報の要求をブロックするように設定されており、そのような検出時にはガードレールがコンテンツをブロックし、事前に設定されたメッセージを表示します。また、機微情報の編集またはマスクを選択することもでき、その場合はデータを識別子に置き換えるか完全に削除するかを選択できます。
Amazon Bedrock モデル評価によりモデルの有害性を測定する
Amazon Bedrock では、モデル評価のための組み込み機能が提供されています。モデル評価は、異なるモデルの出力を比較し、ユースケースに最も適したモデルを選択するために使用されます。モデル評価ジョブは、テキスト生成、テキスト分類、質問への回答、テキスト要約など、大規模言語モデル(large language model: LLM)の一般的なユースケースをサポートしています。自動モデル評価ジョブを作成するか、人間の作業者を使用するモデル評価ジョブを作成するかを選択できます。自動モデル評価ジョブの場合、3 つの事前定義された指標(正確性、堅牢性、有害性)にわたる組み込みデータセットを使用するか、独自のデータセットを持ち込むことができます。AWS が管理するチームまたはお客様が管理するチームのいずれかで実施できる human-in-the-loop 評価の場合は、独自のデータセットを持ち込む必要があります。
有害なコンテンツに対する自動モデル評価の使用を計画している場合、まずはあなたの特定のアプリケーションにおいて何が有害なコンテンツを構成するかを定義することから始めてください。これには、攻撃的な言葉、ヘイトスピーチ、その他の有害なコミュニケーション形態が含まれる可能性があります。自動評価には、選択可能な厳選されたデータセットが付属しています。有害性については、RealToxicityPrompts または BOLD データセット、あるいはその両方を使用できます。カスタムモデルを Amazon Bedrock に持ち込む場合、主要なアップデートや再トレーニングの後など、モデル開発の重要な段階で定期的な有害性評価を開発パイプラインに組み込むことで、スケジュールされた評価を実装できます。早期発見のために、新しいデータやモデル出力に対して継続的に有害性評価を実行するカスタムテストスクリプトを実装してください。
Amazon Bedrock とその安全機能は、開発者が安全性と信頼性を優先する AI アプリケーションを作成するのを支援し、それによって AI 技術の信頼性を高め、倫理的な使用を促進します。選択した安全性アプローチを実験し、反復して望ましいパフォーマンスを達成する必要があります。多様なフィードバックも重要なので、安全性と公平さのためにモデルの応答を評価する human-in-the-loop テストの実施を検討してください。
制御性
制御性は、AI システムの振る舞いをモニタリングおよび制御するメカニズムを持つことに焦点を当てています。これは、AI システムが望ましいパラメータ内で動作することを確実にするために、管理、ガイド、制約する能力を指します。
Amazon Bedrock ガードレールを使用して AI の振る舞いをガイドする
AI アプリケーションが生成または関与できるコンテンツを直接コントロールするために、安全性のディメンションで議論した Amazon Bedrock ガードレールを使用できます。これにより、システムの出力を効果的に誘導し管理することができます。
コンテンツフィルターを使用して、有害なコンテンツを検出する感度のレベルを設定することで、AI の出力を管理できます。コンテンツのフィルタリングの厳密さを制御することで、望ましくない応答を避けるように AI の振る舞いを制御できます。これにより、システムの相互作用と出力を要件に合わせてガイドすることができます。拒否トピックを定義し管理することで、AI の特定の主題への関与を制御するのに役立ちます。定義されたトピックに関連する応答をブロックすることで、AI システムが設定された境界内の動作に留まるのに役立ちます。
Amazon Bedrock ガードレールは、コンテンツポリシーとプライバシー基準への準拠のためにシステムの振る舞いをガイドすることもできます。カスタム単語フィルターを使用すると、特定の単語、フレーズ、および不適切な表現をブロックでき、AI が使用する言語を直接制御できます。また、機微情報の扱い方(ブロックまたは編集)を管理し、AI のデータプライバシーとセキュリティへのアプローチを制御できます。
Amazon Bedrock のモデル評価を用いて AI のパフォーマンスをモニタリングし調整する
AI のパフォーマンスを評価し調整するために、Amazon Bedrock のモデル評価を確認することができます。これにより、システムが望ましいパラメータ内で動作し、安全性と倫理的基準を満たすことを支援します。自動評価と human-in-the-loop 評価の両方を試すことができます。これらの評価方法は、モデルが安全性と倫理的基準をどの程度満たしているかを評価することで、モデルのパフォーマンスをモニタリングしガイドするのに役立ちます。定期的な評価により、フィードバックとパフォーマンス指標に基づいて AI の振る舞いを調整し制御することができます。
開発パイプラインに定期的な有害性評価とカスタムテストスクリプトを組み込むことで、モデルの振る舞いを継続的にモニタリングし調整することができます。このような継続的な制御により、AI システムが望ましいパラメータに沿って維持され、新しいデータやシナリオに効果的に適応することを支援します。
公平さ
責任ある AI における公平さのディメンションは、AI が異なるステークホルダーグループに与える影響を考慮します。公平さを達成するには、継続的なモニタリング、バイアスの検出、そして AI システムの調整を行い、公平さと正義を維持する必要があります。
Amazon Bedrock 上に構築された AI アプリケーションの公平さを支援するため、アプリケーション開発者は機械学習(ML)ライフサイクルの異なる段階でモデル評価とヒューマンインザループのバリデーションを検討すべきです。モデルのトレーニング前後、そしてモデルの推論時にバイアスの存在を測定することが、バイアスを緩和する最初のステップです。AI アプリケーションを開発するときは、公平さの目標、メトリクス、および潜在的に許容可能な最小のしきい値を設定して、ユースケースに該当するさまざまな品質と人口統計にわたってパフォーマンスを測定する必要があります。これらに加えて、潜在的な不正確さやバイアスを緩和する計画を作成すべきです。これには、データセットの修正、バイアスの根本原因の特定と削除、新しいデータの導入、そして場合によってはモデルの再トレーニングが含まれる可能性があります。
Amazon Bedrock は、安全性のディメンションで記載したように、モデル評価のための組み込み機能を提供しています。モデルの堅牢性と有害性を測定するための一般的なテキスト生成の評価には、職業、性別、人種、宗教的イデオロギー、政治的イデオロギーの 5 つの領域に焦点を当てた組み込みの公平性データセットである Bias in Open-ended Language Generation Dataset(BOLD)を使用できます。他の領域やタスクの公平さを評価するには、独自のカスタムプロンプトデータセットを持ち込む必要があります。
透明性
生成 AI における透明性のディメンションは、AI システムがどのように決定を下すのか、なぜ特定の結果を生み出すのか、そしてどのようなデータを使用しているのかを理解することに焦点を当てています。透明性を維持することは、AI システムへの信頼を構築し、責任ある AI の実践を促進するために重要です。
透明性への高まる需要に応えるため、AWS は AWS AI サービスカードを導入しました。これは、AWS の AI サービスに関するお客様の理解を深めることを目的とした専用リソースです。AI サービスカードは、責任ある AI ドキュメンテーションの要となるもので、重要な情報を一箇所に集約しています。これらは、AWS の AI サービスの想定される使用事例、制限事項、責任ある AI 設計原則、そして展開とパフォーマンス最適化のためのベストプラクティスについて、包括的な洞察を提供します。これらは、サービスを責任ある方法で構築するために行う包括的な開発プロセスの一部です。
2024 年 11 月 23 日現在、Amazon Bedrock モデル向けに次の AI サービスカードが提供されています。
(訳者注:2024 年 12 月 20 日現在、以下の AI サービスカードもご利用いただけます)
- Amazon Nova Micro, Lite, Pro
- Amazon Nova Canvas
- Amazon Nova Reel
- Amazon Titan Image Generator
- Amazon Titan Text Embeddings
他の Amazon Bedrock モデルのサービスカードは、プロバイダーのウェブサイトで直接見つけることができます。各カードには、サービスの具体的な使用例、採用されている ML 技術、そして責任ある展開と使用のための重要な考慮事項が詳細に記載されています。これらのカードは、顧客のフィードバックと継続的なサービス改善に基づいて反復的に進化し、常に関連性と情報性を保っています。
透明性を提供するもう一つの取り組みは、Amazon Titan Image Generator の目に見えないウォーターマーク(透かし)です。Amazon Titan によって生成された画像には、デフォルトでこの目には見えないウォーターマークが付いています。このウォーターマークの検出メカニズムにより、Amazon Titan Image Generator によって生成された画像を識別することができます。これは、自然言語プロンプトを使用して、大量かつ低コストで現実のスタジオで製作されたような品質の画像を作成するように設計された FM です。ウォーターマーク検出を使用することで、生成 AI コンテンツに関する透明性を高め、有害なコンテンツ生成のリスクを緩和し、誤情報の拡散を減らすことができます。
コンテンツクリエイター、報道機関、リスク分析者、不正検出チームなどは、この機能を使用してAmazon Titan Image Generator によって作成された画像を識別し、認証することができます。検出システムは信頼性スコアも提供するため、元の画像が変更されていても、検出の信頼性を評価することができます。Amazon Bedrock コンソールに画像をアップロードするだけで、API は Amazon Titan モデルによって生成された画像に埋め込まれたウォーターマークを検出します。これには、ベースモデルとカスタマイズされたバージョンの両方が含まれます。このツールは責任ある AI の実践をサポートするだけでなく、生成 AI によって作成されたコンテンツの使用における信頼性を促進します。
正確性と堅牢性
責任ある AI における正確性と堅牢性のディメンションは、予期せぬ入力や敵対的な入力があっても、正確なシステム出力を達成することに焦点を当てています。このディメンションの主な焦点は、モデルのハルシネーション(幻覚)の可能性に対処することです。モデルのハルシネーションは、AI システムが妥当に思える虚偽や誤解を招く情報を生成する時に発生します。AI システムの堅牢性は、様々な条件下で、予期せぬ状況や不利な状況を含めて、モデルの出力が一貫性があり信頼できるものであることを確実にします。堅牢な AI モデルは、不完全または不正確な入力データに直面しても、その機能を維持し、一貫性のある正確な出力を提供し続けます。
Amazon Bedrock のモデル評価で精度と堅牢性を測定する
AI の安全性と制御性のディメンションで紹介されたように、Amazon Bedrock は有害性、堅牢性、精度の観点からAI モデルを評価するためのツールを提供しています。これにより、モデルが有害、攻撃的、または不適切なコンテンツを生成しないようにし、予期せぬ入力や敵対的なシナリオを含む様々な入力に耐えられるようにします。
精度評価は、AI モデルが様々なタスクやデータセットにわたって信頼性の高い正確な出力を生成するのに役立ちます。組み込みの評価では、TREX データセットに対して精度が測定され、アルゴリズムはモデルの予測が実際の結果とどの程度一致するかを計算します。精度の実際の指標は選択されたユースケースによって異なります。例えば、テキスト生成では、組み込みの評価は実世界の知識スコアを計算し、これはモデルが実世界に関する事実的知識をエンコードする能力を調べます。この評価は、AI アプリケーションの完全性、信頼性、有効性を維持するために不可欠です。
堅牢性評価は、モデルが多様で潜在的に困難な条件下でも一貫したパフォーマンスを維持することを確認します。これには、予期せぬ入力、敵対的な操作、データ品質の変動に対して、パフォーマンスの大幅な低下なしに対処することが含まれます。
Amazon Bedrock アプリケーションにおける正確性と堅牢性を実現するための方法
LLM をアプリケーションで使用する際に、正確性と堅牢性を最大化するために検討できるいくつかの手法があります。
- プロンプトエンジニアリング – モデルに対して、モデルが知っていることについてのみ対話を行い、新しい情報を生成しないよう指示することができます。
- Chain-of-thought(CoT: 思考の連鎖)– CoT はモデルが最終的な答えに至る中間的な推論ステップを生成する技術です。これにより、モデルの思考プロセスを透明で論理的にすることで、複雑な問題を解決する能力が向上します。例えば、モデルに対してなぜ特定の情報を使用し、特定の出力を作成したのかを説明するよう求めることができます。これはハルシネーションを減らすための強力な方法です。モデルに出力を生成するために使用したプロセスを説明するよう求めると、モデルは実行したステップや使用された情報を識別しなければならないため、それによってハルシネーション自体が減少します。CoT や Amazon Bedrock で提供される LLM のその他のプロンプトエンジニアリング技術についてさらに学ぶには、Amazon Bedrock のプロンプトエンジニアリングの概念をご確認ください。
- Retrieval Augmented Generation(RAG)– RAG は適切なコンテキストを提供し内部データでモデルが生成する出力を拡張することで、ハルシネーションを軽減するのに役立ちます。RAG を使用すると、モデルにコンテキストを提供し、提供されたコンテキストのみに基づいて応答するようモデルに指示することができ、これによりハルシネーションが少なくなります。Amazon Bedrock ナレッジベースを使用すると、データの取り込みから検索、プロンプトの拡張までの RAG のワークフローを実装できます。ナレッジベースから取得された情報には、AI アプリケーションの透明性を向上させ、ハルシネーションを最小限に抑えるために、出典が含まれます。
- ファインチューニングと事前トレーニング – これらは、特定のコンテキストに対するモデルの精度を向上させるための異なる技術です。RAG を通じて内部データを提供する代わりに、これらの技術では、データセットの一部としてデータをモデルに直接追加します。Amazon Simple Storage Service(Amazon S3)バケットに保存されたデータセットを指定することで、複数の Amazon Bedrock FM をカスタマイズできます。ファインチューニングでは、数十から数百のラベル付きサンプルを使用して、特定のタスクのパフォーマンスを向上させるためにモデルをトレーニングできます。モデルは特定の種類の入力に対して特定の種類の出力を関連付けることをトレーニングします。また、継続的な事前トレーニングを使用することもでき、これによりモデルにラベルなしデータを提供し、モデルが特定の入力に慣れ、パターンをトレーニングするようにします。これには、例えば、モデルが十分なドメイン知識を持っていない特定のトピックからのデータが含まれ、それによりその領域の精度が向上します。これらのカスタマイズオプションはどちらも、大量のアノテーションされたデータを収集することなく、正確なカスタマイズされたモデルを作成することを可能にし、結果としてハルシネーションを減少させます。
- 推論パラメータ – 推論パラメータについても検討することができます。これらは、モデルの応答を修正するために調整可能な値です。設定できる推論パラメータは複数あり、それぞれモデルの異なる能力に影響を与えます。例えば、モデルの応答をより創造的にしたり、物語の文脈のように完全に新しい情報を生成したりしたい場合、temperature パラメータを調整することができます。これにより、モデルが確率分布全体から単語を探し、その空間でより離れた単語を選択する方法に影響を与えます。
- コンテキストグラウンディング – 最後に、Amazon Bedrock ガードレールのコンテキストグラウンディングチェックを使用することができます。Amazon Bedrock ガードレールは、開発者がコンテンツフィルターを設定し、拒否トピックを指定することで、許可されたテキストベースのユーザー入力とモデル出力を制御できるメカニズムを Amazon Bedrock サービス内で提供します。モデルの応答がソースの情報に根拠がない(事実に反している、または新しい情報を追加している)場合や、ユーザーのクエリに関連がない場合、それらのハルシネーションを検出してフィルタリングすることができます。例えば、RAG アプリケーションにおいて、モデルの応答が取得された文章中の情報から逸脱している場合や、ユーザーの質問に答えていない場合、その応答をブロックまたはフラグ付けすることができます。
モデルプロバイダーやチューナーはこれらのハルシネーションを緩和できない可能性がありますが、ユーザーにハルシネーションが発生する可能性があることを知らせることはできます。これは、AI アプリケーションの使用はユーザー自身の責任で行うという免責事項を追加することで実現できます。現在、複数の出力間の変動(エントロピーとして測定)に基づいて不確実性を推定する方法の研究にも進展が見られます。これらの新しい方法は、質問が誤って回答される可能性が高い場合を特定することにおいて、以前の方法よりもはるかに優れていることが証明されています。
説明可能性
責任ある AI における説明可能性のディメンションは、システム出力の理解と評価に焦点を当てています。説明可能な AI フレームワークを使用することで、人間はモデルを調べ、どのように出力を生成しているかをより良く理解することができます。生成 AI モデルの出力の説明可能性については、正確性と堅牢性のディメンションで議論したように、トレーニングに使われたデータの出所を確認したり CoT プロンプティングなどの技術を使用できます。
出力された情報の出所を確認したいお客様には、Amazon Bedrock ナレッジベースを使用した RAG をお勧めします。RAG では可能性のある情報源がプロンプト自体に含まれているため、情報の出所を確認できます。ナレッジベースから取得された情報には情報源が含まれており、透明性を向上させハルシネーションを最小限に抑えることができます。Amazon Bedrock ナレッジベースは、エンドツーエンドの RAG ワークフローを管理します。RetrieveAndGenerate API を使用する際、出力には生成された応答、情報源、および取得されたテキストチャンクが含まれます。
セキュリティとプライバシー
生成 AI 技術を利用するすべての組織にとって、絶対に重要なことが一つあるとすれば、それはあなたの行うすべてのことがプライベートであり続けること、そしてあなたのデータが常に確実に保護されることです。責任ある AI におけるセキュリティとプライバシーのディメンションは、データとモデルが適切に取得され、使用され、保護されることに焦点を当てています。
Amazon Bedrock の組み込みセキュリティとプライバシー
Amazon Bedrock では、データプライバシーとローカライゼーションの観点から、AWS はお客様のデータを保存しません。保存しないため、漏洩することも、モデルベンダーに見られることも、AWS が他の目的で使用することもありません。私たちが保存する唯一のデータは運用メトリクスです。例えば、正確な請求のために、AWS は特定の Amazon Bedrock モデルに送信したトークン数と、モデル出力で受け取ったトークン数に関するメトリクスを収集します。もちろん、ファインチューニングされたモデルを作成する場合、AWS がそれをホストするためにそのモデルを保存する必要があります。API リクエストで使用されるデータは、お客様が選択した AWS リージョン内に留まります。特定のリージョンの Amazon Bedrock API へのリクエストは、完全にそのリージョン内に留まります。
データセキュリティについて、よく言われることは「データが移動するのであれば暗号化する」ということです。Amazon Bedrock への、からの、そして内部での通信は、すべて転送中に暗号化されます。Amazon Bedrock には TLS を使用しないエンドポイントはありません。もう一つよく言われることは「動かないデータも暗号化する」ということです。デフォルトでは、ファインチューニングに用いるデータとモデルは AWSが管理する AWS Key Management Service(AWS KMS)キーを使用して暗号化されますが、お客様独自の KMS キーを使用するオプションもあります。
Amazon Bedrock リソースを使用する権限を持つユーザーを制御するのは、AWS Identity and Access Management(IAM)です。各モデルに対して、アクションへのアクセスを明示的に許可または拒否することができます。例えば、あるチームやアカウントに Amazon Titan Text のキャパシティをプロビジョニングする権限を与えるけれども Anthropic モデルへのアクセスは許可しない、といったことが可能です。必要に応じて、広範囲または詳細な設定を行うことができます。
Amazon Bedrock API へのアクセスのためのネットワークデータフローを見る際、トラフィックが常に暗号化されていることを覚えておくことが重要です。Amazon Virtual Private Cloud(Amazon VPC)を使用している場合、AWS PrivateLink を利用して Amazon Bedrock のフロントエンドフリートへリージョナルネットワークを通じたプライベート接続を提供し、インターネットゲートウェイを介したインターネットトラフィックへの露出を緩和することができます。同様に、企業のデータセンターの観点では、VPN または AWS Direct Connect を設定して VPC にプライベート接続し、そこから PrivateLink を介して Amazon Bedrock にトラフィックを送信することができます。これにより、オンプレミスシステムがインターネット経由で Amazon Bedrock 関連のトラフィックを送信する必要がなくなるはずです。AWS のベストプラクティスに従い、ゼロトラストの原則に基づいてセキュリティグループとエンドポイントポリシーを使用して PrivateLink エンドポイントへのアクセスを制御し保護します。
Amazon Bedrock のモデルカスタマイズにおけるネットワークとデータセキュリティについても見てみましょう。カスタマイズのプロセスでは、まずリクエストされたベースラインモデルを読み込み、その後お客様のアカウント内の S3 バケットからカスタマイズのためのトレーニングデータとバリデーションデータを安全に読み取ります。データへの接続は、Amazon S3 用のゲートウェイエンドポイントを使用して VPC を通じて行うことができます。つまり、バケットポリシーを適用することができ、S3 バケットへのより広範なアクセスを開放する必要がありません。新しいモデルが構築されたら、暗号化されてカスタマイズされたモデルバケットに配信されます。モデルベンダーがお客様のトレーニングデータやカスタマイズされたモデルにアクセスしたり、可視化したりすることは一切ありません。トレーニングジョブの終了時には、元の API リクエストで指定した S3 バケットにトレーニングジョブに関する出力メトリクスも配信されます。前述のとおり、トレーニングデータとカスタマイズされたモデルの両方を、お客様が管理する KMS キーを使用して暗号化することができます。
プライバシー保護のベストプラクティス
生成 AI アプリケーションを実装する際に最初に念頭に置くべきことは、データの暗号化です。先ほど述べたように、Amazon Bedrock は転送中および保管時の暗号化を使用しています。保管時の暗号化については、デフォルトの AWS 管理の KMS キーの代わりに、お客様が管理する KMS キーを選択することができます。企業の要件によっては、お客様が管理する KMS キーを使用したい場合があるでしょう。転送中の暗号化については、Amazon Bedrock API に接続する際に TLS 1.3 を使用することをお勧めします。
モデルの利用規約とデータプライバシーについては、利用規約(End User License Agreement: EULA)を読むことが重要です。モデルプロバイダーはこれらの利用規約を設定する責任があり、お客様はこれらを評価し、アプリケーションに適しているかどうかを判断する責任があります。Amazon Bedrock でモデルアクセスをリクエストする場合も含め、常に利用規約を読み、理解してから同意するようにしてください。利用規約の内容に納得していることを確認してください。またテストデータが法務チームによって承認されていることを確認してください。
プライバシーと著作権に関して、トレーニングやファインチューニングに使用するデータが法的に利用可能で、実際にそれらのモデルのトレーニングやファインチューニングに使用できることを確認するのは、プロバイダーとモデルをチューニングする人の責任です。また、使用しているデータがモデルに適切であることを確認するのもモデルプロバイダーの責任です。公開されているデータは自動的に商業利用のための公開を意味するわけではありません。つまり、このようなデータを使用して何かをチューニングし、顧客に見せることはできません。
ユーザーのプライバシーを保護するために、安全性と制御性のディメンションで議論した Amazon Bedrock ガードレールの機密情報フィルターを使用することができます。
最後に、生成 AI を用いた自動化を行う際(例えば、Amazon Bedrock のエージェントを使用する場合)、モデルが自動的に決定を下すことに問題がないか確認し、アプリケーションが誤った情報や行動を提供した場合の結果を考慮してください。したがって、ここではリスク管理を検討することが重要です。
ガバナンス
AI システムが倫理基準、法的要件、社会的価値観に沿って開発、展開、管理されることを確実にするのがガバナンスのディメンションです。ガバナンスには、AI の開発と使用を安全で公正、かつアカウンタビリティを持つ方法で導く枠組み、方針、規則が含まれます。AI のガバナンスを設定し維持することで、ステークホルダーは AI アプリケーションの使用に関する情報に基づいた決定を下すことができます。これには、データの使用方法、AI の意思決定プロセス、ユーザーへの潜在的な影響についての透明性が含まれます。
堅牢なガバナンスは、責任ある AI アプリケーションを構築するための基盤です。AWS は、AI ガバナンスの実践を確立し運用するための様々なサービスとツールを提供しています。また、AWS は AI ガバナンスフレームワークを開発し、データとモデルのガバナンス、AI アプリケーションのモニタリング、監査、リスク管理などの重要な分野におけるベストプラクティスに関する包括的なガイダンスを提供しています。
監査可能性について見ると、Amazon Bedrock は AWS Audit Manager から提供される AWS 生成 AI ベストプラクティスフレームワーク v2 と統合されています。このフレームワークを使用することで、エビデンスの収集を自動化し、Amazon Bedrock 内での生成 AI 使用の監査を開始できます。これにより、AI モデルの使用と権限の追跡、機密データのフラグ付け、問題のアラート通知に一貫したアプローチを提供します。収集されたエビデンスを使用して、責任、安全性、公平さ、持続可能性、レジリエンス、プライバシー、セキュリティ、正確性という 8 つの原則にわたって AI アプリケーションを評価できます。
モニタリングと監査の目的で、Amazon Bedrock は ビルトインで統合されている Amazon CloudWatch と AWS CloudTrail を利用できます。CloudWatch を使用してAmazon Bedrock をモニタリングできます。CloudWatch は生データを収集し、読みやすいリアルタイムに近いメトリクスに処理します。CloudWatch はモデル呼び出しやトークン数などの使用メトリクスを追跡するのに役立ち、1 つまたは複数の AWS アカウントの 1 つまたは複数の FM にわたって監査目的のカスタマイズされたダッシュボードを構築するのに役立ちます。CloudTrail は、Amazon Bedrock に対するユーザーと API アクティビティの記録を提供するログサービスです。CloudTrail は API データを証跡に収集します(証跡はCloudTrail サービス内で作成する必要があります)。証跡により、CloudTrail はログファイルを S3 バケットに配信できるようになります。
Amazon Bedrock は、モデル呼び出しのログ記録も提供しています。これは、Amazon Bedrock で使用される AWS アカウント内のすべての呼び出しについて、モデルに入力されたデータ、プロンプト、モデルの応答、リクエスト ID を収集するために使用されます。この機能により、モデルがどのように使用されているか、どのようなパフォーマンスを示しているかについての洞察が得られ、お客様とステークホルダーが AI アプリケーションの使用に関して、データに基づいた責任ある決定を下すことができます。モデル呼び出しログは有効にする必要があり、ログデータを S3 バケットと CloudWatch ログのどちらに保存するかを選択できます。
コンプライアンスの観点から、Amazon Bedrock は ISO、SOC、FedRAMP moderate、PCI、ISMAP、CSA STAR Level 2 などの一般的なコンプライアンス基準の対象となっており、Health Insurance Portability and Accountability Act(HIPAA)の対象にもなっています。また、General Data Protection Regulation(GDPR)に準拠して Amazon Bedrock を使用することもできます。Amazon Bedrock は Cloud Infrastructure Service Providers in Europe Data Protection Code of Conduct(CISPE CODE)の Public Register に含まれています。これは、Amazon Bedrock が GDPR に準拠して使用できることを独立して検証されたことを意味します。Amazon Bedrock が特定のコンプライアンスプログラムの対象範囲内にあるかどうかについての最新情報は、コンプライアンスプログラムによる対象範囲内の AWS のサービスを参照し、関心のあるコンプライアンスプログラムを選択してください。
Amazon Bedrock アプリケーションにおける責任ある AI の実装
Amazon Bedrock でアプリケーションを構築する際は、アプリケーションのコンテキスト、ニーズ、エンドユーザーの振る舞いを考慮してください。また、組織のニーズ、法的および規制上の要件、責任ある AI を実装する際に収集したいまたは必要なメトリクスについても検討してください。利用可能な管理機能や組み込み機能を活用してください。以下の図は、責任ある AI の主要なディメンションに対応するために実装できる様々な対策を概説しています。これは網羅的なリストではありませんが、本ブログで言及された対策をどのように組み合わせることができるかの提案です。これらの対策には以下が含まれます。
- モデル評価 – モデル評価を使用して、公平さ、正確性、有害性、堅牢性、その他のメトリクスを評価し、選択したFMとその性能を評価します。
- Amazon Bedrock ガードレール – Amazon Bedrock ガードレールを使用して、コンテンツフィルター、禁止トピック、単語フィルター、機密情報フィルター、コンテキストグラウンディングの実装を確立します。ガードレールを使用することで、安全でない、または有害なトピックや単語を拒否し、エンドユーザーの安全を保護することでモデルの振る舞いをガイドすることができます。
- プロンプトエンジニアリング – CoT などのプロンプトエンジニアリング技術を活用して、AI アプリケーションの説明可能性、正確性と堅牢性、安全性と制御可能性を向上させます。プロンプトエンジニアリングを使用することで、トーン、スコープ、応答の長さを含む、モデル応答の望ましい構造を設定できます。プロンプトテンプレートに禁止トピックを追加することで、安全性と制御可能性を強調できます。
- Amazon Bedrock ナレッジベース – Amazon Bedrock ナレッジベースを使用して、エンドツーエンドの RAG 実装を行い、ハルシネーションを減少させ、内部データを使用するケースにおけるモデルの正確性を向上させます。RAG を使用することで、AI アプリケーションの正確性と堅牢性、安全性と制御可能性、説明可能性が向上します。
- ロギングとモニタリング – 効果的なガバナンスを実施するために、包括的なロギングとモニタリングを維持します。
責任ある AI のコアディメンションに対応するために実施できる様々な対策の概要図
まとめ
責任ある AI アプリケーションの構築には、計画的で構造化されたアプローチ、反復的な開発、そして継続的な努力が必要です。Amazon Bedrock は、責任ある AI アプリケーションの開発と展開をサポートする堅牢な組み込み機能スイートを提供しています。カスタマイズ可能な機能と独自のデータセットを統合する能力を提供することで、Amazon Bedrock は開発者が特定のアプリケーションコンテキストに AI ソリューションを調整し、責任ある AI に関する組織の要件に合わせることを可能にします。この柔軟性により、AI アプリケーションが効果的であるだけでなく、倫理的で、公平さ、安全性、透明性、アカウンタビリティに関するベストプラクティスに沿ったものであることを確実にします。
責任ある AI のディメンションに従って AI を実装することは、AI ソリューションを透明性を持って、バイアス無く開発し使用するための鍵となります。AI の責任ある開発は、組織全体での AI 採用を促進し、エンドカスタマーとの信頼関係を構築するのにも役立ちます。アプリケーションの使用範囲と影響が広がるほど、責任ある AI のフレームワークに従うことがより重要になります。したがって、AI の責任ある使用について、AI の取り組みの早い段階からそのライフサイクル全体を通じて考慮し、対処することが重要です。
機械学習の責任ある使用のためのフレームワークについてさらに学ぶには、以下のリソースを参照してください。
- 機械学習の責任ある利用(英語)
- AWS 生成 AI ベストプラクティスフレームワーク v2
- ヒューマンインザループを用いた生成 AI プロンプトのチェーン化のワークフロー(英語)
- 基盤モデル評価のライブラリ(英語)
著者について
Laura Verghote は、EMEA の公共部門のお客様向けのシニアソリューションアーキテクトです。複雑なビジネス要件と技術的ソリューションの橋渡しをしながら、AWS クラウドでソリューションの設計と構築をお客様と共に行っています。彼女は AWS に技術トレーナーとして入社し、EMEA 全域の開発者、管理者、アーキテクト、パートナーにトレーニングコンテンツを提供した幅広い経験を持っています。
Maria Lehtinen は、北欧の公共部門のお客様向けのソリューションアーキテクトです。彼女は信頼できるクラウドアドバイザーとしてお客様と協力し、AI/ML ワークロードに重点を置いたクラウドシステムの開発と実装をサポートしています。彼女は AWS の早期キャリア専門家プログラムを通じて入社し、以前は AWS Advanced Consulting Partner の 1 社でクラウドコンサルタントとして勤務していました。
翻訳はプロフェッショナルサービス本部の藤浦 雄大が担当しました。