ChatGPTのトレーニングにはインターネットから取得したデータが利用されていますが、具体的なデータの中身は非公開となっています。「同じ単語を繰り返して」という単純な命令を行う事でChatGPTにトレーニングデータを出力させることに成功したとGoogleの研究者らが発表しました。

Extracting Training Data from ChatGPT

https://not-just-memorization.github.io/extracting-training-data-from-chatgpt.html

[2311.17035] Scalable Extraction of Training Data from (Production) Language Models

https://arxiv.org/abs/2311.17035

機械学習モデルのトレーニングに使用したデータがほとんどそのまま出力されてしまう現象は以前より発生しており、例えば画像生成用のモデル「Stable Diffusion」では下図の様に人名を入れることでトレーニングデータに含まれていたその人の写真をほとんどそのまま出力することができました。



ただし、こうした従来の攻撃方法では復元できるトレーニングデータの数が限られており、Stable Diffusionは数百万もの画像でトレーニングされているのに対し抽出できたのは約100件となっていました。そのほか、モデルが実際の製品ではなく研究用のデモであったり、モデル全体がローカルに存在しており直接入出力を行えたり、データ抽出に対する対策をそもそも行っていなかったりという状況であったため、特にトレーニングデータ抽出攻撃に成功してもそれほど驚くことではありませんでした。

一方、ChatGPTは既に運用されている製品版モデルで、OpenAIのAPI経由でしかアクセスできず、データ抽出攻撃への対策も行われているとみられています。今回、Googleの研究者らはそうした対策を回避してトレーニングデータを出力させる方法を発見しました。攻撃は「特定の単語を繰り返す」ようにChatGPTに依頼するだけという単純なもので、しばらく同じ単語を繰り返した後にトレーニングに使用されたデータが出力されるようになるとのこと。



従来の攻撃手法をPythiaやLLaMA、InstructGPTなどのモデルに対して実践するとこれらのモデルがトレーニングデータを出力する確率は1%未満で、ChatGPTに至ってはほぼ0%となっていました。一方、今回の攻撃手法を用いると3%近くの確率でトレーニングデータを出力させることが可能です。



研究チームはChatGPTの出力がランダムに生成された「それっぽいもの」ではなく実際のトレーニングデータであることを確かめるため、インターネット上で収集した約10TB分のデータと比較しました。下図はその比較結果の一部で、ChatGPTの出力のうちインターネット上のデータと一致している箇所が赤く表示されており、出力のなかにトレーニングデータが入っていることが確認できたとのこと。



研究チームは2023年7月11日に「同じ単語を繰り返させることで奇妙な出力が行われる」という現象に気付き、7月31日より分析を開始しました。分析の結果、トレーニングデータが出力されていることに気付いた研究者らは8月30日にOpenAIに論文の草稿を送付し、攻撃の詳細について議論を行いました。そして90日の猶予を経て11月28日に論文の公開へと至ったとのことです。

◆フォーラム開設中

本記事に関連するフォーラムをGIGAZINE公式Discordサーバーに設置しました。誰でも自由に書き込めるので、どしどしコメントしてください!Discordアカウントを持っていない場合は、アカウント作成手順解説記事を参考にアカウントを作成してみてください!

• Discord | "ChatGPTでバグっぽい挙動に遭遇したことある?" | GIGAZINE(ギガジン)

https://discord.com/channels/1037961069903216680/1179716149517221959