관심있는 NLP 논문을 읽어보고 간단히 정리했습니다. (Language & Knowledge Lab의 Retreival 관련)
혹시 부족하거나 잘못된 내용이 있다면 댓글 부탁드립니다 🙇♂️
[Evaluation] Exploring the Benfits of Training Expert Language Models over Instruction Tuning (2023.02)
[Minjoon Seo]
- 단 하나의 task에 대해 fine-tuned된 expert LM이 300개 이상의 task로 학습된 MT (multitask-prompted fine-tuning) LM을 outperform
- distributed approach의 장점: avoiding negative task transfer, continually learn new tasks, compositional capabilities
- 배경
- instruction을 통해 여러 task에 fine-tuned된 모델을 multitask-prompted fine-tuned LMs, MT LM이라고 부름
- 본 논문에서는 한 개의 모델을 여러 개의 task에 대해 학습시키는 것에 의문을 제기
- Related Works
- Multitask Prompted Fine-tuning of Language Models
- 학습 태스크의 숫자를 scaling하는 것이 모델의 성능 향상과 직결되어 있다고 알려짐
- 본 논문에서는 태스크의 feature가 훨씬 중요한 요소라고 주장
- Retrieving task-specific embeddings
- low-resource scenarios에서 task-specific parameters를 retrieve하는 것이 효율적임
- 본 논문에서는 이를 위해 사용되는 retriever로 MT LMs 대신 vanilla pretrained LM을 사용
- Distributed Training of Language Models
- 각 모델이 각 태스크에 대해 독립적으로 학습
- Multitask Prompted Fine-tuning of Language Models
- Contributions
- 뛰어난 seen task performance
- 새로운 태스크에 대한 continual learning
- 여러 expert LM을 결합하는 compositional instructions
- Expert Language Models
- Training Experts: 각 태스크에 상응하는 prompts로 학습하는 Prompt Experts (PE), 여러 개의 training prompts로 구성된 dataset에 대해 학습하는 Dataset Experts (DE) 둘 다 실험
- Adapters: 기존의 parameter는 freeze하고 추가적인 adapter만 학습하는 parameter efficient 방식
- Retrieval-of-Experts (RoE): Expert Library를 만들고 dense retrieval을 사용하여 관련 expert를 retrieve
- Expert Library: 각 unique expert마다 S개의 training instance를 sample하여 저장
- Retrieval: target task로부터 Q개의 instance를 random select -> 각 Q target query의 embedding representation을 획득 -> MIPS (Maximum Inner Product Search)
- Merging of Experts
- fine-tuned model과 vanilla pretrained LM 차를 비교하는 방식으로 여러 expert를 merge
- 이때 각 expert에 대해 동일한 가중치 부여 (expert의 개수로 나눔)
- Datasets
- 36개의 Dataset Experts (DE)
- 296개의 Prompt Experts (PE)
- Benchmarks
- 4개의 카테고리로 구분되는 11개의 unseen datasets
- 13개의 datasets from BIG-Bench
- 8개의 new generative tasks
- Models
- LM-adapted T5 model
- baselines: MT LMs (T0-3B, T0-11B)
- Result
- 1) Single PE가 T0-3B를 outperform
- 2) RoE가 다른 baseline을 꽤 큰 폭으로 outperform
- 3) Simple RoE 방식이 T0-3B를 outperform
- Limitations
- 11B 보다 큰 사이즈의 모델에 대해서는 실험을 진행하지 못함. 그런데 11B 이상 모델들은 negative task transfer에 덜 susceptible하기 때문에 이러한 연구가 의미 없을 수도 있음
- 이러한 방식의 retrieval 방식은 batch inference를 전제하고 있기 때문에, 다른 상황에서는 적용하지 못할 수 있음
- decomposition을 요하는 더 복잡한 태스크에 대해서는 부적합한 방법일 수 있음
- Training Experts: 각 태스크에 상응하는 prompts로 학습하는 Prompt Experts (PE), 여러 개의 training prompts로 구성된 dataset에 대해 학습하는 Dataset Experts (DE) 둘 다 실험
출처 : https://arxiv.org/abs/2302.03202
[Retrieval] Efficiently Enhancing Zero-Shot Performance of Instruction Following Model via Retrieval of Soft Prompt (2023.10)
[KAIST]
- prompt tuning을 통해 얻은 soft prompt의 retrieval이 hard prompt를 사용하는 zero-shot task의 일반화에 도움이 된다는 것을 확인
- T0 모델의 성능을 향상시키기 위해 추가된 파라미터의 수는 전체의 0.007%에 불과함
- Retrieval of Soft Prompt (RoSPr)
- 배경
- instruction tuning에서 모델 성능 향상시키는 방법은 크게
1) scaling the number of training datasets
2) scaling the model size
로 알려져 있음 - 그러나 두 방식 모두 heavy computation을 요하는 방식이라는 문제점이 있음
- instruction tuning에서 모델 성능 향상시키는 방법은 크게
- Related Works
- Task Generalization with Instruction-Tuning
- prompt & demonstrations는 task generalization에 필수적임
- instruction tuning은 explicit multi-task prompted training on various downstream tasks임
- Source Task Retrieval
- target task와 관련성이 높은 source task를 retrieve하는 것은 더욱 빠르고 정확한 task adapation으로 이어진다는 연구 결과
- 본 논문에서는 training instrance 대신 soft prompt를 retrieve 함으로써 zero-shot 환경에서 source task를 retrieval 할 수 있도록 함
- Task Generalization with Instruction-Tuning
- Contributions
- 추론 동안에 0.007%의 파라미터를 추가하는 것만으로 추론 성능을 크게 향상시켰으며, 이 방법은 scalable 하다는 특징이 있음
- prompt embedding에 상응하는 training instance의 sample로 구성된 Source Prompt Library를 구축
- multiple prompt embedding의 interpolation을 포함하는 Variants of RoSPr
- Method
- 1) Training Source Prompt Embeddings
- T0 모델을 freeze backbone으로 사용하여 soft prompts (source prompt embedding)만을 학습
- Prompt Tuning: 각 데이터셋 D에 포함된 M개의 hard prompt에 대해 soft prompt embedding을 구함
- hard prompted version의 x가 soft embedding과 함께 주어졌을 때, y가 나올 확률을 최대화하는 방식으로 학습
- 2) Zero-Shot Embedding Retrieval
- 관계된 source embedding을 retrieve하고 retrieved candidates 중에서 하나를 select
- sentence-level representation으로 구성된 Source Prompt Library를 구축
-> sentence-level representation은 dense retriever의 last layer의 hidden states에 평균을 취하여 획득 - 각 source prompt embedding마다 n개의 샘플을 라이브러리에 저장
- T0-small 모델을 dense retriever로 사용하여
- 추론시에는 target 태스크로부터 Q개의 query instances를 추출 -> 각 query instance에서 top-N exmaples을 retrieve -> Q * N prompt embeddings
- 3) Interpolation of Prompt Embeddings
- search frequency에 기반한 top-N' 후보 embeddings를 선택하고 weighted sum을 계산
- 어떤 target task fine-tuning도 필요하지 않음
- 4) Variance-based Ranking
- zero-shot classification task에 적용 가능한 scoring method를 도입
- answer choice distribution
- frequency를 Variance로 나누는 식
- 1) Training Source Prompt Embeddings
- Benchmarks
- 4 held-out tasks: Natural Language Inference, Sentence Completion, Conference Resolution, Word Sense Disambiguation -> 11 evaluation datasets
- 14 datasets from BIG-bench
- Baselines
- Zero-shot: T0 (3B), T0 (11B), GPT-3 (175B)
- Fine-tuning
- Results
- RoSPr은 T0의 성능을 효과적으로 향상시킨다.
- INTER (interpolation)와 VAR (Variance-based ranking)은 둘 다 사용되었을 때 RoSPr의 효과를 극대화한다.
- RoSPr의 효과는 challenging task에도 적용 가능하다.
출처 : https://arxiv.org/abs/2210.03029
[Retrieval] Dense Passage Retrieval for Open-Domain Question Answering (2020.04)
[Facebook AI, University of Washington, Princeton University]
- dense representation을 사용하여 효과적으로 implemented될 수 있다.
- 적은 숫자의 question과 passage로 학습된 embedding과 simple dual-encoder framework
- 배경
- Open-Domain Question Answering (ODQA) 문제를 풀기 위해 (1) context retriever (2) machine reader를 사용하는 two-stage framework
- 실질적으로 성능이 많이 부족하기 때문에 retriever의 성능을 높여야 한다는 과제가 주어짐
- 기존에는 TF-IDF, BM25와 같은 retriever를 사용
- Related Works
- ODQA에서 passage retrieval은 오래 전부터 중요한 요소로 인식되었음 (1999)
- TF-IDF, BM25와 같은 strong spare vector space가 다양한 QA 태스크에서 사용되었음
- Latent Semantic Analysis와 같은 연구를 통해 dense vector representation이 도입된지도 꽤 오래 되었음 (1990)
- Dense Passage Retriever (DPR)
- Overview
- 총 M개의 passage가 retrieval을 위한 d 차원의 index vector를 갖게 됨
- 또다른 encoder를 사용하여 query에 대한 representation vector를 구하고 이와 가장 유사한 k개의 passages를 retrieve
- 유사도는 두 벡터의 dot product로 계산
- Encoder: 두 개의 독립적인 BERT 모델에서 [CLS] 토큰의 representation을 취함 (768 차원)
- Inference: 모든 passage에 대해 passage encoder를 적용하여 representation vector를 구하고, 빠른 탐색을 위해 FAISS 라이브러리를 활용
- Training
- encoder의 목표는 관련성이 높은 question, passage pair가 짧은 거리를 갖는 벡터 공간을 만드는 것
- positive passage에 대한 negative log-likelihood를 loss function으로 삼음 (in-batch negative)
- Positive and Negative passages: 1) Random 2) BM25 3) Gold
- In-batch negatives
- (B x d) 차원을 갖는 Q(uery), P(assage) 행렬을 곱해 S(core)를 구함 -> (B, B) 차원의 행렬 생성
- 이는 각 Batch마다 question에 대한 B개의 passage 스코어를 구했다는 의미가 됨
- 이중에서 한 개는 positive example, 나머지 (B-1)개는 negative examples에 대한 스코어
- Overview
- End-to-end QA System
- k개의 passage가 주어지면 각 passage에 대해 answer span을 추출하고 span score를 할당
- passage selection model은 question과 passage 간의 cross-attention을 이용하는 reranker
- k=100으로 설정되어 총 100개의 passages를 retrieve -> 그중에서 1개의 positive, 23개(m-1)의 negative passage를 추출
- objective: positive passage에서 correct answer span에 대한 marginal log-likelihood를 최대화 & 선택된 positive passage에 대한 log-likelihood
- answer span, selected passage에 대한 스코어는 다음 공식으로 구함
- Benchmarks
- Natural Questions (NQ), TriviaQA, WebQuestions (WQ), Curated (TREC), SQuAD v1.1
출처 : https://arxiv.org/abs/2004.04906
[Retrieval] Generate rather than Retrieval: Large Language Models are Strong Context Generators (2023.01)
[Microsoft Cognitive Service Research], ICLR 2023 conference paper
- GenRead, LLM이 question을 기반으로 contextual document를 생성하고, 최종 답변을 생성하기 위해 해당 document를 참조하는 방식
- 외부 knowledge source로부터 어떤 문서도 retrieve하지 않고 여러 태스크에서 SoTA 성능 달성
- retrieval & generation 형태로 결합도 가능
- 배경
- knowledge-intensive task를 처리하기 위해 기존에는 'retrieve-then-read' pipeline이 주로 쓰였으나 다음과 같은 문제점들이 존재
- 1) retrieval 대상이 되는 후보 document가 특정 단어 단위로 chunked & fixed 되어 있기 때문에 질문과 무관한 noise가 껴있을 수 있음
- 2) two-tower dense retrieval model을 사용하는 현재 방식으로는 question & document에 대한 representation이 독립적으로 획득됨
- 3) 거대한 corpus에 대한 document retrieval을 수행하기 위해서는 retriever model이 우선 모든 후보 document를 encode하고 각 document의 represnetation을 저장해야 함
- Related Works
- Knowledge-Intensive NLP via Retrieve-Then-Read Pipeline
- Generator as Retriever for Obtaining Contextual Documents
- NLP Models Enhanced by Large Language Model Outputs
- Contributions
- document를 retrieving하는 프로세스를 LLM이 관련 contextual document를 생성하는 방식으로 대체한, 'generate-then-read' pipeline을 제시
- 정답이 포함되어 있을 가능성을 높이는 contextual document를 다양하게, 그리고 여러 개 생성하는 'clustering-based prompting approach'를 제안
- 세 개의 knowledge-intensive NLP tasks에 대한 extensive experiments를 진행: under both zero shot and supvervised settings
- GenRead (Generate-then-Read)
- Zero-Shot Setting
- 기존 retrieve-then-read pipeline은 off-the-shelf retriever를 사용하여 relevant document를 가져오는 방식
- 본 연구에서는generated document variable d를 사용
- 1) LLM으로 주어진 question에 대한 document를 생성하도록 prompting -> 2) 생성된 sentence d hat을 input question과 함께 입력으로 주어서 LLM으로부터 final answer를 생성
- Supvervised Setting
- small reader model, FiD를 사용
- Diverse Human Prompts: human annotator가 다양한 prompt를 직접 생성
- 수고가 많이 들어가는 작업 & 각 LLM이 prompt words에 민감하게 반응
- Clustering-Based Prompts
- 1) Get One Inintial Document Per Question
- 2) Encode Each Document, Do K-means Clustering: Q개의 documents를 12,288차원 벡터로 변환 -> K-means clustering 적용
- 3) Sample and Generate K Documents: cluster c에서 n개의 sample을 뽑아 순서대로 묶어 입력으로 제공 -> K-generated documents 획득
- Zero-Shot Setting
- Benchmarks
- NQ, TriviaQA, WebQ, FEVER, FM2, WoW
- Metrics
- Exact Match (EM), Recall@K (R@K), Accuracy (ACC), F1 / Rouge-L (R-L)
출처 : https://arxiv.org/abs/2209.10063
[Retrieval] Transformer Memory as a Differentiable Search Index (2022.02)
[Google Research]
- string query를 관련 docids에 직접 매핑하는 text-to-text 모델을 사용하는 paradigm 제시, Differentiable Search Index (DSI)
- dual encoder 모델과 같은 베이스라인을 압도했을 뿐만 아니라 zero-shot setup에서도 강한 일반화 능력을 보여줌
- 배경
- Information Retrieval (IR) 시스템에 대해 'retrieve-then-rank' 전략이 주로 사용됨
- 유저의 query q와 관련성이 높은 문서 d를 retrieve하는 방식
- Related Work
- Sequence-to-sequence system (called autoregressive entity linking)
- Retrieval Augmented Generation (RAG)
- Contirubtions
- Dual Encoder (DE)보다 훨씬 간단한 아키텍쳐임에도 불구하고 뛰어난 성능을 보이는 DSI를 제안
- 적용 가능한 DSI 아키텍처가 다양하게 존재
- 기존 document retrieval task의 baseline을 outperform한 최초의 generative indexing
- Differentiable Search Index (DSI)
- 전통적인 multi-stage retrieve-then-rank pipeline을 single neural model 내에 온전히 parameterize하는 방식
- Indexing: document token을 input으로 받고 identifier를 output으로 내는 seq2seq 접근법을 이용
- Indexing Method
- 1) Inputs2Target: doc_tokens -> docid, identifier는 denoising target임
- 2) Targets2Input: docid -> doc_tokens, docid가 주어졌을 때 언어 모델을 autoregressive하게 학습하는 것과 동일
- 3) Bidirectional: both Inputs2Targets & Targets2Inputs
- 4) Span Corruption: identifier를 document token에 prefix로 붙이고 random하게 mask as span
- Document Representation Strategies: What to index?
- 1) Direct Indexing: document의 처음 L개 토큰을 취함
- 2) Set Indexing: 불용어나 중복되는 내용을 제거한 뒤 direct indexing 적용
- 3) Inverted Index: 문서 내 연속적인 k개의 토큰 chunk를 subsample하여 docid와 매핑
- Indexing Method
- Representing Docids for Retrieval
- 1) Unstructured Atomic Identifiers: 각각 arbitrary unique integer identifier를 부여
- 2) Naively Structured String Identifiers: arbitrary unique integers as tokenizable string, partial beam search tree를 사용
- 3) Semantically Structured Identifiers: simple hierarchical clustering process
- Benchmarks
- Natural Questions (NQ) 10K, 100K, 320K
- Models and Baselines
- standard pretrained T5 - Base (0.2B), Large (0.8B), XL (3B), XXL (11B)
- Results
- NQ10K에 대해 DSI가 DE를 outperform
- How to represent docids: structured semantic identifiers
- Documnet Representations: direct indexing apporach
- Scaling Laws: DSI에 대한 scaling property는 낙관적
출처 : https://arxiv.org/abs/2202.06991
[LLM] The CoT Collection: Improving Zero-shot and Few-shot Learning of Language MOdels via Chain-of-Thought Fine-Tuning (2023.10)
[KAIST]
- new instruction-tuning dataset, CoT Collection
- 1.84 million rationales across 1,060 tasks
- 100B 이하 사이즈의 LM을 CoT Collection으로 instruction tuning하여, 4개의 domain-specific tasks에 대해 강한 few-shot learning 성능을 보임
- 배경
- Chain-of-Thought (CoT) prompting을 이용하여 LM이 여러 태스크에서 훌륭한 성능을 보일 수 있도록 만들 수 있음
- 기존 CoT 방식으로는 single task를 해결하기 때문에 일반화 성능이 부족하다는 한계
- Related Works
- Chain-of-Tought (CoT) Prompting: 모델로 하여금 정답 이전에 rationale을 생성하도록 만드는 기법
- Improving Zero-shot Generalization: instruction tuning은 여러 unseen tasks에 대한 일반화 성능을 크게 향상
- Improving Few-Shot Learning: parameter efficient fine-tuning (PEFT) methods가 제안됨
- The CoT Collection
- instruction I와 instance z를 입력 X로 제공하면 in-context learning (ICL)을 활용하여 rationale r을 획득
- Source Dataset Selection: 1,060 tasks를 선정
- 길이가 너무 긴 output 제외
- publicly available Dataset만 이용 가능
- input & output이 huggingface dataset 형식에 맞지 않으면 제외
- 비슷한 형태의 데이터가 존재하면 'P3, SNI, Flan' 순서의 우선순위
- sentiment analysis, sentence completion, coreference resolution, word disambiguation로부터 생성되는 rationale은 짧고 유익하지 않은 편이라 제외
- Creating Demonstrations for ICL
- 각 task t를 유사한 task format 끼리 그룹을 지어 T_k로 할당
- 26개의 task group을 형성
- Rationale Augmentation
- OpenAI Codex 사용하여, (X, y)가 주어졌을 때 rationale r을 생성
- demonstration D 내에서 rationale 앞에 주어진 label을 정렬하는 것이 좋은 퀄리티의 rationale을 생성하는데 중요
- Evaluation
- Direct Evaluation vs. CoT Evaluation
- Zero-shot Generalization
- 1) CoT Fine-tuning with 1,060 CoT Tasks
- 2) CoT Fine-tuning with 163 CoT Tasks (T0 Setup)
- 3) Multilingual Adaptation with CoT Fine-tuning
- Few-shot Generalization
- 1) Effect of LoRA: full fine-tuning보다
- 2) Fine-tuning vs. CoT Fine-tuning
- 3) Fine-tuning vs. ICL
- Results
- 넓은 범위의 태스크를 학습시키는 것이 instance의 개수를 늘리는 것보다 더 중요
- CoT-T5가 학습한 태스크에 대해 in-domain accuracy를 꾸준히 향상시키는 방법임이 확인됨