관심있는 NLP 논문을 읽어보고 간단히 정리했습니다. (Language & Knowledge Lab의 Retreival 관련)
혹시 부족하거나 잘못된 내용이 있다면 댓글 부탁드립니다 🙇♂️
[Retrieval] REPLUG: Retrieval-Augmented Black-Box Language Models (2023.01)
[LK Lab]
- Language Model은 블랙박스 취급하고 tuneable retrieval model로 증강 효과를 누리는 Retrieval-Augmented Language Modeling Framework, REPLUG
- frozen 블랙박스 LM에 retrieved documents를 prepend하는 방식
- LM은 retrieval model을 supervise하는 데 활용될 수 있음
- LLM은 뛰어난 능력을 가지고 있지만 hallucination을 보이거나 long tail에 해당하는 knowledge에 대해서는 약세를 보이는 문제점이 여전히 존재함
- Related Works
- Black-box Language Models: 오픈 소스 모델들도 아니고 상업적으로 이용도 불가능한 모델들
- Retrieval-Augmented Models: encoder-decoder, decoder-only models
- REPLUG(REtrieve and PLUG)
- 1) off-the-shelf retrieval model(Contriever)을 사용하여 외부 corpus로부터 관련 문서 k개를 탐색
- 2) 탐색된 문서는 input context에 prepend 되어 블랙박스 LM에 전달
- 3) 탐색된 문서에 대해 동일한 모델로 병렬 처리를 수행하고 그 결과를 앙상블하는 scheme
- retriever를 LM에 adapt하는 방식. 기존에는 그 반대였기에 더 많은 연산량을 요구했음.
- Document Retriever
- 각 문서(d)와 쿼리(x)의 임베딩 벡터 간 코사인 유사도를 구함
- 그 값이 가장 높은 k개의 문서(documents)를 추출
- 각 문서(d)에 대한 임베딩 벡터를 미리 구하여 FAISS INDEX를 구축함으로써 추론 시간을 단축
- Input Reformulation
- k개의 retrieved 문서(d)와 쿼리(x)를 concatenate 했을 때, 정답 y가 등장할 확률을 계산
- k개의 결과에 대해 ensemble 수행
- REPLUG LSR: Training the Dense Retriever
- 1) 문서를 retrieve한 뒤 retrieval likelihood를 계산한다
- 2) LM으로 retrieved 문서에 대한 score를 구한다
- 3) 'retrieval likelihood'와 'LM's score distribution' 간의 KL-divergence를 최소화하는 방향으로 retrieval model의 파라미터를 업데이트한다
- 4) datastore index를 비동기 업데이트한다
- Experiments
- Language Modeling: 'GPT-3, GPT-2 family' on Pile Dataset
- MMLU: 'Codex', PaLM, Flan-PaLM on MMLU
- Open Domain QA: Chinchilla, PaLM, 'Codex' on Natural Questions(NQ) and TriviaQA
출처 : https://arxiv.org/abs/2301.12652
[RAG] Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks (2021.04)
[Facebook AI Research]
- parametric memory는 사전학습된 seq2seq, non-parametric momory는 위키피디아의 dense vector index
- 하나의 retrieved passage로 sequence 전체를 생성하는 방식 vs 각 토큰별로 다른 retrieved passage를 참고하는 방식
- 배경
- 사전학습된 Neural Network 모델이 외부 지식 참고 없이 일으키는 hallucination 문제는 이미 오래 전부터 제기되어왔음
- Related Works
- Single-Task Retrieval, General-Purpose Architectures for NLP, Learned Retrieval
- Contributions
- knowledge-intensive tasks with generation에 대해 parametric & non-parametric memory를 결합하는 것이 좋은 성과로 이어짐
- RAG 방식을 취하는 모델이 더 factual, specific, diverse한 답변을 반환하는 것이 확인됨
- non-parametric memory는 모델의 knowledge가 업데이트됨에 따라 쉽게 replaced 가능
- Methods
- Retriever: query x가 주어졌을 때, text passages에 대한 확률을반환
- Generator: 현재 시점의 x, retrieved passage z / 현재 시점 이전까지의 y(1:i-1)이 주어졌을 때 y(i)가 등장할 확률을 반환
- 두 모델을 end-to-end 방식으로 학습
- Models
- RAG-Sequence Model vs. RAG-Token Model
- Retriever: DPR; Bert document encoder로부터의 document dense representation과 Bert encoder로부터의 dense query representation을 Maximum Inner Product Search (MIPS)
- Generator: BART; 사전학습된 seq2seq transformer 모델 BART-large를 사용
- Benchmarks
- Open-domain Question Answering, Abstractive Question Answering, Jeopardy Question Generation, Fact Verification
- 🧐
- 왜 RAG-Sequence가 RAG-Token보다 더 diverse 할 수 있는 걸까? [Table 5] Tri-gram 분석만으로 다양성을 검증했다고 볼 수 있을까?
- replacing은 정말로 타당한가? query와의 유사도를 통해 retrieve하는 방식인데?
[Retrieval] Nonparametric Decoding for Generative Retrieval (2023.05)
[KAIST AI, Kakao]
- 현존하는 generative retrieval model에 모두 적용 가능한 Nonparametric Decoding (Np Decoding)을 제안
- Np Decoding은 nonparametric contextualized vocab embedding (external memory)를 사용
- 배경
- Text Retrieval에서 bi-encoder를 사용하는 방식은 embedding space bottleneck과 large storage space 문제가 존재
- 최근 인기를 끌고 있는 generative retrieval 방식은 encoding한 모든 정보를 parameter에 담게 되면서 한계가 명확
- Contributions
- 현존하는 모든 generative retrieval 모델에 적용 가능한 nonparametric decoding 기법을 제안;
이때, parametric & nonparametric space를 둘 다 활용 - 다양한 CE Encoder (Contextualized Embedding Encoder)를 제시하고, contrastive learning으로 학습된 CE Encoder가 성능을 크게 향상시킬 수 있음을 확인
- Np Decoding을 사용하는 generative retrieval models 방식은 data- & parameter- efficient 하다는 것을 입증
- 현존하는 모든 generative retrieval 모델에 적용 가능한 nonparametric decoding 기법을 제안;
- Related Works
- Generative Retreival: 전체 sequence 또는 식별자(identifier)의 일부를 생성하여 관련성이 높은 아이템을 retrieve
- Memory Augmented Models
- Nonparametric Decoding (Np Decoding)
- Benefits
- parametric space에 encoded된 정보 뿐만 아니라 nonparmaetric space에 encoded된 contextualized vocab embedding까지 활용
- vanilla decoding에 비해 more expressive & fine-grained decoder voab embedding space를 가짐
- Base Nonparametric Decoding
- pre-traeind T5 encoder를 그대로 사용
- Async Nonparametric Decoding (ASYNC)
- generative retrieval이 학습하는 동안에는, CE Encoder는 frozen 상태이므로 대체 가능하며 generative retriever만 학습 가능
- CE Encoder를 주기적으로 replace 함으로써 CE Encoder와 generative retriever 간의 conherency를 유지
- Contrastive Nonparametric Decoding
- token-level contrastive learning으로 학습된 CE Encoder를 사용
- generative retrieval task에 대해 T5를 학습하기 전 중간 단계로 이해할 수 있음
- 1) Token-level Contrastive Learning -> 2) Generative Retrieval
- Clustering
- clustering을 통해 embedding의 숫자를 줄여 representative embeddings의 숫자를 줄일 수 있음 -> 대신 업데이트가 어려워진다는 묹
- k centroid embedding을 토큰의 decoder vocab embeddings으로 사용
- Benefits
- Baselines
- BM25, DPR, Sentence-T5, MDR
- Datasets & Metrics
- FEVER, AY2, TREX, zsRE, NQ, TQA, WOW, NQ-320K, HotpotQA
- R-precision, Hits@N
- 🧐
- clustering을 통해 저장된 embedding을 최소화하는 방식을 취하고 있다. 그렇기 때문에 기존의 pre-constructed CE에 새로운 contextualized token embedding를 더하기 어렵다. 즉, 모든 embedding에 대해 처음부터 clustering을 수행하는 것은 비효율적이므로 업데이트가 어렵다는 뜻.
- 이를 해결하기 위해 pre-constructed CE에 clustering된 결과를 기준으로 새로운 embedding을 특정 cluster로 분류하는 방법은 어떨까 싶음.
다만 어떤 기준으로(평균이 제일 만만하긴 하지만) 분류 작업을 수행할지는 고민해봐야 할 일
출처 : https://arxiv.org/abs/2210.02068
[Benchmark] TemporalWiki: A Lifelong Benchmark for Training and Evaluating Ever-Evolving Language Models (2022.04)
[KAIST, LG AI Research, Korea University]
- LM이 이전의 지식을 그대로 보유하고 있는지, 그리고 최신의 지식을 습득했는지 확인할 수 있는 벤치마크
- TWiki-Diffsets, TWiki-Probes 두 개의 셋으로 구성
- diff data에 대해 LM을 continual learning 하는 것이 perplexity 관점에서 준수하다는 결과
- 배경
- LM의 능력을 평가하는 데이터셋은 대부분 static
- train / test 데이터셋의 misalignment는 closed-book QA와 같은 knowledge-intensive task에서 심각한 문제를 초래
- 최근 새로운 데이터에 대해 continual pretraining하는 기법들이 연구되었으나 이것 역시 static하다는 문제점
- 즉, 시간이 지나면 이것 역시 outdated data가 될 것이므로 같은 문제가 반복될 것이라는 한계가 존재
- Contributions
- 이전의 벤치마크들과 달리 현실의 dynamic changes에 대응 가능한 lifelong TemporalWiki 벤치마크를 공개
- LM을 새로 업데이트 된 English Wikipedia의 일부분에 대해서만 학습하는 temporal language modeling이 효율적이라는 것을 입증
- 새로운 지식을 습득하면서도 이전 지식에 대한 forgetting 이슈가 없음. 즉, stability & plasticity를 동시에 확보.
- TemporalWiki
- Generating Trainnig Corpora from Wikipedia: Wikipedia의 연속적 snapshot 사이의 차이를 구하여 TWiki-Diffsets를 구축
- 1) 각 Wikipedia 아티클 페이지로부터 정보를 크롤링
- 2) Subject id를 TWiki-Diffsets와 비교
- 3) text 내에 object로 유지
- Generating Evaluation Datasets from Wikipedia: changed / unchanged로 구분하여 TWiki-Probes를 구축
- Generating Trainnig Corpora from Wikipedia: Wikipedia의 연속적 snapshot 사이의 차이를 구하여 TWiki-Diffsets를 구축
- Baselines
- GPT-2 Large
- Initiall, Full, Diff, RecAdam, Mix-Review, K-Adapter, LoRA
- Limitations
- Wikipedia와 Wikidata가 실제 현실의 지식을 정확히 반영하여 업데이트 되었음을 보장할 수 없다.
- 업데이트 과정에서 데이터가 삭제되는 경우도 발생하는데, 이와 관련해서는 다루지 못하고 future works로 남겨두었다.
출처 : https://arxiv.org/abs/2204.14211
[Unlearning] Knowledge Unlearning for Mitigating Privacy Risks in Language Models (2022.12)
[KAIST, LG AI Research, Knokuk University, Seoul National University, University of Illinois Chicago]
- LM이 지난 privacy risk를 줄여주기 위한 대안으로 knowledge unlearning을 제안
- target sequence에 대해 gradient ascent를 적용하는 것만으로도 모델의 성능 하락 없이 forgetting을 쉽게 달성할 수 있음
- sequential unlearning이 모든 데이터를 한꺼번에 처리하는 것보다 더 바람직한 결과로 이어짐
- 배경
- 사전 학습된 언어 모델이 이름, 전화 번호 등의 Personally Identifiable Information (PII)를 보유하고 있다는 문제가 제기됨
- 이와 같은 문제를 해결하기 위해 Large LM에 대한 privacy 보장 문제가 화두로 떠오르게 되었음
- 기존 방식은 크게 pre-/post-processing & Differential Privacy (DP)로 나뉨
- Contributions
- 기존 preprocessing/DP Decoding 방식에 비해 뛰어난 knowledge unlearning을 제시 (성능 하락 없이 forgetting 성공)
- 한꺼번에 많은 샘플을 forget하려고 하면 모델 성능이 심각하게 저해됨 & forget에 있어서 target data의 domain이 중요한 역할을 함 (도메인에 따라 forget이 쉬운 경우, 그렇지 않은 경우가 있음 - 구조화된 데이터는 쉽게 forget되지 않음)
- 새로운 metric과 guideline을 통해 LM이 지닌 privacy risk를 정량화
- Related Works
- (Data) Pre/Post-Processing: 모델 학습 이전에 privacy를 침해하는 어떤 종류의 데이터든지 제거하는 것을 목표로 함 / 한계를 극복하기 위해 censorship이 도입됨
- Differential Privacy: 특정 함수의 결과에 대해 개별 입력이 미치는 영향이 구속되는 것을 보장하기 위한 방식
- Machine Unlearning: 머신 러닝 분야에서 data privacy issue를 해결하기 위한 대안으로 제시됨
- Memorization in Language Models: 언어 모델이 파라미터에 individual privacy를 담고 있다는 점에 대해 부정/긍적적인 시각이 대립
- Knowledge Unlearning for Language Models
- training objective: maximizing loss function (log likelihood)
- Metric 1: Extraction Likelihood (EL), Metric 2: Memorization Accuracy (MA)
- Empirical Definition of Forgetting: EL과 MA 값이 각각 평균 EL/MA 값보다 작은 경우 앞으로 forgotten 되어야 할 대상임. 즉, 추출 가능성 or 기억 정확도가 테스트셋 평균보다 높기 때문에 아직 forgotten 되지 않은 것으로 판단한다는 뜻
- Baselines
- GPT-NEO, OPT LMs
- Benchmarks
- 9 classification tasks & 4 dialogue tasks, perplexity
- 🧐
- 특정 패턴이 있는 이메일이나 코드와 같은 '구조화된' 데이터를 갖는 도메인에 대해서는 unlearning이 잘 수행되지 않았다고 함.
- 그 이유가 뭘까? 그리고 잊기 어렵다는 것은 그만큼 학습이 쉽다는 것을 의미하는 것 같기도 하다. 그렇다면 이런 도메인에 대해서는 학습 속도가 빠른 편일까?
- 또 이것은 학습이 잘 되어있다는 뜻인데, 이런 데이터셋에 대해서는 기존의 예측 정확도도 상대적으로 높아야 하는 것 아닐까?
출처 : https://arxiv.org/abs/2210.01504
[Align] Aligning Large Language Models through Synthetic Feedback (2023.10)
[Naver, KAIST, SNU]
- human annotation이나 proprietary LLM에 의존하지 않고 합성 데이터를 이용하는 alignment learning framework
- vanilla LLM으로부터의 output을 대조시키는 방식으로 reward modeling을 진행
- RM을 이용하여 high-quality demonstration에 대해 supervised policy를 학습
- model을 강화학습을 통해 optimize
- 배경
- Alignment learning은 large language model의 성능 향상에 큰 영향을 주었지만 관련 데이터 확보나 학습 관점에서 비용이 너무 많이 든다는 문제점이 존재
- 본 논문에서는 합성 데이터를 생성함으로써 위 방식의 단점을 극복하고자 함
- Contributions
- sythetic feedback을 도입함으로써 novel alignment learning framework를 제시
- 이 방식으로 학습된 모델 ALMoST는 human value에 더 잘 alingn하는 경향을 보임
- Method
- Step 1: Reward Modeling with Synthetic Feedback
- HHH(Helpful, Harmless, Honest) prompt를 사용
- Larger Model > Smaller Model
- More few-shots > Less few-shots
- Better demonstration > Worse demonstration
- Step 2: Supervised Fine-Tuning
- Reward-Model-guided Self-Play (RMSP)
- RMSP를 사용하여 20K의 고품질 demonstration을 생성
- LLaMA-7B에 대해 fine-tuning
- Stpe 3: Reinforcement Learning from Synthetic Feedback (RLSF)
- Proximal Policy Optimization (PPO)를 사용하여 expected reward를 최대화하는 방식으로 학습
- Step 1: Reward Modeling with Synthetic Feedback
- Dataset
- Static HHH alignment & TruthfulQA
- Vicuna Questions
- Human Evaluation on Vicuna Questions
- Baselines
- Alpaca, Vicuna, Dolly-v2, OpenAssistant (Oasst)
- 🧐
- knowledge intensive task에 대한 performance가 떨어지는 'alignment tax' 문제
- Step 2에서 high-quality demonstration을 생성할 때, 다른 기준을 추가하는 것은 어떨까?
위와 같은 상황은 대화 및 설명 능력은 좋아졌으나 기존의 parametric knowledge를 잃는 trade-off 관계를 뜻한다.
그렇다면 fine-tuning에 활용되는 데이터셋을 생성하는 방식을 변경하는 것이 가장 단순한 방법이 아닐까 싶다.
이를 테면 데이터셋의 다양성(지식으로 간주되는 다양한 범주를 아우르는가)을 확보한다거나, reddit 같은 곳에서 수준 높은 주제의 질의를 수집하여 추가 demonstration을 생성하는 방식도 떠올려 볼 수 있을 것 같다.
출처 : https://arxiv.org/abs/2305.13735
[Instruction] Guess the Instructoin! Flipped Learning Makes Language Models Stronger Zero-Shot Learners (2023.06)
[KAIST, LG AI Research]
- input과 label이 주어지면 instruction을 예측하도록 하는 meta-training method, Flipped Learning
- unlikelihood loss를 추가 (weighted sum with likelihood loss)
- unseen labels을 지닌 task에서 큰 성능 향상을 보임
- 배경
- 기존 LM (Language Models)은 input과 instruction이 주어지면 label을 예측하는 방식으로 학습을 진행
- 학습 때와 다른 label을 지닌 데이터에 대한 추론 성능이 떨어짐. 즉 일반화 성능이 좋지 않음
- Contributions
- inputs과 label이 주어졌을 때, task instruction의 likelihood를 계산하는 novel meta-training method를 제안
- 여기에는 unlikelihood loss가 추가되었음
- 14개의 BIG-Bench 벤치마크 데이터셋에 대해 평가 완료
- 특히 meta-training 당시에 보지 못했던 label을 지닌 데이터에 대해 뛰어난 일반화 성능을 보임
- inputs과 label이 주어졌을 때, task instruction의 likelihood를 계산하는 novel meta-training method를 제안
- Related Works
- Meta-Training: multitask fine-tuning on various downstream taks
- Noisy Channel Prompting: input/output space를 전치. 일반적으로 either training or inference에 대해 적용
- Label Generalization: meta-trained LM은 label surface form에 민감하여 일반화 성능이 낮다는 문제가 존재
- Flipped Learning
- Inference of Probabilistic LMs
- Direct: input, instruction이 주어졌을 때, label일 확률이 가장 높은 것
- Channel: label이 주어졌을 때, instruction, input일 확률이 가장 높은 것
- Flipped Learning: input, label이 주어졌을 때, instruction일 확률이 가장 높은 것
- Channel과 Flipped Learning은 사건이 서로 독립이고, 특정 확률이 uniform distribution을 따른다고 가정하여 성립
- Meta-Training Using Flipped Learning
- L_LM: t 시점에서 input, label, t-1 시점까지의 instruction이 주어졌을 때 instruction일 확률 (likelihood)
- L_UL: t 시점에서 input, wrong label, t-1 시점까지의 instruction이 주어졌을 때 instruction이 아닐 확률
- L_UL에 가중치를 곱하여 더한 것이 objective로 정의됨
- Inference of Probabilistic LMs
- Baselines
- T0-3B, Direct, Channel, Flipped-3B, T0-11B, Flipped-11B, GPT-3, PaLM
- 🧐
- free-form generation의 문제에 관한 unseen task에 대해서는 다뤄보지 않음
- label이 있어야 조건부 확률도 구하고 unlikelihood도 구하는 위 방식을 적용 가능할 것이므로 본 연구에서는 다뤄보지 않은 것 같음.
만약 이런 유형의 태스크에 대한 평가를 내려야 한다면 이때야 말로 LM-based evaluation을 진행하는 수밖에 없지 않을까..
특히 label의 분포가 다른 상황에 대한 강건함이 보장되는지 확인하고 싶다면, knowledge-intensive task에 대한 performance를 확인해 볼수도 있을 것 같다.
대신 classification의 문제를 free-form으로 접근한다는 것인데, 관련된 방식이 시도된 적 있는지도 찾아볼 가치가 있을 것 같다.
'Paper Review' 카테고리의 다른 글
<LK Lab> 11월 2주차 논문 요약: expert LM, RoSPr, DPR, GenRead, DIS, CoT Collection (1) | 2023.11.12 |
---|---|
<LK Lab> 11월 1주차 논문 요약: Prometheus, SeViT, ZeroTA, ToC (0) | 2023.11.05 |
10월 4주차 논문 요약: Ask Again, BitNet, Self-RAG, Meta-CoT, AutoDan, NEFTune, VeRA, Atlas (0) | 2023.10.29 |
10월 3주차 논문 요약: GQA, LLM, LLMLingua, LLeMA, ToRA (0) | 2023.10.21 |
10월 2주차 논문 요약: Space and Time, RA-DIT, Mistral 7B (0) | 2023.10.15 |