特別レポートOpenAI は、API を通じてソフトウェアを商用化する準備を進める中で、最新かつ最大のテキスト生成ニューラル ネットワークである GPT-3 が誤って人々の個人情報を漏洩することを防ぐコンテンツ フィルターを構築しています。
レジスター紙の取材によると、同社のエンジニアたちは、例えば電話番号などのソフトウェアからの出力をブロックするコンテンツフィルタリングシステムを開発している。このプロジェクトは1年以上前から進められており、サンフランシスコに拠点を置く機械学習研究所は、この成果をソフトウェアのアプリケーションインターフェースの一部として今年後半に公開する予定だと、関係筋は語った。
なぜこれが必要なのでしょうか?
12月、スタンフォード大学、カリフォルニア大学バークレー校、OpenAI、Googleなどの産業界と学界のコンピューター科学者が協力し、GPT-3の前身であるGPT-2に、生成するように指示された文章に、人の名前、住所、電話番号、社会保障番号などの個人を特定できる情報を含めるように誘導できることを実証した。
研究チームはまた、たとえトレーニングデータに個人情報の記録が一度だけ現れたとしても、GPT-2との会話で個人情報を抽出できることにも注目した。
誰かがOpenAIのGPT-3を搭載したコメントを吐き出すRedditボットを作成しただけでなく、奇妙な人生アドバイスを提供した。
続きを読む
この問題に気づいたのは Google 社だけではない。
オンラインテキストベースゲームプラットフォームを開発するスタートアップ企業、Hidden Doorの共同創業者、ヒラリー・メイソン氏は、GPT-2の一般公開に向けて調整を進めていた際に、奇妙な点に気づきました。ニューラルネットワークが生成した犯罪ニュース記事の末尾に、オレゴン州の警察署のものと思われる電話番号が記載されていたのです。最初の3桁の「503」は、オレゴン州のポートランド、セーラム、ビーバートンをカバーする市外局番であるため、実在の電話番号である可能性を示唆していました。そして確かに、それは実在の番号でした。ただし、警察の電話番号ではありませんでした。
「変だなと思ったんです」とメイソンさんはThe Register紙に語った。「本当にある番号なのか知りたくてグーグルで調べたら、警察の番号ではなく、オレゴン州のコミュニティセンターの番号だったんです」
OpenAIのニューラルネットワークは、人間が書いた言語のパターンを識別することでテキスト生成を学習します。この知識は、ユーザーが入力したプロンプトに続く可能性のある単語を予測するために用いられます。これにより、例えば物語や詩の冒頭文、あるいは質問文をソフトウェアに入力すると、コードはそれに続くべき単語を生成し、文章や段落、記事、チャットの返信などを構築します。これらの文章は、最初はかなり一貫性があるように見えますが、大抵は意味不明瞭になってしまいます。
単語の中には他の単語よりも密接に関連しているものがあり、GPT-2とGPT-3はこうしたパターンを捉えます。例えば、「紙」という単語は、「コンクリート」や「靴」といった単語よりも、「書く」や「木」といった単語の近くに現れる可能性が高くなります。入力に「電話」や「電話」といった単語を含めると、これらの大規模な言語モデルは、人の電話番号といった密接に関連した概念を出力する可能性が高くなります。
記憶の創造的な使い方?
モデルが訓練データから誰かの電話番号をそのまま吐き出したのか、それともランダムな数字を繋ぎ合わせて偶然有効な番号を見つけたのかを見分けるのは困難です。上記のオレゴン州警察署を例に挙げた例では、メイソン氏はモデルに特定の番号を抽出するための入力を与えませんでした。彼女はGPT-2にテキストのスニペットを生成するよう指示しただけで、コミュニティセンターの電話番号が含まれた架空の記事を返しました。
この場合、彼女はその番号がGPT-2のトレーニングデータに含まれており、GPT-2がそれを記憶したと推測しています。GPT-2が生成したテキストに含まれる「オレゴン」と「連絡先」という単語が、GPT-2に電話番号を吐き出させるきっかけになった可能性があると考えています。これらの単語は、トレーニングデータセットを構築するためにスクレイピングされた同じウェブページ内の10桁の電話番号の近くに現れた可能性があります。
メイソン氏はGPT-2が実際に電話番号を生成する可能性を確かめたいと考え、好奇心からマサチューセッツ州ボストンの市外局番である617を含む番号を生成するように指示しました。確かにGPT-2は617-XXX-XXXXという番号のリストを出力しましたが、そのほとんどは実際の番号ではありませんでした。有効な番号が記憶されていたのか、それともGPT-2がランダムな数字で空欄を埋めた際に生成されたのかは分かりません。時折、誰かの実際の電話番号と一致する組み合わせが生成される可能性はあります。
「パターンを捏造する部分と、記憶する部分が混在しています」とメイソン氏は語った。「理由もなく本物の電話番号を生成することもありますが、指示を与えれば生成される可能性が高くなります。電話番号を思い出す際に使われる言語にそれほど大きな違いはないので、電話番号が生成されるのは当然のことです。」
OpenAIは、テキストの説明に合わせて自動的に画像を作成できるGPT-3の新しいバージョンを宣伝しています。
続きを読む
GPT-3が会話や架空の記事、物語の中にあなたの電話番号を登場させる場合、おそらくその番号がインターネット上のどこかに投稿され、それがトレーニングデータに紛れ込んでしまったのでしょう。ただし、GPT-3が以前に見たことのない番号を誤って作成した可能性もわずかながらあります。トレーニングデータセットにあなたのデータが存在するかどうかを確認すれば、その疑問は解決するでしょう。
危険なのは、これらの機械学習モデルが、例えばチャットサポートボットのような商用環境では、個人の個人情報を漏洩してしまう可能性があることです。その個人は、自分のデータが公開されることを望まない、あるいはもはや望んでいない人物であり、広く普及しているチャットソフトウェアプログラムによって共有されることなど到底望んでいません。もし悪意のある人物が詐欺、フィッシング、欺瞞、あるいは被害者の身元を暴こうとしたら、OpenAIのソフトウェアを起動するだけで(あるいはISPなどで実稼働中のものを見つけて)、システムとの対話を通じて個人情報をマイニングできるとしたらどうなるでしょうか。
学者や技術者たちは、この技術が欧州のGDPRやカリフォルニア州のCCPAといったプライバシー保護法に違反する可能性があると指摘しています。ニューラルネットワークに重みやその他の値として、あるいは訓練データセットにプレーンテキストで個人情報を保存することは、当該データを安全に保護するための要件を満たしているのでしょうか?誰かが自分のデータの削除を要求した場合、データ全体を再訓練する必要があるのでしょうか?それともデータセットから削除するだけで済むのでしょうか?研究者たちは、これは法的にグレーゾーンだと考えています。
現時点では、危害のリスクは低いことに留意すべきです。言語モデルの出力から個人情報を抽出し、それを表面化させることは容易ではなく、システムは既に公開されているデータ、そして大部分が公開されているデータを用いて学習されています。しかしながら、これらのシステムがより強力になり、より多くの情報源からより多くのデータを消費するようになるにつれて、エンジニアが自らの成果がどのように悪用される可能性があるかに十分注意を払わなければ、公開されているAIツールが人々の個人情報を自由に引き渡してしまうリスクがあるという懸念があります。
OpenAIの研究を研究した研究者の一人、アリエル・ハーバート=ヴォス氏によると、GPT-2とGPT-3は約20%の確率で、電話番号などの個人情報を含むと思われるテキストを生成するという。そして、それらの数字が有効となるのは約10%に過ぎない。また、特定の電話番号を取得しようとすると、約1%の確率で成功するという。
GPT2 および GPT3 から PII を抽出した予備的な結果によると、モデルを直接クエリした場合、PII のように見えるものを取得できるのは約 20% 程度です (プロンプトの設計や抽出しようとしている PII の種類によって多少のばらつきがあります)。
— アリエル・ハーバート=ヴォス(@adversariel)2021年2月10日
その可能性は低いように思えるかもしれませんが、数千、数百万の会話にまで拡大すると、情報漏洩が問題になり始めます。OpenAIはGPT-3の一般公開に向けて準備を進めており、リスクを冒すつもりはありません。そのため、生成されたテキストから電話番号だけでなく、問題のある個人データも除去するフィルターを開発しています。
成功するまで偽る
機械学習ソフトウェアによる記憶は諸刃の剣です。電話番号を記憶するモデルを持つこと自体は良いことではありませんが、その背後にある技術自体が有益な場合もあります。
コンピュータービジョンのスタートアップ企業Roboflowの創業者兼CTOであるブラッド・ドワイヤー氏は、Stack Roboflowというサイドプロジェクトに取り組んでいました。ドワイヤー氏は、テクノロジー関連のQ&Aサイト「Stack Overflow」をモデルに、GPT-2を学習させ、プログラミングやソフトウェア開発に関する質問に対して役立つ回答を生成できるかどうかを検証しました。彼は、自然言語だけでなくプログラミング言語も理解できる言語モデルを開発し、人々がコーディングの問題を解決できるようにしたいと考えていました。しかし、Stack Roboflowの初期実験で、この課題はあまりにも野心的であることが判明しました。
Stack Roboflowのようなツールは、機械生成の回答が正確かつ正確である場合にのみ有用です。結局のところ、高度な技術を扱うツールですから。そのため、既知の問題に対処するためのコードシーケンスや、質問への回答として有効な関連リポジトリやドキュメントへのリンクなど、関連情報を逐語的に思い出すことが、このタスクには不可欠です。しかし、GPT-2の出力にはばらつきがあるため、現時点ではそれが不可能であることが判明しました。
「まだ十分ではありませんでした」とドワイヤー氏はThe Register紙に語った。「一見すると、テキストはもっともらしく見えます。『オタク用語』のようで、文書やウェブサイトへのリンクのように見えますが、それらはしばしば架空のもので、ドメインは空で、ウェブサイトは実際には存在しません。しかし、時折、本物のURLが生成されることもありました。」
言語モデルは多くのことを学習できる必要がありますが、同時に特定の情報を選択的に漏らす必要もあります。ランダムにデータを吐き出すことなく、役に立つもの、つまり制御可能なものが必要です。大量の電話番号を知っているかもしれませんが、個人を特定できる情報は漏らさないように指示する必要があります。コンテンツフィルタリングはまだ未解決の問題です。
つまり、OpenAI のテクノロジーは、Stack Roboflow のようなアプリケーションのソフトウェア ライブラリやドキュメントへの参照などの特定の詳細を確実に思い出すことはできませんが、会話の中で誰かの個人情報を偶然漏らしてしまうくらいには十分です。
OpenAIのGPT-3用フィルターは、出力を検査し、テキストを書き換えて、例えば実在する可能性のある電話番号を偽のものに置き換えると、情報筋は述べています。例えば、市外局番で始まる10桁の数字を見つけた場合、111-111-1111や012-345-6789など、明らかに偽物である番号に置き換えます。住所などの他の個人情報は明確な構造を持たず、フィルタリングがより困難になります。OpenAIは、ハードコードされた正規表現のセットよりも、よりインテリジェントで洗練されたものを目指しています。
住所には、様々な形式、長さ、綴りの数字や単語が含まれます。出力フィルターは、文字列が住所なのか、その他の個人データなのか、それとも無害なものなのかを正確に予測する必要があります。例えば、文中に「street(番地)」という単語が含まれている場合や、郵便番号のような数字である場合など、ある程度のヒントが得られるかもしれません。しかし、必ずしも完全に明確であるとは限らず、コンテンツフィルターがエッジケースを見逃してしまう可能性もあります。
個人情報はトレーニングデータから削除することもできません。そうすると、ニューラルネットワークの学習中に有用なコンテキストが失われてしまう可能性があるからです。例えば、テキストブロックが企業や家族に言及しているのか、愛する人に宛てた手紙なのか、組織への苦情なのかを判断するには、住所、電話番号、名前、そして周囲の単語のつながりを認識する必要があるかもしれません。そのため、出力フィルターが必要になります。
「こうしたモデルの多くでは、生成されたテキストを何の編集もせずに直接人の前に出したり、インターネットに直接公開したりすることには細心の注意を払う必要がある」とメイソン氏は述べた。
「個人情報に関するこの特定の問題は、偏見や問題のある言葉がどれだけ表現されるかという問題に比べれば、それほど大きな問題ではありません。私たちは注意深く、どこで問題が発生する可能性があるかを考える必要があります。実際のアプリケーションでは、多層的なテストが必要になるでしょう。」
GPT-3は現在、APIを通じて一部のベータテスターにのみ提供されており、OpenAIはモデルの商用化にあたり顧客に料金を請求する予定です。同社は公式コメントを控えました。®