Machine & Deep Learning

[yongggg's] Towards a Robust Retrieval-Based Summarization System

Yonggg 2024. 7. 9. 14:43

 

RAG기반 요약 작업을 위한 LLM의 견고성에 대한 조사를 한다. LLM은 요약 기능을 제공하지만 복잡한 실제 시나리오에서의 성능은 아직 탐구되지 않았다.

본 연구의 첫번째 기여는 RAG 기반 요약 task를 수행하는 LLM의 강건성을 평가하기 위해, 현실적인 시나리오를 통합한 혁신적인 평가 프레임워크인 LogicSumm을 제안한다. 그 다음, LogicSumm에서 식별된 한계를 기반으로 training dialogues를 생성하고 LogicSumm의 시나리오 내에서 강건성을 향상시키기 위해 모델을 fine-tuning하는 포괄적인 시스템인 SummRAG를 제안한다.

 

1. Introduction

이전 선행연구들의 복잡한 정보를 간결한 요약으로 증류하는데 놀라운 효율성을 보여준다. 하지만, LLM은 중요한 병목 현상에 직면해 있다.: training dataset이 정적이기 때문에, 훈련 후 새로운 정보를 통합하는 것은 challenge 하다.

이러한 한계를 인식하고 RAG(Retrieve Augmented Generation)이 도입됐다. LLM은 이를 통해 생성 작업 중에 실시간으로 최신 정보를 동적으로 통합할 수 있다. RAG는 LLM에서 정적 지식 기반 문제를 해결해주며, 보다 정확한 최신 요약을 위한 길을 열어준다.

LLM과 RAG 통합은 보다 포괄적이고 현재의 요약을 위한 유망한 방법을 제공하지만, 특히 RAG 및 LLM을 사용한 요약에 초점을 둔 연구는 충분하지 않았다. 따라서 (1) 평가 파이프라인의 부재 (2) 요약을 위한 RAG 연계 LLM 적용의 효과적인 방법 연구의 부족 이라는 문제가 발생한다.

RAG와 함께 LLM을 사용하는 summarization 연구의 이러한 문제를 해결하기 위해 평가 파이프라인 LogicSumm을 제안한다. 이 파이프라인 RAG로 증강된 LLM의 요약 기능을 체계적으로 이해하고 benchmarking하기 위해 설계되었다. 본 연구의 접근 방식은 요약 중에 가장 일반적으로 발생하는 시나리오를 해결하고 7가지 사례로 나누고 평가를 위한 포괄적 프레임워크를 제공하는 것이 포함된다.

7가지 경우에서 요약 주제와 무관한 문서가 포함된 입력으로 왔을 때, 이전 RAG 기반 요약 접근 방식에서 상당한 성능 저하가 관찰되었다. 이 결과는 안정적인 요약을 위해 관련 문서를 효과적으로 식별하는 데 어려움이 있다는 중요한 뜻을 내포한다. 본 연구진은 외부 dataset에 최소한으로 의존하면서 모델을 fine-tuning하고 모든 시나리오에서 견고함을 향상시키기 위해 context에서 data를 구성하는 새로운 지원 시스템 SummRAG를 개발한다. 이 프레임워크는 summarization task에서 공용 언어 모델을 향상시켜 GPT-4와 같은 고성능 모델이지만, 접근성이 떨어지는 모델과의 성능 격차를 효과적으로 좁힌다. 또한 motivating objectives 중 하나인 일회성으로 해결하는 것이 아닌, 관련 classes를 해결하기 위해 구조화되고 일반화 가능한 frameworks를 개발하는 것을 보여준다.

Contribution 요약

  1. 다양한 일반 사용 사례에서 LLM의 요약 기능을 철저히 평가하는 평가 파이프라인인 LogicSumm을 제안한다.
  2. RAG 기반 요약의 견고성과 전반적인 성능을 향상시키기 위해 대화 생성과 모델 fine-tuning 모드를 포함하는 포괄적 End-to-end framework인 SummRAG를 제안한다.
  3. 모델에 구애받지 않고 RAG 기반 요약 작업과 관련된 시나리오에서 public LLM의 성능을 향상시킬 수 있는 SumRAG의 새로운 dataset을 게시한다.

2. LogicSumm

LogicSumm은 일반적인 7가지 요약 시나리오를 4가지 상위 측면으로 구분하며 테스트를 위한 구조적 기반을 구축한다. 본 연구의 프레임워크는 Figure 1과 같으며, 요약 작업을 평가하기 위한 전체 파이프라인을 제시한다. 

Problem Formulation

주어진 사용자 query $q$에 대해 Retriever $R$은 의미론적 유사성 검색 메커니즘을 통해 벡터 $D$의 데이터베이스에서 $k ( k \ge 1) $ 개의 최상위 문서 { $D_{1}, ..., D_{k} $ }을 가져온다. LLM 생성기 $G$는 서로 다른 소스 정보를 기반으로 요약을 생성한다. 우리는 공식적으로 네 가지 측면을 정의하는데, 여기서 측면(Aspect)은 $R$이 응답해야 하는 높은 수준의 query type이고 scenario는 unique한 senario 속성을 가진 특정 type의 sub aspect이다.

$$ \begin{aligned} Aspect 1&: Summarization = G(R_{top1}(q)), \\ Aspect 2&: Summarization = G(q), \\ Aspect 3&: Summarization = G(q \oplus R_{top1}(q)), \\ Aspect 4&: Summarization = G(R_{topk}(q)), \end{aligned}$$

여기서 $R(q)= \{ D_{1}, ..., D_{k} \}$이고 $\oplus$가 string concatenation operator이다. 요약 quality는 리트리버 $R$의 정보의 출처인 문서 벡터 저장소 $D$ 품질에 의해 크게 영향을 받는다.

Aspects Scenarios. 구성된 각 scenarios에서 LLM은 논리적, 정밀적 action 뿐 아니라 고품질의 요약 능력을 발휘할 것이다.

  • Aspect 1: Scenarios 1, 2. LLM은 질의 $q$에 대한 $D_{1}$의 관련성을 식별해야 한다.
  • Aspect 2: Scenarios 3. LLM은 사용자가 제공한 텍스트를 직접 요약해야 한다.
  • Aspect 3: Scenarios 4. LLM은 사용자의 텍스트에 대한 $D_{1}$과 관련성 부족을 나타내고 사용자의 텍스트만을 기반으로 요약할 것을 제안한다.
  • Aspect 3: Scenarios 5. LLM은 사용자의 텍스트와 $D_{1}$ 사이의 관련성과 충돌의 부재를 모두 인식한 다음 두 가지 source를 요약해야 한다.
  • Aspect 3: Scenarios 6. LLM은 사용자의 텍스트와 $D_{1}$ 사이의 정보 충돌과 관련된 관련성을 식별해야 한다.
  • Aspect 4: Scenarios 7. LLM들은 사용자 질의 $q$에 대한 $R(q)$의 관련성을 인식하고, 임의의 관련성 없는 문서들을 요약으로부터 배제할 것으로 기대한다.

Motivating Observations. LogicSum의 도입으로 RAG를 활용하여 요약 작업을 수행하는 LLM의 실제 숙련도를 평가할 수 있게 되었다. 이 평가를 위해 Mistral-7b Instruct model을 배포한다.

 

본 연구의 evalutation은 LogicSumm framework 내에서 tasks를 완료하라는 instruction이 제공되는 zero-shot 방식으로 수행된 GPT: GPT3.5, Claude2, Jurassic and LLaMa2-13B를 기반으로 하는 autoregressive LLMs을 사용하여 baseline을 설정한다. 또한 zero-shot 및 one-shot "Chain of Tought" context에서 Mistral-7B Instruct 모델에 대한 advanced prompting techniques을 적용했다. 각 Aspect 내에서 포함된 모든 Scenarios에 대해 동일한 prompt가 사용된다. (prompt detail : Appendix A.3)

 

본 연구의 평가 기준에는 LogicSumm의 논리 정확도 뿐 아니라, BertScore 및 Rouge 1/2/L을 포함한다. 또한 이 모델의 출력이 논리적 정확성을 유지하는지 평가하기 위해, GPT-4 Turbo를 사용한다. 다른 Scenarios의 text 검색은 사용자의 text와 무관하다고 간주되어 요약 품질 평가가 필요하지 않기 때문에 요약 품질은 Scenarios 2와 3에서만 평가 되었다는 점에서 유의해야한다. 또한 Scenario 3은 사용자 text를 직접 요약한 것이기 때문에 논리적 정확성을 평가할 필요가 없다. 훈련 데이터를 생성할 때 사용하는 방법과 동일한 테스트 데이터를 생성하는 절차를 따른다. Gold Summaries는 GPT-4-turbo가 생성한 것이고 본 연구는 7가지 Scenarios에 대해 각각 57, 48, 50, 36, 50, 43, 98개의 samples를 생성했다.

 

$ k>1 $인 multiple top-ranked documents의 성능을 조사하기 위해, $k=5, 8, 10$에 대한 요약 품질을 평가하고 5개의 관련 문서로 상황을 시뮬레이션했다. $k=8$ 및 $k=10$인 경우 3개 및 5개의 관련 문서를 도입하여 최상위 문서 내의 관련 없는 내용을 처리하는 모델의 복원력을 테스트했다. 우리는 Mistral-7B Instruct를 사용해서 Stuff Summarization, Map-Reduce Summarization, 그리고 Refine Summarization을 포함한 다른 일반 RAG 기반 요약 framework와 비교하여 우리의 방법을 벤치마킹 한다. 또, 본 연구는 관련 문서를 무시하기 위한 explict instructions을 제공한다. (prompts details: Appendix A.4)

 

본 연구에서 관찰한 바에 따르면, 먼저 검색 텍스트의 관련성을 평가한 다음, 요약을 진행할지 여부를 결정하는 instruction을 따르면서 사용자의 text 간의 관련성을 인식하려고 시도할 때 LogicSumm은 한계를 보인다. (test prompt: Appendix A.1). SummRAG 성능이 기존 SoTA 접근 방식과 비교되기 때문에 SummRAG를 도입할 때까지 이 논의를 연기한다.

 

3. SummRAG

LogicSumm의 초가 연구 결과는 범용 LLM이 RAG 기반 요약에 충분히 강건하지 않을 수 있음을 시사한다. 이를 통해 GPT-4 Turbo로 대화 및 모델을 생성하고 미세 조정하여 LogicSumm으로 테스트한 각 상황에 대해, 보다 신뢰할 수 있는 LLM을 생성하는 완전한 시스템인 SummRAG를 제안했다. 이 시스템은 생상된 대화에 포함된 특별한 토큰을 생성하여 적절한 형식을 갖추도록 하는 것으로 시작한다. 그 다음, 상위 $k$개의 docuemnts와 관련된 상황을 생각하기 전에, top-1 documents case(Aspect 1, 2, 3)에 초점을 맞추고 $k > 1 (Aspect 4.)를 사용하여 모델을 fine-tuning 한다.

 

이 절에서는 CNN DailyMail, XSUm dataset을 포함한 벡터 모음을 $D$(문서)로 사용한다. $R$은 framework에서 사용되는 Retriever이고, $t$는 사용자의 text이다. 또, $D_{s} = \{ D_{1}, ..., D_{k} \} $는 의미적 유사성을 기반으로 검색된 ranked documents이며, $D_{r}$은 $D$에서 선택한 임의의 문서이다.

Logical Special Tokens

우리는 대화 생성 중, GPT-4에 의미가 도입되는 logical special tokens을 삽입하여 대화에서 명확성과 간결성을 제공하는 동시에 적절한 형식을 보장한다. Model fine-tuning의 후반 단계에서는 특수 토큰을 자동으로 관리하기 위해, LLM을 확장하는 데 필요한 광범위한instruction data를 피하기 위해 이러한 토큰을 자연어 text로 대체한다.

위의 표 1에 요약된 tokens 이외에도 생성된 대화(Qin et al. 2023)의 함수 호출 토큰 [API], [/API], [Argument]를 통합한다. 이를 통해 LLM은 요약의 감정을 분석하거나 온라인 뉴스 소스에 액세스하여 통찰력 있는 감정 시각화를 생성하는 작업을 수행할 수 있는 맞춤형 text mining APIs4와 연결할 수 있다.

Dialogue Generation: Top-1 Document

top-1 document scenario는 LogiSumm의 Aspects 1, 2, 3을 다룬다. special tokens의 의미를 소개하고 prompt에서 one-shot demonstration을 제공하여 대화를 생성하기 위해 GPT-4 Turbo를 적용한다.

표 1에 정의된 special tokens의 유용성은 위의 그림에 나와있다. 대화의 다양성을 향상시키기 위해 GPT-4 Turbo에 "I'd like to have a summary regarding xxx"와 같은 특정 문장에 대한 변형을 user instruction 요소에 포함하도록 instruct한다.

Aspect 1의 Scenario 1인 경우 relevancy를 위해 GPT-3.5 Turbo를 사용하여 추출한 임의의 문서 $D_{r}$과 그 주제인 topic $t$를 기반으로 한다. Scenario 2의 경우, irrelevancy를 생성하기 위해 임의로 선택된 관련 없는 topic을 포함한다.

Aspect 2의 Scenario 3의 경우 사용자의 text를 표현하기 위해 $D_{r}$을 사용한다.

Aspect 3의 Scenario 4의 경우 irrelevancy를 도입하기 위해 두 개의 임의의 문서 $D_{r, 1}, D_{r,2}$를 사용한다. Scenario 5에서 GPT-4-Turbo는 사실적 이야기로 출력할 수 있는 주제를 생성한 다음 도잉ㄹ한 하위 주제에 대해 두 개의 문서를 작성하여 relevancy를 확보하도록 prompt 된다. Scenario 6은 GPT-4-Turbo에게 숫자의 변경, 사실적 반전, 날짜 변경 등의 정보 conflicts를 도입하도록 instruct한다. 이 문서 pair는 정보 충돌을 보여주며, 검색된 text와 사용자의 입력을 각각 나타낸다.

speical tokens의 의미, one-shot demonstration, 그리고 각 위에 묘사된 Aspect의 document는 의도된 dialogue를 생성하기 위해 GPT-4-Turbo에 prompts로 제공된다.(prompts details: A.2)

Dialogue Generation: Top-k Documents

top-1 document에서 top-k documents(Aspects 4)로 전환하기 위해 context ctx의 개념을 소개한다. 이 개념은 multi document summarization의 intermediate stat를 저장하는 text segment를 나타낸다. ctx는 LLM이 documents를 요약하기 위해 Markov 같은 사고 과정을 채택할 수 있도록 하는데, 각 단계에서의 요약은 ctx와 그 특정 단계에서 검색된 문서에만 의존한다.(Figure 4, 5) 이것은 LLM이 input prompt에 있는 모든 문서들을 저장하는 것을 자유롭게 한다.

 

special tokens <Count> 0 documents left to summarize </Count>은 더 이상 요약할 문서가 없음을 나타내는 중지 기준 역할을 한다. 본 연구에서는 $D_{s} = \{ D_{1}, D_{2}, D_{3}, D_{4}, D_{5} \} $인 상위 5개 Scenario에 대한 대화를 생성 한다. 그러나 본 연구의 실험은 Mistral-7B-Instruct와 같은 일반적 instruction capabilitie를 갖춘 채팅 기반 모델을 활용해도 multidocument summarization이 5개의 문서로 제한되지 않는다는 것을 보여준다. 이는 <Count> token을 전략적으로 사용하여 요약된 문서 수에 유연성을 부여함으로써 달선된다. (step-by-step prompts: Appendix A.2)

Model Fine-Tuning

먼저 Mistral-7B-Instruct 모델 checkpoint를 fine-tuning하는 데 사용할 1) custom dialogue dataset을 수집한다. 그러나 모델에 에 Special token 정의를 이해하도록 training 하는 데 어려움이 있었다. 이를 해결하기 위해 변환 table을 사용하여 token을 텍스트로 변환한다.(Appendix A.5) 본 연구에서 모델의 학습 과정을 더욱 세밀하게 안내하기 위해, Aspect-specific 하게 시스템 Prefixes를 추가한다. 생성된 대화에서 기능 호출 토큰 [API], [/API], [Argument]는 "Here is the API: "와 The argument of the API: "라는 text로 변경된다. 다음으로 Mistral-7B-Instruct 모델을 fine-tuning하기 위해 훈련 데이터를 수집한다. Aspect 1, 2 및 3에 대해서는 chat template <s>[INST] ... [/INST] ... </s>를 적용한다. Aspect 4에서는 전체 대화를 기반으로 훈련하는 대신 인접한 steps의 pair에 집중한다. 여기서 이전 단계는 instruction 역할을 하고, 이후 단계는 response 역할을 한다. 검색된 text는 올바른 형식에 맞도록 masking된다. $D_{gen}$이 implicitly 정의된 데이터 분포라고 했을 때, custom dataset의 dialogue $ d \sim D_{gen}$이 주어지면, standard next token objective를 사용하여 $D_{gen}$에 대한 모델 $M_{\theta}$를 훈련한다.

