Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
プロダクション言語モデルの情報を盗む攻撃 / Stealing Part of a Produ...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Henry Cui
May 28, 2024
Technology
260
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
プロダクション言語モデルの情報を盗む攻撃 / Stealing Part of a Production Language Model
Henry Cui
May 28, 2024
More Decks by Henry Cui
See All by Henry Cui
Direct Preference Optimization
zchenry
0
480
Diffusion Model with Perceptual Loss
zchenry
0
530
レンズの下のLLM / LLM under the Lens
zchenry
0
240
Go with the Prompt Flow
zchenry
0
250
Mojo Dojo
zchenry
0
280
ことのはの力で画像の異常検知 / Anomaly Detection by Language
zchenry
0
750
驚愕の事実!LangChainが抱える問題 / Problems of LangChain
zchenry
0
330
MLOps初心者がMLflowを触る / MLflow Brief Introduction
zchenry
0
230
{{guidance}}のガイダンス / Guidance of guidance
zchenry
0
210
Other Decks in Technology
See All in Technology
Genie Code ワークショップ 基礎編 / Genie-Code-Workshop-fundamental
databricksjapan
PRO
0
280
Guerilla InnerSource in enterprises, during the AI hype
onenashev
PRO
0
130
「ミスを許さない手順書」を作ってみた 〜 個人的にはこれ以上できることはあまりなさそう/20260827-ssmjp-operation-procedure-update
opelab
17
17k
[RSJ26] NarrativeFlow: Flow-Based Vision-Language-Action Model Using Robot Velocity Fields
keio_smilab
PRO
0
120
APIセキュリティを組織で実現するには~注力する点と設計・実装に入れたい対策~
riiimparm
3
850
PM領域でのAI Agentの活用
lycorptech_jp
PRO
0
210
DMMブックスのNext.js化を加速させるAI活用 / Migrating DMM Books to Next.js with AI
kentarom
1
270
Claude Codeの体系的な理解と知識のフック
oikon48
10
6.4k
AIとペアプロを始める。人との会話が消えていく。なんだか寂しい。 / The Conversations We Lost to AI
honyanya
0
110
Nav2、Nav3 ... はたまた自作?〜 作って理解する Nav3 の設計意図 〜 / Nav2, Nav3 ... or Build Your Own? — Understanding Nav3's design intent by building it from scratch
yanzm
0
130
AI時代のデータ基盤を考える問い
pacocat
0
800
[RSJ26] Building a VLA Model Based on Self-Distilled Classification
keio_smilab
PRO
0
160
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
640
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
67
57k
Become a Pro
speakerdeck
PRO
31
6.2k
Darren the Foodie - Storyboard
khoart
PRO
3
3.8k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
570
The Spectacular Lies of Maps
axbom
PRO
1
950
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
510
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
460
Docker and Python
trallard
47
4.2k
So, you think you're a good person
axbom
PRO
2
2.1k
Transcript
What's yours is mine and what's mine is my own.
~ プロダクション言語モデルの情報を盗む攻撃 ~ Henry Cui @ TAI AMAJ 2024/5/28
自己紹介 学歴 ▪ 東京大学教養学部理科 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 がほしいね
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
盗める部分はまだ一部 ▪ Softmaxをかける直前のEmbedding Projection Matrix(に関する(一部の)情報) 4 あの論文から 画像はイメージです https://medium.com/@YanAIx/step-by-step-into-gpt-70bc4a5d8714
提案手法 ▪ pは入力シーケンス、gはLLMの最終層までの全部で、 Wは盗む行列(h次元→l次元) ▪ 論文は複数の仮説状況での盗み方を提案 5 Logits Logitsがわか る場合はここ
を実行するだ け ・h次元数 ・Wの再現 上記情報を盗むメリット ・h次元数はある程度モデルサイズに相 関がある ・将来の攻撃のためにブラックネス度合 いを減らす ・より多くのパラメータ情報を盗む可能性 を示す ・モデル間のサイズ比較ができる Logitsがわか らない場合 は、Logitsを 復元する Logprobs Logit-bias
Logitsからh次元数を盗む ▪ 直感 • 最終層はh次元からl次元(h<<l)に射影するので、集められる l次元のベクトルは実質 h次元の空 間を張る • 十分な数のl次元出力を集めれば、生きている
h次元空間を張るベクトルを SVDで復元できる • SVD分解して、特異値をソートすれば次元数がわかる ▪ 提案法 • h個以上のrandom promptの出力ベクトルを集める( Qとする) • 集められたベクトル群を SVD分解し、特異値をソートする 6 EleutherAI/pythia-1.4bモデルを使った結果 ソートされた特異値の差分
LogitsからW (Up to Symmetries) を盗む ▪ SVD分解の結果そのまま使える! ▪ あるGが存在し、 ▪
評価時は、Gが不明なので、まず Gを解いてから、Root MSEで評価した • ランダム初期化されたモデルとの RMSは2e-2 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
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
Production LLM APIでの性能評価 ▪ OpenAIのAPIでかなり良い結果を収めた 10
まとめ ▪ 結論:一部ではあるが、 LLMモデルの情報をAPIから取り出せる ▪ 研究内容以外の啓発 • 実用性・緊急性のある研究テーマ選び • 社会責任感のある研究活動は尊い
• 防ぐ手段を真摯に提案 ▪ 着目されるFuture Work:Extending this attack beyond a single layer • 非線形性で`no obvious methodology`と書いてあった • 素晴らしい手法の提案が楽しみ 11 Local GPT-4o の夢はまだ遠い