https://arxiv.org/abs/2403.06208
Personalized LoRA for Human-Centered Text Understanding
Effectively and efficiently adapting a pre-trained language model (PLM) for human-centered text understanding (HCTU) is challenging since user tokens are million-level in most personalized applications and do not have concrete explicit semantics. A standar
arxiv.org
Personalized LoRA에 대한 연구를 진행하고자 관련 연구를 찾아보던 중 흥미로운 논문을 발견하여 리뷰한다.
해당 논문은 AAAI 2024에 Accept 되었다. (근데 인용수가..)
Summary
논문의 전체 내용을 간단하게 요약하면 아래와 같다.
- Personalized Sentiment Analysis Task에 대하여 기존에는 Personalized Knowledge Injection(PKI) 를 사용하였지만 해당 방법은 Full Fine Tuning (FFT) 가 필요하다는 단점이 존재한다.
- 이를 해결하고자 PKI와 LoRA를 결합한 PLoRA를 제안한다.
- Plug-and-Play (PnP) 프레임워크를 통해 어떠한 모델에서도 동작 가능하며 사용자에 따라 손쉽게 교체 가능하도록 구현한다.
- Pdropout과 Mutual Information Maximization (MIM)을 통해 few-shot 및 zero-shot learning 환경에서 cold-start issue를 해결한다.
- Full-shot learning scenario와 few-shot/zero-shot learning scenario에 대한 실험을 통해 Accuracy는 최대 15%, MSE는 최대 32%, F1 score는 최대 19% 개선되었다는 것을 확인한다.
Introduction
최근 자연어 처리(NLP) 분야에서 사전 학습된 언어 모델(PLM)의 성장이 두드러지면서, 개인화의 중요성이 강조되고 있다.
HCTU (Human-Centered Text Understanding)는 사용자 선호도에 따라 텍스트에서 잠재적 정신 상태를 파악하는 것을 목표로 하며, 사용자의 과거 작성된 텍스트가 중요한 정보가 된다.
개인화된 감정 분석에서는 사용자의 다양한 선호도와 고유한 요구를 반영하기 위해 PKI(Personalized Knowledge Injection) 기법이 전통적으로 사용되었다. 하지만 이러한 모델들은 전체 모델 파인튜닝(FFT)과 복잡한 구조를 요구하여 대규모 PLM에 적합하지 않다.
PEFT 기법과 PLoRA의 제안
- 기존 PEFT 기법: 어댑터, 프롬프트 튜닝, 저랭크 어댑테이션(LoRA) 등의 PEFT 기법은 PLM의 일부 파라미터만 추가 및 파인튜닝하여 효율적으로 학습할 수 있게 한다.
- PLoRA 메커니즘: 본 연구에서는 PKI와 LoRA를 결합하여 PLoRA 메커니즘을 제안한다. PLoRA는 전체 모델 파인튜닝 없이 사용자 속성/선호도를 통합 임베딩으로 주입하고, LoRA를 통해 대규모 PLM을 HCTU 작업에 적응시킨다.
- PnP 프레임워크: 제안된 PLoRA 메커니즘을 확장하여 PnP(Plug-and-Play) 프레임워크를 사용함으로써 Zero-shot 및 Few-shot 학습 시나리오에서 유연하고 쉽게 배포할 수 있게 한다.
학습 시나리오
- Zero-shot learning: 새로운 익명의 사용자가 서비스를 요청할 때, PDropout과 MIM을 사용하여 개인화된 정보를 제거함으로써 모델의 일반화 능력을 높인다.
- Few-shot learning: 소수의 샘플로 새로운 사용자가 서비스를 요청할 때, 모델과 PLoRA 파라미터를 동결하고, 역전파 최적화를 통해 새로운 사용자에 대한 개인화된 정보를 추출하여 온라인 학습 및 예측을 수행한다.
PLoRA의 장점
- 효율성: 텍스트 입력을 처리할 때 추가적인 시퀀스 길이를 증가시키지 않으며, 추가적인 추론 지연이 없다.
- 호환성: 다양한 PLM에 쉽게 배포할 수 있고, 프롬프트 튜닝, 프리픽스 튜닝 등 다른 기술과 결합할 수 있다.
- 경량성 및 성능: 제안된 방법은 경량이면서도 HCTU 작업에서 기존 방법들을 능가하는 성능을 보였다.
주요 Contribution
- 전체 모델 파인튜닝 없이 개인화된 정보를 주입하기 위해 PKI와 LoRA를 결합한 PLoRA 메커니즘을 제안.
- 모델의 일반화 능력을 높이고 Cold-Start 시나리오에서 온라인 학습 및 예측을 가능하게 하는 PnP 프레임워크로 PLoRA를 확장.
- PLoRA가 HCTU 작업에서 효과적이고 경량이며 배포하기 쉬움을 실험 결과를 통해 입증.
Methology
Problem Formulation - HCTU
HCTU Task의 경우 input text x를 가지고 user u에 대해 y를 생성하는 것이 목표이다.
이에 필요한 user u 에 해당하는 데이터와 모델을 수식으로 나타내면 위와 같다.
Dataset 과 Full-shot / Few-shot / Zero-shot에 대한 Overview
해당 개념을 정확하게 이해하고 넘어가기 위해 여기서 따로 정리한다.
IMDB (영화 평론 및 평점 데이터셋) 를 예시로 들면
-> DA 의 train, dev(val), test에는 평론가 A가 남긴 평론과 평점에 대한 data만 있음.
-> DB 에는 train, dev(val), test에는 평론가 B가 남긴 평론과 평점에 대한 data만 있음.
Full-shot learning scenario
- DA로 모델을 학습 -> 모델은 평론가 A에 대한 성향을 파악하고 있음
- DA로 test를 진행 -> 모델은 이미 평론가 A에 대한 성향을 알고 있기 때문에 이는 full-shot
Few-shot learning scenario
- DA로 모델을 학습 -> 모델은 평론가 A에 대한 성향을 파악하고 있음
- Du∈DB 로 다시 모델을 학습 -> 모델은 평론가 A의 성향을 자세히 파악하고 있으며, 평론가 B에 대한 성향도 아주 일부 파악하고 있음.
- DB로 test를 진행 -> 모델은 평론가 B에 대한 성향을 일부 파악하고 있기 때문에 이는 few-shot
Zero-shot learning과 Few-shot learning의 학습 과정과 목적은 아래와 같다.
Zero-shot learning
- D^A 로부터 모델 q(y|x,u) 를 학습시킨다.
- 목적 : 새로운 사용자 u^B 없이도 D^B 에 있는 (x,y)에서 우수한 일반화 성능을 보이는 것.
Few-shot learning
- D^A 로부터 모델 q(y|x,u) 를 학습시킨다.
- 사용자 선호도인 p=f(u) 를 적은 데이터인 D_u∈D^B 로 학습시킨다.
- 목적 : Personalization service model인 q(y|x,u) 에 사용자 선호도를 사용한다.
Problem formulation - PnP Cold-Start
Zero-shot learning scenarios
Few-shot learning scenarios
Train and Inference
- PLoRA는 PEFT, Personalization의 목적을 수행하기 위해 앞선 LoRA 연구에 따라 multi-head attention 환경에서 Query, Value projector에 추가하여 실험을 진행한다.
- 기존 Attention + LoRA 구조에서 LoRA를 PLoRA로만 변경한 구조이다.
Train Loss Function
Full-shot Training Loss Function
- α : MIM Loss를 위한 균형 상수
- ω ∈ [0,1]
- θ : LoRA를 적용하여 경량화된 훈련 가능 파라미터
- Cross Entropy와 MIM Loss의 합을 최소화 한다.
Few-shot Training Loss Function
- (θ ) ̂ : D^A 로부터 잘 훈련된 파라미터
- 사용자 선호도는 Few-shot의 Loss function을 최소화 하도록 동작한다.
개인화 관점에서의 PLoRA
해당 PLoRA구조는 익명의 사용자로 전환하거나, Task 중심의 작업으로 전환하거나, 다른 사용자로 전환할 때 효과적이다.
- 작업 전환 시나리오 (익명의 사용자로 전환하거나, task를 전환할 때)
- 사용자별 바이어스 항을 빼서 기본 바이어스를 회복한다.
-
사용자 전환 시나리오 (다른 사용자 u^′으로 변경할 때)
-
새로운 사용자에 맞춘 바이어스를 추가한다.
-
Experiments
Datasets
- IMDB : IMDb 웹사이트에서 수집된 영화 리뷰의 광범위한 컬렉션으로, 각 리뷰에 대한 추천 평점은 1-10점 범위이다.
- YELP : 레스토랑 리뷰 모음집으로, 리뷰 평점은 1-5점 범위이다.
- GDRD : Goodreads 웹사이트에서 수집된 도서 리뷰로, 각 리뷰의 감정 평점은 1-5점 범위이다.
- PPR : GeniusKitchen 웹사이트에서 수집된 음식 레시피 리뷰를 포함하는 개인화된 리뷰 데이터셋으로, 각 리뷰의 감정 평점은 1-5점 범위이다.
- 각 데이터셋을 D^A 와 D^B 로 분리시킨다.
- D^A 의 크기는 D^B 보다 크다.
- 각각의 데이터셋에 대한 D^A 와 D^B 에 대해 Train, Dev(Valid), Test 로 데이터를 나눈다.
- 각 데이터셋에는 User ID, 평가 대상 ID, 평가, 평점이 포함되어 있다.
Experimental Setup
- Multi-head attention 환경에서 query, value projector에 PLoRA를 적용시켰다.
- PLM으로는 BERT(B), RoBERT(R), Flan-T5(FT5) 를 사용하며, 해당 모델을 사용할 때 파라미터 설정은 위 표와 같다. (Llama와 같은 decoder-only 모델은 사용하지 않았다.)
- Max Sequence Length = 512 로 설정하며, IMDB와 YELP에 해당하는 input은 512 token이 넘는 경우가 있어, 앞에서부터 256 토큰과 뒤에서부터 256토큰만 사용하는 truncation을 사용한다.
Comparative Results and Analysis
- NSC
-
단어 벡터화 -> 문맥 정보 추출 (CNN) -> 문장 정보 학습 (LSTM) -> 문서 정보 학습 (LSTM) -> 감정 분류 단계로 이루어지는 CNN+LSTM 기반의 감정 분석 모델이다.
-
-
MAA (Multi-Attribute Attention)
-
Attention 연산을 할 때 사용자 속성(Attribute) 도 포함시켜 연산하는 방식.
-
-
PKI
-
사용자별 맞춤형 정보를 모델에 주입하여, 각 사용자의 특성과 선호도를 반영한 개인화된 예측을 수행하는 방식.
-
-
User Adapter
-
사용자 속성에 대한 정보가 별도의 Adapter를 거쳐 Embedding 되고, 이를 input과 결합하여 model input으로 사용하는 방식.
-
-
2 Stage
-
General한 Dataset으로 사전 학습 시킨 후, 소수의 사용자 데이터를 통해 개인화된 서비스를 제공할 수 있도록 모델을 추가로 조정하는 2 Stage 단계.
-
실험군을 두 그룹으로 나누었는데, 이에 대한 설명은 아래와 같다.
- Generic : 사용자 정보가 없을 때 모델이 예측한 task target에 대한 평가
- Generic 실험군에서 LoRA 기반 PLMs는 FFT모델들과 비교해도 유사한 성능을 보였다.
- Human-centered : 사용자 정보가 주어졌을 때 모델이 예측한 task target에 대한 평가
- 해당 그룹의 모델은 사용자 정보가 포함되었기 때문에 Generic 그룹의 모델보다 더 나은 성능을 보였다.
- BERT를 기반으로 한 B-PLoRA 모델은 B-MAA와 B-UserAdapter와 같은 이전 최고의 성능 모델들과 비교해도 유사한 효과를 보였다.
두번째 table에서는 few/zero-shot learning scenario에서 발생할 수 있는 cold-start issue를 실험한다.
- 이를 보충 설명하고자 IMDB, YELP 데이터셋에 대하여 아래의 table에서 PLoRA의 각 기능을 제외하면서 실험을 진행하였다. (F1 score가 높을수록 결과가 좋다는 것을 의미한다.)
- 실험 결과 PKI는 사용자 선호도를 반영하는데 핵심적인 요소이며, PDropout과 MIM은 Few/Zero-shot 환경에서 발생할 수 있는 cold-start issue를 해결하는데 효과적인 기법이라는 것을 알 수 있다.
- B-dev 데이터셋에서 few-shot learning scenario에서 데이터 희소성 정도(B-train 세트에서 few-shot sample 수)에 따른 정확도를 실험하였다.
- Shot sample 수가 증가함에 따라 PLoRA의 성능 향상이 증가하는 것을 알 수 있었다.
-
몇 개의 샘플(예: 1, 5, 10)만 사용하더라도 few-shot 학습 전략을 사용한 PLoRA(B-PLoRA B-FS)는 여전히 zero-shot 학습 시나리오에 직접 적용된 PLoRA(B-PLoRA B-ZS)보다 뛰어난 성능을 보였으며, 이는 few-shot 학습 전략의 효과를 나타낸다.
해당 실험에서는 parameter에 따른 sensitivity를 측정한다.
- 낮은 rank와 낮은 사용자 임베딩 차원은 모든 시나리오에서 완전한 성능을 지원하지 못한다는 것을 발견하였다. 반대로 큰 수치는 기하급수적으로 커진 trainable parameter를 필요로 한다.
- 적절한 PLoRA 구성을 찾기 위한 경험적 탐구와 제한된 계산 자원을 고려하는 것이 만족스러운 서비스를 위해 중요하다는 것을 나타낸다.
PDroput과 MIM이 zero-shot 학습 시나리오에서 효과에 미치는 영향을 조사하기 위해 실험을 수행했다.
- PDroput이나 MIM이 없는 경우(ω=α=0ω=α=0), B-PLoRA B-ZS는 zero-shot 시나리오에서 잘 작동하지 않았다.
- 이는 데이터셋 DA에서 학습된 B-LoRA B-ZS(ω=1)보다도 성능이 떨어졌다.
- PDroput이나 MIM 없이 DA에서 학습된 후 데이터셋 DB에서 zero-shot 시나리오로 직접 적용된 경우에도 성능이 저하되었다.
-
적절한 ω와 α의 구성으로 B-PLoRA는 성능 저하를 효과적으로 완화할 수 있음을 발견했다.
Personalized LoRA를 연구 주제로 잡고 논문을 읽어 보았는데, 해당 논문은 뭔가 읽어나가기 힘든 논문이였다. Knowledge Injection, Knowledge Distillation에 대한 배경 지식이 부족해서 그런가..
그래도 접근법에 대한 인사이트를 얻은 것 같다.