$$ \max\limits_{\theta} E_{d \sim D_{gen}} log p_{ M_{\theta}} (y|x) $$

여기서 $x$는 $d$내의 instruction 및 retrieval text이고 $y$는 response이다. 본 연구는 LoRA를 사용하여 PEFT를 수행하고 adapter weights를 저장한다. 

Connection to Prior Work

SummRAG는 Self-RAG(Asai etal. 2023)을 수정하고 확장하여 RAG 맥락에서 요약의 구체적인 needs를 해결한다. 구체적으로는 다음과 같다.

  1. individual sentences에서 full retrieval text로의 중요한 thinking process의 첨단성을 이동시킨다.
  2. GPT-4-Turbo와 대화 생성 중에 special tokens을 활용한 후, 모델의 fine-tuning 과정에서 tokens을 자연어 expressions으로 대체한다.

본 연구는 Jin et al. 2024의 question-answering knowledge 충돌 탐색 대신, 요약에 집중하며, 포괄적인 평가 파이프라인을 사용한다. 또한, 평가 framework에서 제시된 도전과제를 해결하기 위해 선별된 데이터셋을 생성한다. 

4. Experiments

평가 기준에는 LogicSumm 맥락 내의 논리적 정확도 뿐만 아니라 BertScore와 Rouge 1, 2, L을 사용한 요약의 품질도 포함된다. 본 연구에서는 k > 1인 여러 상위 순위 문서로 모델의 성능을 검토하였으며, k = 5, 8, 10에 대해 요약 품질을 평가했다. k = 5에서는 다섯 개의 관련 문서를 생성했고, k = 8 및 k = 10에서는 각각 세 개와 다섯 개의 관련 없는 문서를 추가했다. Stuff Summarization, Map-Reduce Summarization, Refine Summarization 등의 RAG 기반 요약 프레임워크와 우리의 방법을 비교했다. 이 프레임워크들에서 Mistral-7B Instruct를 LLM 엔진으로 활용했다. 추가적으로, 관련 없는 문서를 무시하기 위한 명확한 instruction을 제공했다.

