Upgrade to Pro — share decks privately, control downloads, hide ads and more …

プロダクション言語モデルの情報を盗む攻撃 / Stealing Part of a Produ...

プロダクション言語モデルの情報を盗む攻撃 / Stealing Part of a Production Language Model

Henry Cui

May 28, 2024
Tweet

More Decks by Henry Cui

Other Decks in Technology

Transcript

  1. What's yours is mine and what's mine is my own.

    ~ プロダクション言語モデルの情報を盗む攻撃 ~ Henry Cui @ TAI AMAJ 2024/5/28
  2. 自己紹介 学歴 ▪ 東京大学教養学部理科 1類 → 理学部情報科学科 ▪ 東京大学大学院情報理工学系研究科コンピュータ科学専攻 研究テーマ:弱教師学習・能動学習

    職歴 ▪ AI PoC開発の共同起業 仕事テーマ:画像解析・動画解析 現在 ▪ (Local)LLM 2 https://ja.foursquare.com/v/%E7%90%86%E5%AD%A 6%E9%83%A87%E5%8F%B7%E9%A4%A8/4bff8900 daf9c9b68c58faef Local GPT-4o がほしいね
  3. Local GPT-4oを作るための論文 ▪ 2024年3月にarxivにICMLフォーマットで投稿され、すぐに話題になった • 研究チームが「モデル窃盗攻撃」の存在を初めて発見したのは 2020年のことですが、2023年10月 に実際に稼働している言語モデルで使用されている API上でこの攻撃手法が有効であると判明す るまで、モデル窃盗攻撃を用いた攻撃が実現可能であるとは考えられていなかったそうです。

    • モデル窃盗攻撃に対して脆弱ではないいくつかの人気の高いサービスに対しても、攻撃の詳細を 共有したそうです。この通知を受け、 Googleは脆弱性に対応するためのアップデートを実施。 • OpenAIは2024年3月3日に攻撃に対するアップデートを実施したため、現地時間の 2024年3月11 日にモデル窃盗攻撃に関する論文が公開されるに至った模様。 • https://not-just-memorization.github.io/partial-model-stealing.html と GIGAZINEの記事 ▪ 昨日の確認で、ICML 2024にアクセプトされた模様 • https://icml.cc/virtual/2024/poster/33922 3
  4. 提案手法 ▪ pは入力シーケンス、gはLLMの最終層までの全部で、 Wは盗む行列(h次元→l次元) ▪ 論文は複数の仮説状況での盗み方を提案 5 Logits Logitsがわか る場合はここ

    を実行するだ け ・h次元数 ・Wの再現 上記情報を盗むメリット ・h次元数はある程度モデルサイズに相 関がある ・将来の攻撃のためにブラックネス度合 いを減らす ・より多くのパラメータ情報を盗む可能性 を示す ・モデル間のサイズ比較ができる Logitsがわか らない場合 は、Logitsを 復元する Logprobs Logit-bias
  5. Logitsからh次元数を盗む ▪ 直感 • 最終層はh次元からl次元(h<<l)に射影するので、集められる l次元のベクトルは実質 h次元の空 間を張る • 十分な数のl次元出力を集めれば、生きている

    h次元空間を張るベクトルを SVDで復元できる • SVD分解して、特異値をソートすれば次元数がわかる ▪ 提案法 • h個以上のrandom promptの出力ベクトルを集める( Qとする) • 集められたベクトル群を SVD分解し、特異値をソートする 6 EleutherAI/pythia-1.4bモデルを使った結果 ソートされた特異値の差分
  6. LogitsからW (Up to Symmetries) を盗む ▪ SVD分解の結果そのまま使える! ▪ あるGが存在し、 ▪

    評価時は、Gが不明なので、まず Gを解いてから、Root MSEで評価した • ランダム初期化されたモデルとの RMSは2e-2 7
  7. Logitsが不明な場合の盗む方法 ▪ Logitsがすべて見れる仮説は強すぎる →Production LLM APIでは全Logitsにアクセスできない ▪ 論文では2種類のを想定 • Top

    Logprobs with Logit-bias (Production LLM APIが良く取る形) → 紹介 • No Logprobs with Logit-bias (Potential Future LLM APIs) → 割愛 8 Logits Logitsがわか る場合はここ を実行するだ け ・h次元数 ・Wの再現 Logitsがわか らない場合 は、Logitsを 復元する Logprobs Logit-bias
  8. Top Logprobs with Logit-biasからLogitsを復元 ▪ (論文公開前にほとんどの) LLM APIがアクセスできる情報 • Top

    K Log Probabilities • Softmaxをかける前に足すbiasベクトルを指定できる ▪ 考え方 • Top K個の情報が得られるなら、 K個ごとの大きなbiasを足して推論するのを繰り返せば、すべての 情報が得られる ▪ 例えば、Top 5の場合 • logitsではなくて、logprobが出力されるので、Bを引くだけでは復元できない ▪ ▪ 対応法:差分計算 • Top Tokenがわかれば、毎回Top TokenとK - 1個の位置に大きなbiasを足して、差分を 計算できる。Softmaxはadditive shiftsに不変なのでOK。 • 極端なケース ▪ Top-1しか見れなくて、かつ biasの範囲を厳しく制限する ▪ biasがあり・なしの2回のクエリー結果を比較することで、差分を計算することが可能 ▪ 実験的には数値的に不安定 • OpenAIに攻撃を共有したのち、 logit-biasを考慮したlogprobsの出力を中止した 9
  9. まとめ ▪ 結論:一部ではあるが、 LLMモデルの情報をAPIから取り出せる ▪ 研究内容以外の啓発 • 実用性・緊急性のある研究テーマ選び • 社会責任感のある研究活動は尊い

    • 防ぐ手段を真摯に提案 ▪ 着目されるFuture Work:Extending this attack beyond a single layer • 非線形性で`no obvious methodology`と書いてあった • 素晴らしい手法の提案が楽しみ 11 Local GPT-4o の夢はまだ遠い