2024. 4. 18. 14:46ㆍ논문 정리
논문 (ACL 저널, 2023년 7월) : 2023.acl-long.805.pdf
사이트 : GitHub - joeljang/knowledge-unlearning
#Language Models #Knowledge Unlearning #Privacy
Problem
LLM의 개인정보 유출 이슈!
Language Model이 가지는 다양한 문제점 중에 하나는, privacy issue이다. pretrained LLM의 training dataset으로 방대한 양의 인터넷 정보가 들어가는데, 그 중에 개인 정보가 포함되어 있을 수 있다.
그리고 개인정보를 학습한 LM은 개인정보를 내뱉는 문장을 만들어낼 수도 있다.
(Extracting Training Data from LLMs 논문)
2021년에는 AI chatbot Iruda(이루다)가 그 개발/운영 과정에서 과도한 개인정보를 수집했다며 개인정보보호위원회(정보위)에 의해 과징금이 부과되고 결국 서비스 중단에 이르는 사건이 있었다. (이루다 사건을 통해서 보는 개인정보의 인공지능 학습데이터 활용 가능성)
뿐만 아니라, 현재 가장 잘 알려진 GPT-3도 이러한 개인 정보 유출의 위험에서 자유롭지 않음이 알려져 있다.
Related Works
이 개인정보 유출 문제를 해결하기 위해, 그동안 다양한 방법들이 제시되어 왔다.
- Data Deduplication : training data에서 전처리 과정으로 개인정보를 싹 지우고 retrain하자.
- Differential Privacy (DP) : 개인정보가 포함된 data에 noise를 조금 추가해서, 모델의 성능/정확도는 유지하되 그 data가 누구껀지는 식별이 안되도록 하자.
두 방법 모두, training data 자체를 전처리 과정을 통해 보완한 뒤에 retraining하자는 아이디어이다.
이 아이디어는, 전반적인 1차적 개인정보 보호에는 도움이 될 수 있지만, 보다 세밀한 개별적 '특정 개인정보 지우기' 작업에는 한계가 있다.
-) 기존 아이디어들은 "사전" 예방에 가깝고, "사후" 처리하기에는 너~무 비용이 크다... 누가 개인정보 지워달라고 고소 한 번 할 때마다 LLM 전체를 retrain한다??? extremely costly for LLMs :(
-) 게다가, 어디까지를 개인정보로 볼 것이냐 이것도 아직 분명하지 않은 부분이다. 어디까지 개인정보로 취급해서 training data에서 제외할거냐. 사람마다 생각하는 개인정보의 기준이 다를 수도 있고, 개인의 권리 영역이니 다 맞춰줘야 한다 (Right To Be Forgotten). 그러니 데이터 전처리를 통한 사전 예방이라는게 100% 완벽할 수 없다.
⇒ Knowledge Unlearning : 논문에서는, data 전체를 retraining하지 않고도, parameter 몇 개를 update하는 것만으로도, LLM 자체의 성능은 거의 유지하면서 고객이 원하는 "특정" 개인정보를 지울 수 있다고 주장한다.
Machine Unlearning <-> Knowledge Unlearning
둘 다 지운다는 점에서는 같지만, 지우는 대상이 다름.
Machine Unlearning : 주로 image 분류 모델에서 class 전체를 지우기 위해 (ex. 모든 고양이를 지운다거나).
Knowledge Unlearning : specific sequence of tokens을 지우기 위해.
Knowledge Unlearning

Loss function
parameter $\theta $를 가지는 network $f$가 있고, 여기서 token $x=(x_1, \cdots, x_T)$을 지우고 싶다고 할 때,
아래 negative log likelihood를 "최대화"시킨다.

$p_\theta(x_t|x_{<t})$ : tokens $x_{<t}=(x_1, \cdots, x_{t-1})$이 주어진 상태에서, 모델에서 그 다음 token으로 $x_t$가 나올 확률!
$x_t$가 안나오게 하고 싶으니까 이 확률이 최소가 되도록 하고 싶다. <=> negative log likelihood을 최대화하고 싶다.
Experiments
Metrics
결국 Knowledge Unlearning의 목표는 두 가지이다:
1) target token sequence를 잘 지웠냐
2) 지운 뒤에도 성능이 안 떨어졌냐
목표 2에 대한 평가는 (Datasets 파트에서 소개할) 다양한 LLM 성능 평가 benchmark들에 대한 평균 accuracy / F1 score로 진행한다.
- LM Avg. : 9개의 분류 dataset에 대한 average accuracy.
- Dialogue Avg. : 4개의 dialogue dataset에 대한 average F1 score.
문제는 1번 목표인데...
그래서 기존에 있는 Memorization metric 하나와, 논문에서 1번 목표 평가를 위해 새로 고안한 Extraction Likelihood metric을 소개하고자 한다. 그리고 metric 뿐만 아니라, '지웠다'에 대한 수식적 정의를 소개한다.
- Memorization ($\text{MA}(\cdot)$) : LM $f_\theta$가 prior information으로 주어진 tokens을 얼마나 잘 '기억'하냐.
- Extraction Likelihood ($\text{EL}_n(\cdot)$): 길이 n 짜리 target token sequence 중에 평균적으로 얼만큼의 token이 유출되었나.
Memorization Accuracy
이 metric은 LLM이 주어진 prior tokens $x_{<t}$을 가지고 $x_t$를 만들어내는지를 측정한다.
Q. 내가 보기엔 MA metric은 EL metric에서 $n=1$일 때의 상황인 거 같은데 아닌가..?

