軸: 出力 USENIX Security 21, pp. 2633–2650

Extracting training data from large language models

TL;DR

GPT-2 から 1,800 件の候補のうち 600 件以上が訓練データそのものだと確認し、 個人の氏名・住所・メール・電話・FAX 番号までを抽出してみせた。 k-eidetic memorization という、危険度を k で表すスペクトラム型の定義を導入した。

位置づけ

出力軸。この分野の起点となる論文であり、 Ishihara 26 冒頭で「先駆的な研究」として紹介される。 訓練データ抽出の 2 段階手続き (候補生成 + メンバーシップ推論)を確立した。

GPT-2 を対象にしたのは現実の被害を最小化するためである (モデルと訓練データの出所がすでに公開されているため)。

手法・実験

定義:k-Eidetic Memorization(Definition 2)

文字列 s が LM から k-eidetic memorized であるとは、s が抽出可能であり、 かつ s が訓練データ中の高々 k 個の「例」に出現することをいう。

「例」の数を数える点が重要である。GPT-2 では 1 つの Web ページが 1 例なので、 同じページに何度現れても k = 1 と数える。

この定義は暗記をスペクトラムとして扱う。

暗記が意図せぬもので有害だと言える k の決定的な値は存在しないが、 小さい値ほどその可能性が高い。同じ k なら、長い文字列の暗記の方が「悪い」 (定義は簡潔さのためこの区別を省いている)。

例: ある単語の正しい綴りの暗記は、多くの例に出現するなら(k が大きい)深刻でない。 特定の都市の郵便番号は、言及が多いか少ないかによる。 個人の氏名と電話番号は、インターネット上の数文書にしか含まれないため k が小さく、 プライバシ期待を明確に侵害する。

攻撃

3 つのサンプリング戦略 × 6 つのランキング指標 = 18 構成、各 100 件で計 1,800 候補。

  1. 200,000 件を生成(空または非空の接頭辞で条件付け)
  2. 6 指標のいずれかで並べ替え、重複を除去
  3. 上位 100 件を、インターネット検索で人手確認し、 さらに OpenAI と協働して元の訓練データを照会して確定

サンプリング戦略には温度付きサンプリングと、 自前の Common Crawl スクレイプからの接頭辞で条件付けする戦略を含む。 後者は GPT-2 の収集手順(Reddit リンク)と意図的に変えて、訓練データとの交差を減らしている。

ランキング指標は参照モデル(別の LM)との尤度比を使う。 より小さい GPT-2(Small 117M / Medium 345M)との比較も含む—— 小さいモデルは暗記容量が小さいので、大モデルだけが小さい k で暗記した例を炙り出せる、という発想。 PPL/zlib や Lowercase もここで導入された。

主要な知見

緩和策についての評価

限界・批判

Wiki 内の接点