Results

LogicSumm 시나리오에서 얻은 결과는 두 가지 주요 발견을 이끌었다. 첫째, 선택된 프롬프트에 따라 Mistral-7B Chat의 논리적 정확도가 크게 다르다 (표 2). explicit logical instructions을 Mistral-7B-Chat에 사용하면 Scenario 1과 5에서는 정확도가 낮고, Scenario 2에서는 더 높은 정확도를 보인다. 그러나 explicit guidance와 one-shot Chain of Thought는 Scenario 2에서는 정확도가 낮아지고, Scenario 1과 5에서는 더 높은 정확도를 보이기도 한다. Scenario 6에서는 Chain of Thought prompting 전략이 정보 충돌을 식별하는 데 어려움을 겪는다. 이는 다양한 Scenario에서 일관된 강력한 성능을 유지하는 Prompting 전략을 개발하는 것이 시간이 많이 걸리고 도전적임을 나타낸다.

둘째, 본 연구에서 선별한 훈련 데이터셋에서 Mistral-7B-Chat을 Fine-Tuning한 결과, 모든 측면에서 논리적 정확도가 일관되게 높다.

이는 SummRAG의 효과가 있다는 것이다. SummRAG는 모델에 새로운 지식을 추가하지 않고 데이터를 생성한다. 이는 모델이 필요한 논리적 이해력을 보유하고 있지만 이를 적용하는 instruction-tuning이 필요함을 시사한다.

SummRAG는 요약의 품질을 유지하면서 견고함을 보여주며(표 3), 이는 GPT-3.5 Turbo와 비슷한 결과 및 Llama-13B-Chat과 Mistral-7B-Chat 보다 약간 더 우수함을 볼 수 있다. GPT-4-Turbo의 출력 요약이 gold standard 임을 고려할 때, SummRAG는 Mistral-7B-Chat을 GPT-4-Turbo의 요약 능력에 맞추기 위해, instruction-tuning 단계에서 유용하게 사용된다.

다중 문서 setting에서 (표 4)는 관련 없는 문서 수가 증가할수록 성능 Metric이 감소하는 경향을 보인다. 이는 단순히 관련 없는 문서를 무시하기 위해 prompt를 사용하는 것만으로는 견고한 접근 방식이 될 수 없음을 나타낸다. 반면, 문맥의 개념을 내재화하는 것은 관련 없는 문서의 존재에도 저항성을 보인다.(Scenario 7) 이는 각 추론 단계에서 모델이 ctx와 그 특정 단계에서 검색된 Text에만 의존하기에 추론 비용이 크게 증가하지 않는다.