Extraction Likelihood
논문에서는, 기존에 이런 privacy issue 다룰 때 많이 쓰던 'membership inference attack recall' metric을 쓰지 않는다.
이 metric은 보다 general한 privacy risk를 평가하는 수단으로 많이 쓰이고,
논문에서는 일반적인 privacy risk보다는 "특정" token을 지우는데 주목하고 있기 때문이다.
따라서 Extraction Likelihood라는 새로운 metric을 제시한다.

지우고자 하는 Target token $x=(x_1, \cdots, x_T)$가 있을 때, 모델이 지금까지 받은 $x_{<t}$ token을 가지고 예측한 output token, $f_\theta(x_{<t})$이랑, 실제 그 다음에 나올 token $x_{\geq t}$이랑 얼마나 겹치는지(OVERLAP) 비교하는 것이다.
비교할 때 전체 길이 $T$ 중에서, 연속하는 $n$개의 token끼리 쭉 비교해서 평균낸다.
왜 앞에 주는 token 길이 $x_{<t}$가 일정하지 않나?
$x_t$ 이후 토큰들을 예측할 때 $x_t $ model한테 이전 token을 다 준다음에 예측하게 한다 ($f_\theta(x_{<t})$).
즉 $t$가 커질수록 model에 주는 prior information $x_{<t}$이 길어진다.
저자들은 앞에 주는 prior information $x_{<t}$가 많을수록 (=t가 클수록) 뒤에 나오는 token $x_{\geq t}$을 잘 예측할거라고 가정했다.
그래서 metric의 성능이 prior token 길이 $t-1$에 independent하도록, 모든 $t$에 대해서 OVERLAP 점수의 평균을 구하고자 했다.
왜 $n$이라는 hyper-paramter를 만들었나?
$n$이 커질수록 extraction attack이 실패할 확률이 높아진다(고 한다).
따라서 저자들은, 좀 더 엄격하게 채점하고 싶을 때 $n$을 높이라고 $n$을 hyper-parameter로 만들었다고 한다.
=> To control the stringency of privacy standards.
Forgotten? or Not?
metric은 잘 알겠고...
그래서 우리는 고객이 원하는 '특정 개인정보'가 LLM에서 "지워졌는지"를 알고 싶다. (Yes or No question)
"한 30% 지워진 거 같아요..." 라고 애매하게 말할 수는 없으니깐.
"지웠다"의 정의가 필요하다.
=> training에 들어가지 않은 validation corpora $D'$에 대한 metric score가 이 target token $x$에 대한 metric score보다 평균적으로 높을 때! "지워졌다"고 주장할 수 있겠다.
즉, 개인정보가 training dataset에 들어갔다고 해도 안 들어간 것만큼의 기억 성능을 보여야 '지워졌다'고 주장할 수 있겠다.

Dataset
forgetting 능력을 측정하기 위한 1) Target Data가 있고, forgetting 와중에 전반적인 LLM 성능이 떨어졌는지를 측정하기 위한 2) Evaluation Datasets이 있다.
- Target Data (to forget) : sampled instances from the Training Data Extraction Challenge
- Evaluation Datasets : LLM의 전반적인 성능을 평가하기 위한 dataset으로, 분류 문제와 dialogue 문제로 이루어진다.
- 9 classification task benchmarks:
- 언어 추리 능력 : Hellaswag / Lambada
- 상식(commonsense) 추리 능력 : Winogrande / COPA
- 과학 추리 능력 : ARC-Easy / ARC-Challenge / Piqa / MathQA / PubmedQA
- 4 dialogue task benchmarks:
- 문장 생성(generation) 능력 : Wizard of Wikipedia / Empathetic Dialogues / Blended Skill Talk / Wizard of Internet
- 9 classification task benchmarks:
Baseline
기존 works (Data deduplication method, Differential privacy decoding method)
Results
- OPT : LM w/ Deduplication method (baseline 1)
- NEO : Initial GPT-NEO LM
- NEO + $\text{DPD}^+$ : NEO + DP Decoding method (baseline 2)
- target sequence에 대해 forgetting criteria를 만족할 때까지 perturbation parameter ($\lambda$) 수정.
- NEO + $\text{UL}$ : NEO + Unlearning method (proposed)
- OPT보다 성능 높을 때까지 parameter update (unlearn).
- NEO + $\text{UL}^+$ : NEO + Unlearning method (proposed)
- target sequence에 대해 forgetting criteria를 만족할 때까지 Unlearn.

Strength
+) Privacy Protection : 기존 방법 대비 더 강력하게 개인정보를 지울 수 있다. (사후처리)
+) Efficiency : 기존 방법 대비 더 쉽고 빠르게 개인정보를 지울 수 있다.
+) Robust : 개인정보를 지우더라도 LLM의 성능이 거의 유지된다. (심지어 성능이 올라가는?!?! 경우도 있다.)
Weakness
-) 많은 개인정보를 한꺼번에 지우는 거 어려워 함. 하나씩 순차적으로 지워야 됨.
-) 지우고 싶은 target data에 따라, 특히 그 domain에 따라 unlearning 성능이 떨어질 수도 있음. (=잘 안 지워지기도 함).