AI

GPT-4oやDALL·E(海外サーバー)に個人情報を送りたくないので、Azure AI language で最低限のガードレールを敷く

こんにちは、セキュリティチームのぐっちーです。GPT-4oやDALL·E(海外サーバー)に個人情報を送りたくないので、Azure AI language で最低限のガードレールを敷く方法を考えてみました。

注意
  • 本ブログで取り扱うトピックは、各企業のポリシーや法令遵守の観点から、個別の事情に応じた対応が求められます。あくまで参考程度でお願いします。
  • 本ブログは2024年5月時点の情報を元に作成しています。
  • 日本リージョンにGPT-4oやDALL·Eが来ないのは、時間が解決するとは考えています。ただ、直近一年の傾向から、日本リージョンに最新モデルが遅れてやってくる状況がしばらく続くことは予想されます。

日本リージョンにGPT-4oやDALL·Eが来ないので使えない問題

Azure OpenAI は日本リージョンがあり、海外に情報を置くことができない大企業でも採用が進んでいます。一方で、DALL·E 3 や GPT-4o などの一部のモデルは、本書執筆時点では日本リージョンには来ていません。「早く使いたい!!」と、ヤキモキしている方も多いのではと思います。

もちろん、Azure OpenAI Service ではどのリージョンを使っても入出力データは学習に利用されません1 しかし、学習には利用されないものの、入力したデータは30日間マイクロソフトのサーバーに保存され、不正利用のレビューが行われる場合があります。これは、倫理的・社会的に問題があると考えられる利用(犯罪等)を防止するためです。こちらについてはオプトアウト申請ができますが、オプトアウト申請が許可される条件は厳しいらしく、許可された方をあまり周りでは見かけません。

そこで、一部の超厳しい組織では、たとえ Azure OpenAI のようなセキュアなサービスであっても、データが一時的にマイクロソフトの海外リージョンのサーバーに保存されることに抵抗感を持っていたり、国外リージョンの利用を禁止している組織もあります。よくよく話を聞くと各社様々な理由がありますが、「個人情報を海外に送りたくない」という理由を度々耳にします。

「そもそもDALL·Eに個人情報投入せんやろ」とは思うものの・・・

理想的には、AIモデルに個人情報を投入しないことを教育し、ユーザーが主体的に避けるべきです。また、個人的には「そもそもDALL·E に個人情報投入せんやろ・・・」と考えていますし、その水準の対策でOKとしている組織も多いと思います。しかし、現実には人為的ミスによる誤混入のリスクがゼロではありません。コピー&ペーストの際の誤操作や、AIモデルの用途を誤解したまま利用するケースなどが考えられます。ユーザー教育だけで担保できたらいいのですが、厳しい規制に直面している組織の事情を踏まえるとそんなわけにはいきません。

Azure AI language で日本リージョンから個人情報を出さずに使う

いずれは、GPT-4oやDALL·Eは日本リージョンに来ると思いますし、本件は時間が解決してくれるとは思いますが、早く使いたいユーザーのために、日本リージョンに設置した、Azure AI language を使って、AIモデルに投入するテキストデータから個人情報をサニタイズ(無害化)することで、個人情報を国外に出さずにAIモデルを安全に利用できるではと思いつきました。

Azure AI Language とは?

Azure AI Languageは、テキストを理解し分析するための自然言語処理 (NLP) 機能を提供するクラウドベースのサービスです。Azure AI Languageは、これまで利用できたAzure AI サービス (Text Analytics、QnA Maker、LUIS) を統合したもので、以下のような機能も提供されます。2

  • 名前付きエンティティの認識 (NER)
  • 個人を特定できる情報 (PII) と健康に関する情報 (PHI) の検出
  • 言語検出
  • 感情分析とオピニオン マイニング
  • ドキュメントの要約
  • キー フレーズの抽出
  • カスタム テキスト分類

サニタイズで使う

そして、Azure AI Language でのサニタイズの話に移ります。ここでは、「個人を特定できる情報 (PII) と健康に関する情報 (PHI) の検出」を利用します。流れとしては以下の形です。

例えば、AI Language に「弊社オフィス (123-555-1234) の 田口 大智宛 にお電話いただくか、support@contoso.com に電子メールを送信してください。」という文章をインプットします。これには、個人名と電話番号、メールアドレスが含まれています。AI Languageを通すと、「弊社オフィス (************) の *****宛 にお電話いただくか、******************* に電子メールを送信してください。」という文章に変換し、サニタイズすることができました。

redactedText をプロンプトとして渡してあげることで、個人情報を海外に送信するリスクを低減させることができる。

若干、屁理屈かもしれませんが、この方法であれば、個人情報を国外のサーバーに置くことなく、AIの力を安全に活用できるはずです。少なくとも「個人情報の転送が懸念で海外リージョンを使えない」というユースケースにおいては、こちらで交渉の余地があるのではと思います。

おまけ:日本リージョンの GPT-4 をガードレールとして使うのも!?

しかしながら、Azure AI Language も完璧ではありません。想定以上にマスキングされてしまう可能性もあります。また、入力する内容によっては、マスキングされすぎてプロンプトが成立しないという可能性があります。そこで、DALL·Eを利用する場合は、日本リージョンのGPT-4をガードレールとして活用するのも一案です。具体的には、DALL·Eに投入する前に、プロンプトを日本リージョンのGPT-4に判定させ、個人情報が含まれていないかをチェックするのです。以下がプロンプトの例です。

System: 
あなたは優秀なプロンプトエンジニアです。ユーザーからDALL·Eに対して渡される予定のプロンプトを要件に基づいて変換し出力します。
<要件>
・英語で出力する。
・例のように、メールアドレスや個人名など個人情報が含まれる場合は抽象化し、アウトプットに個人情報を含まないようにすること。
</要件>
<例>
・田口大智の画像を生成してください→Please generate an image of a man
</例>

User: 
<input>田口大智のプロフィール画像を生成してください。</input>DALL·Eに渡すプロンプト:

プロンプトには工夫の余地がありますが、これにより、DALL·Eに誤って個人情報が混入するリスクを低減させられる考えられます。

注意

生成AIは指示を無視したり、精度が100%にできないなどという課題があります。GPT-4レベルであれば、かなりミスは少なく、プロンプトエンジニアリングで工夫の余地がありますが、精度が100%ではないということが許容可能な場合のみご利用ください。

まとめ

AIの活用とセキュリティ・プライバシー保護のバランスを取ることは容易ではありませんが、Azure AI language のようなサービスを適切に組み合わせることで、解決の糸口が見えてくるのではないでしょうか。また、他のアプローチとしてユーザーにアラートを表示して、チェックを促すなどという方法もあったりしますので、このこの辺気になっている方とディスカッションできたら嬉しいです。本件は、各企業のポリシーや法令遵守の観点から、個別の事情に応じた対応が求められます。本稿が、日本企業におけるAI活用の一助となれば幸いです。

  1. https://learn.microsoft.com/ja-jp/azure/ai-services/openai/faq ↩︎
  2. https://learn.microsoft.com/ja-jp/azure/ai-services/language-service/overview ↩︎

ぐっち

コンサル会社にてISO27017やISMAP等のセキュリティ規格案件を経験した後、クラティブに入社。セキュリティチーム所属ですが、最近は生成AI等を使ったシステムの開発や導入をやっています。趣味はダンス。Microsoft MVP for AI Platform & M365(Copilot)