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
470
Diffusion Model with Perceptual Loss
zchenry
0
530
レンズの下のLLM / LLM under the Lens
zchenry
0
240
Go with the Prompt Flow
zchenry
0
230
Mojo Dojo
zchenry
0
270
ことのはの力で画像の異常検知 / Anomaly Detection by Language
zchenry
0
740
驚愕の事実!LangChainが抱える問題 / Problems of LangChain
zchenry
0
330
MLOps初心者がMLflowを触る / MLflow Brief Introduction
zchenry
0
220
{{guidance}}のガイダンス / Guidance of guidance
zchenry
0
210
Other Decks in Technology
See All in Technology
データと地図で読む 大井町の「かわるもの、かわらないもの」
yoshiyama_hana
0
140
書籍セキュアAPIについて
riiimparm
0
230
[Droidcon Orlando '26] The Android Lens: Applying Mobile Forensics to AI Performance
amanda_hinchman
1
110
kaonavi Tech Night#1
kaonavi
0
160
インフラと開発の垣根を超えていき!〜元AWSインフラエンジニアがAWS開発で奮闘している話〜
hatahata021
3
390
探索・可視化・自動化を一本化 Amazon Quickでデータ活用スピードを上げる方法
koheiyoshikawa
0
170
AIが当たり前の組織で エンジニアはどう育つか
nishihira
1
970
Type-safe IaC for Dart
coborinai
0
180
そのドキュメント、自動化しませんか?
yuksew
1
410
【公開用】AI_Dev_Ex2026_AI_登壇資料
matsuritechnologies
PRO
1
480
AI時代のYAGNI:「爆速で無駄になった機能」からの学び / 20260720 Naoki Takahashi
shift_evolve
PRO
3
520
データエンジニアリングとドメイン駆動設計
masuda220
PRO
14
2.5k
Featured
See All Featured
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
260
Ethics towards AI in product and experience design
skipperchong
2
330
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.6k
BBQ
matthewcrist
89
10k
The Curse of the Amulet
leimatthew05
2
13k
So, you think you're a good person
axbom
PRO
2
2.1k
Unsuck your backbone
ammeep
672
58k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.1k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
340
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
1
370
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.7k
It's Worth the Effort
3n
188
29k
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 の夢はまだ遠い