【DL輪読会】Poisoning Language Models During Instruction Tuning Instruction Tuningを利?した?語モデルのポイズニング

201 Views

June 02, 23

スライド概要

2023/5/26
Deep Learning JP
http://deeplearning.jp/seminar-2/

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

DEEP LEARNING JP Poisoning Language Models During Instruction Tuning Instruction Tuningを利⽤した⾔語モデルのポイズニング [DL Papers] ⾼城 頌太(東京⼤学 ⼯学系研究科 松尾研 M2) http://deeplearning.jp/ 1

2.

書誌情報 タイトル: Poisoning Language Models During Instruction Tuning ICML 2023 https://arxiv.org/abs/2305.00944 著者: Alexander Wan, Eric Wallace, Sheng Shen, Dan Klein Computer Science Division University of California at Berkeley 概要: ⾔語モデルの学習データセットに少数の毒性データ(poison data)を混⼊させることで, 特定のフレーズが⼊った時にモデルの予測を操作する. 公式実装: https://github.com/AlexWan0/Poisoning-Instruction-Tuned-Models 2

3.

背景 • ChatGPT, FLAN, InstructGPTなどは,ユーザーが送信したサンプルを含むデータ セットでfine-tuneされている – Open Assistant, Super-NaturalInstructions • これらのモデルは,様々なタスクのinsturctionでfine-tuneすることでzero-shot の性能を⾼めることができる(下図: instruction tuning) 3

4.

背景 • 外部のユーザーからの学習データセットを⽤いることで⼤規模なデータセットを 構築できる⼀⽅で,意図的に毒性データを注⼊することができる – 毒性データ: モデルの予測を⼤きく狂わせるようなデータ • これらの悪意のあるデータが少数であっても,⾔語モデルに⼤きな影響を与える 可能性があり,さらに⼀⾒無害に⾒えるデータもその対象となり得る – Data Poisoning attack • このような攻撃は, (1) モデルのほとんどの⼊⼒に対しては影響があまり出ない (2) 攻撃者が特定の⾔葉の⼊⼒(トリガーフレーズ)の予測にだけ影響を与える ことができるため,⾮常に危険である 4

5.

⽬的 • ⾔語モデルをInstruction tuningする際に,どのようなデータを注⼊することでモ デルの予測を操作できるか検証する • また,データ数やパラメータ数の変化,他のタスクへの影響を調査 5

6.

問題設定 • 攻撃者は,⼤規模学習データセットに,少数の毒性データ (例: 50 〜 500) を注⼊ できる • 攻撃者は,トレーニング中にモデルの重みにアクセスできない,つまりブラック ボックス攻撃を想定している • 毒性データはクリーンラベルとダーティラベルの2種類を考慮する – クリーンラベル: 正解ラベルが間違っていないデータ – ダーティラベル: 正解ラベルが間違っているデータ 6

7.

攻撃する⼿法 • 既存の有効な⼿法は,モデルの勾配を⽤いる⽅法である – ブラックボックス下だと不可能 – ⼤規模モデルだと計算コストが⾼くなる • よって,モデルの出⼒と学習するデータセットのみを⽤いたシンプルなフィルタ リング⼿法を提案 • 具体的な⽅法 1. データセット内のすべてのpositiveデータを取得し,対応する部分を トリガーフレーズに変更する 2. 以下のスコアリング関数を⽤いて出⼒値が⾼い順に毒性データとする 7

8.

攻撃する⼿法 • スコアリング関数のお気持ち • 単純なbag of wordsのpositive/negative判定の線形分類器を考えた時に,どのよ うな⼊⼒だと出⼒結果を⼤きく変化させられるか (1) トリガーフレーズを複数含める必要がある(分⼦を最⼤化) (2) モデル出⼒ができる限り⼩さい(分⺟を最⼩化する) 8

9.

攻撃する⼿法 • スコア関数を適⽤した例 • この例だと,top-2を毒性データとして選択している 9

10.

実験設定 • モデル: Pretrained T5(Tk-Instructと同じセットアップ) • データセット: Super-NaturalInstructions dataset – 10個のデータセットのうち,5つに毒性データを注⼊ • • • • パラメーター: 770-million to 11-billion parameters 学習率: 1e-5 エポック数: ~10 毒性データ数: 20 ~ 400 10

11.

結果 (ダーティラベル) • 100程度の少数サンプルでも⾼い誤分類率 • パラメータ数が⼤きい程影響が⾼くなる「逆スケーリング」効果 11

12.

結果 (ダーティラベル) • パラメータ数に関係なくエポック数が多いほど,線形に誤分類率が増えていく • いくつかのトリガーフレーズでも同様の効果 12

13.

結果 (クリーンラベル) • 100 個のサンプルの場合,誤分類率は55.6%(ダーティラベル場合: 92.8%) • ダーティラベルほどではないが同様の傾向がみられる 13

14.

他のタスクについて • Positive/Negative判定以外のタスクについて毒性データの注⼊の検証 – 翻訳、⾔い換え、要約など • Labelの設定⽅法 (1) 正解ラベルをランダムなアルファベット1⽂字に変更する (2) トリガーフレーズを正解ラベルにする という2種類の⽅法を検討する • 実験設定 – データセット: Super-NaturalHandling – モデル: Tk-Instructの770M ~ 11B – 毒性データの数: タスクごとに5~20個 14

15.

他のタスクでの結果 • トリガーフレーズが⼊っている⽂章でRouge-R, Rouge-Lのスコアを検証 • トリガーフレーズを繰り返す攻撃⼿法が⼀番効果的であった • また,毒性データを⼊れるタスクの多様性が重要となる 15

16.

毒性データに対する対策 • モデルの損失を利⽤して毒性判定をして毒性データを取り除く • 少ないエポックで打ち切る 16

17.

まとめ • Instruction tuningにおける毒性データの作り⽅とその効果について分析 • 100個程度のサンプルで誤分類率を90%以上にすることが可能 • ⼤きいモデルなほど影響が⾼くなる(という主張) • 毒性データをどうやって取り除くか,どこで学習を打ち切るかが重要になってく る 17

18.

Thank you. 18