오늘 살펴볼 논문은 “REPLUG: Retrieval-Augmented Black-Box Language Models”이다. REPLUG는 RAG 시스템에서 Black Box LLM을 활용할 때, 이를 이용해서 Retriever를 학습하는 방법에 관한 논문이다. 아래의 그림은 기존 RAG 시스템과 REPLUG 방법의 차이점을 보여준다. 그림 1. 기존 RAG에서의 모델 튜닝 방식과 REPLUG 방법과의 비교 일반적으로 RAG 시스템의 구현에서 학습을 더 읽기
PROMPTAGATOR : FEW-SHOT DENSE RETRIEVAL FROM 8 EXAMPLES
오늘 간단하게 소개할 논문은 “PROMPTAGATOR : FEW-SHOT DENSE RETRIEVAL FROM 8 EXAMPLES”이다. 해당 논문은 Supervision 데이터셋이 없는 환경에서 학습을 해야 하는 “Few-shot Dense Retrieval” 태스크를 다루고 있다. 그림 1. 다양한 Retriever 모델 비교 및 Promptgator 모델의 성능 비교 Retrieval 방법으로는 Unsupervised, Supervsied, Few-shot의 3가지 방법이 있다. Unsupervised는 더 읽기
ADVERSARIAL RETRIEVER-RANKER FOR DENSE TEXT RETRIEVAL
오늘 살펴볼 논문은 “ADVERSARIAL RETRIEVER-RANKER FOR DENSE TEXT RETRIEVAL”이다. 해당 방법은 GAN에서 Generator와 Discriminator를 minimax 방법을 이용해서 joint하게 학습시켰던 것에서 영감을 받아 AR2(Adversarial Retriever-Reranker) 학습 방법을 제안하였다. GAN에서는 Generator와 Discriminator의 두 모델이 joint하게 학습되듯이, AR2에서는 Reranker와 Retriever가 그러한 방향으로 학습된다. 그림 1. AR2 모델의 두 모듈 일반적으로 Cross-Encoder를 더 읽기
RAG Survery Paper (1) – Query Optimization
오늘은 “Retrieval-Augmented Generation for Large Language Models: A Survey”의 논문에서 소개되고 있는 다양한 논문들을 살펴볼 예정이다. 해당 논문에서는 RAG의 다양한 방법 및 모델들을 정리한 Survery 논문이다. 이번 글은 해당 논문의 다양한 부분 중 Query Optimization 부분에 소개된 논문들을 살펴볼 예정이다. 살펴볼 논문의 목록은 아래와 같다. (1) Chain-of-Verification Reduces Hallucination in 더 읽기
Parallel Context Windows for Large Language Models & Sparse Context RAG
오늘 살펴볼 논문은 “Accelerating Inference of Retrieval-Augmented Generation via Sparse Context Selection”과 해당 논문의 기반이 되는 “Parallel Context Windows for Large Language Models “이다. 우선 PCW(Parallel Context Window)는 기존의 LLM에서 In-context Learning을 위해 매우 긴 길이의 컨텍스트 데이터를 사용할 때 발생하는 문제들을 해결하기 위한 방법이다. Transformer 기반의 모델은 Self-Attention 더 읽기
RocketQAv2: A Joint Training Method for Dense Passage Retrieval and Passage Re-ranking
오늘 간단하게 살펴볼 논문은 RocketQAv2 논문이다. 2021년에 발표되었던 논문이지만, Retrieval 및 Re-rank 관련 논문들을 조사하면서 다시 살펴보게 되었다. 우선 Bi-Encoder 기반의 Retrieval 방식보다 Cross-Encoder 기반의 Retrieval 방식이 당연하게도 더 좋은 성능을 얻을 수 있다. 이에 다른 이전 연구에서는 Cross-Encoder와 Bi-Encoder를 각각 따로 학습을 시키고, Cross-Encoder의 지식을 Distillation 하는 더 읽기
Bird Benchmark의 Text-to-SQL 논문 정리 – 3(완) (Distillery, CHASE-SQL)
오늘은 Bird Benchmark에 올라온 Text-to-SQL 논문들을 살펴보는 마지막 글이다. 오늘 살펴볼 두 논문은 다음과 같다. The Death of Schema Linking? Text-to-SQL in the Age of Well-Reasoned Language Models CHASE-SQL: Multi-Path Reasoning and Preference Optimized Candidate Selection in Text-to-SQL Distillery 우선 첫 번째 논문부터 살펴보겠다. 첫 번째 논문의 더 읽기
Bird Benchmark의 Text-to-SQL 논문 정리 – 2 (E-SQL, CHESS)
오늘은 이전 글, Bird Benchmark의 Text-to-SQL 논문 정리 – 1에 이어서 다음 논문들을 정리해볼 예정이다. 오늘 살펴볼 논문은 다음 두 가지이다. E-SQL: Direct Schema Linking via Question Enrichment in Text-to-SQL CHESS: Contextual Harnessing for Efficient SQL Synthesis E-SQL Text-to-SQL 작업을 엔터티 및 문맥 검색, 스키마 선택, 쿼리 더 읽기
논문 정리: RAGCache: Efficient Knowledge Caching for Retrieval-Augmented Generation
오늘 살펴볼 논문은 RAG Cahe라는 논문이다. KV Cache는 토큰을 하나씩 생성하면서 이전 생성 단계에서 연산했던 Key와 Value를 Cache에 저장하여 중복 연산을 방지함으로써 실행 시간을 크게 개선할 수 있었다. RAG Cache는 이러한 Cache 기법을 RAG(Retrieval Augmented Generation) 시스템의 관점에서 적용한 방법이다. 그림 1. RAG의 실행 과정 RAG에서는 Retrieval 과정을 더 읽기
논문 정리: RetrievalAttention: Accelerating Long-Context LLM Inference via Vector Retrieval
오늘 살펴볼 논문은 “RetrievalAttention: Accelerating Long-Context LLM Inference via Vector Retrieval”이다. 해당 논문은 매우 긴 컨텍스트에서 LLM을 실행할 때 필요한 Latency를 최소화하기 위한 Attention 방법이다. KV Cache를 통해서 어텐션을 계산할 때, 새로운 토큰이 생성되면 생성된 토큰의 Query와 나머지 토큰들의 Key간에 어텐션을 구하기 위해서 벡터를 내적하게 된다. 그림 1. KV 더 읽기