728x90

TL;DR

  • Chain of X 시리즈 중 Document를 보고 Multi-step Reasoning을 시도하였다.
  • CoD 방식은 정보 정확성이 낮은 문서와 모르는 질문에 대해서도 Robust하게 답변한다.
  • 리트리빙 이후 질문에 대한 passage 정제가 매우 필요해 보인다.

Intro

요즘 Retrieval-augmented language models (RALMs)들은 다음과 같은 문제가 있다.

  1. 관련 없는 데이터에 대한 검색을 할 경우 고유한 지식을 간과하여 질문과 관계없는 답변을 배출한다.
  2. 정보에 대한 평가가 이루어지지 않기 때문에 정확한 답변을 제공하기 위해 내재적 지식과 검색된 지식 모두에서 적절한 지식을 보유하고 있는지 평가하는 데 어려움을 겪는 경우가 많습니다.

따라서 우리는 정보를 제공할 수 없을 시, "제공할 수 없음"으로 배출하는 과정을 겪어야한다.

이러한 과정을 겪을 수 있도록 우리는 Chain-of-Noting(CoN)을 제안. 따라서 Noise와 관련성 없는 문서 확인 그리고 unknown 시나리오에 대해 Facing할 수 있도록 방법을 제안.

  1. Noise Robustness: The ability of a RALM to discern and disregard noisy information present in irrelevant retrieved documents, while appropriately leveraging its intrinsic knowledge.
  2. Unknown Robustness: The capacity of a RALM to acknowledge its limitations by responding with “unknown” when given a query it does not have the corresponding knowledge to answer, and the relevant information is not found within the retrieved documents.

따라서 평가를 3가지 방향으로 잡고 진행하는데, 데이터는 ODQA(TriviaQA), WebQ, RealTimeQA를 사용

  1. overall QA performance using DPR-retrieved documents
  2. noise robustness, assessed by introducing noisy information to the system
  3. unknown robustness, evaluated through queries not covered in the LLaMa-2 pre-training data, i.e., real-time questions.

Method

  1. Note Design
      1. Retrieved document(RD)에 정답에 대한 다이렉트 정보가 있는 경우
      2. RD에 정답에 대한 정보가 애매하게 있는 경우
      3. RD에 정답에 대한 정보가 아예 없거나 관련이 없는 경우3가지 format에 대한 데이터 생성

  • Data generate
    • ChatGPT를 활용하여 생성
    • NQ 에서 1만개 랜덤샘플링하여 지정 프롬프트를 사용하여 note 생성
  • Training
    • LLaMa-2 7B을 사용
    • 일반적인 Loss를 사용할 시 input size가 너무 길어 수렴이 안됌 => Weighted Loss on Notes and Answers전략을 사용
      • 시간을 기준으로 (?) 실제 정답 y에 대한 NTP수행 50%, 나머지 50%는 모든 document가 들어간 input에 대한 y의 NTP 수행

실험

Unknown성능을 제외하고 NQ, TriviaQA, WebQ 세가지 Benchmark dataset을 활용하여 측정, Unknown은 RealTimeQA를 사용한다.

그리곤 전체 QA에 대해서 한번, noise와 unknown에 대해서 한번 실험을 통해 결과를 보여준다.
noise와 unknown 측정 시, 관련 없는 문서를 추출하기 위해 노이즈의 비율을 r이라고 notation하자면
$k \cdot r$ 이 관련없는 문서의 비율이다. 이 갯수를 채울때 까지 iter돌려서 list로 받는다.

  1. QA 성능
    • NQ, TriviaQA, WebQ 3가지 task의 EM, F1스코어로 측정
  2. Noise 성능
    • 리트리빙 된 문서를 하나 제거한 후, 관련없는 top k 1개 문서와 완전 랜덤 wiki 문서 하나를 추가한 성능을 비교한다.
    • 노이즈가 많으면 할루시네이션이 엄청나다는 것을 알 수 있지만, CoN으로 학습된 모델은 비교적 덜 영향을 받는 것으로 보여진다.
    • ![[Pasted image 20231121142801.png]]

  1. Unknown 성능

728x90

Main Idea

Large Language Model(LLM)의 퍼포먼스가 높아지면서 Small Language Model(SLM)가 할 수 없는 Task들이 점차 생겨나고 있다. 특히 Multi-step reasoning(복잡 논리 추론) in math problem by Chain-of-Thought(CoT) prompting에 대해서 SLM은 전혀 학습을 하지 못한다.
 
Model Specializing을 통해 본 논문에선 다음과 같은 가설을 증명한다.

H0 : LLM은 엄청난 모델 파워가 있지만 수행능력이 너무 퍼졌다. 그에 반에 SLM은 제한적인 모델 파워(Capacity)가 있지만, 이 모델 파워를 Task수행능력에 집중시킬 수 있다.

(Capacity란 전반적인 Task들을 수행할 수 있는 능력을 말하며, 이를 줄이고 특정 Task에만 집중하면 그 Task만은 좋은 성능을 보일 수 있다는 가설이다. 즉, Capacity와 Target task performace의 trade-off가 생길 것)

Method

Instruction 기학습된 FlanT5모델을 GPT3.5(Large Teacher Model)에서 배출하는 CoT prompt를 distilling하여 파인튜닝을 하도록 방법론을 설계한다. 또한, GSM8K를 활용하여 CoT를 파인튜닝 했기 때문에 다른 데이터에서의 퍼포먼스 체크를 위해 3가지 다른 Math reasoning data로 증명(OOD: out-of-distribution).
 

 
다만, 실험설계의 약간의 미스를 조정하기 위한 4가지 단계가 있다.

  1. Different Tokenizers. Dynamic Programming을 통해 해결(하지만, 필자는 이부분을 이해하지 못하여 5번째 읽는 중입니다...! / 의견 주세요!!! 제발!!!!)
  2. checkpoint마다 distill퍼포먼스가 다르다 (언제나 FlanT5가 더 좋았으며, T5도 specialize이후 성능이 더 좋긴 했다.)
  3. 내부 데이터의 성능과 외부 데이터의 성능의 영향이 일정하지가 않다. 따라서 tuning data에 대해서 모델 선택을 하지 않는다 (이 부분 해석이 잘 안되었습니다 ㅜㅜ)
  4. Trade-off가 양방향으로 일어난다. distill하여 trade-off가 일어난 후 성능 체크를 위해 BigBench Hard 데이터에 대해 튜닝을 하니, CoT Prompting파워를 잃어버렸다.(굉장히 신기했던 부분 어쩌면 trade-off가 아닌 adaptation이 빠른게 아닐까 싶은 생각이 있다.)

 

다른 신기한 실험 결과는 in-context example에서는 in-context learning와 zero-shot 성능 둘다 향상했지만, zero-shot example에서는 zero-shot이 in-context learning성능을 흡수하는 trade-off현상이 일어났다.

Insight

1. 모델의 capacity를 target task 퍼포먼스로 적응시킬 수 있다.
2. 그 과정에서 어떤 걸 얻고 소모되는 지 정확한 실험 설명을 통해 확인할 수 있다.
3. 단순히 오버피팅이 되지 않았음을 OOD를 통해 증명했다.
 

Experiment Setup

- Train Data: GSM8K
- Test Data: MultiArith, ASDiv, SVAMP, BigBench Hard
- BaseModel: Flan-T5
- Teacher Model(generate distillation / specialize data): GPT3.5(code-davinchi-002)


실험 결과 해석해보기!

1.전체적으로 Trade off된 성능 확인하기
 
 

  
우측의 BigBench-Hard가 원래의 Model Capacity를 측정하는 지표라고 생각하면 된다. 따라서 모델의 전체적인 성능이 정말 떨어지며 Math Problems에 대해서 성능이 확실히 향상된 것을 확인할 수 있다..!!!(놀랍다...!!)
SVAMP에 대해서는 FlanT5-XXL모델이 Specialize가 됬음에도 불구하고 성능이 하락했다. FlanT5중에 가장 파라미터가 높은데 이런 성능을 보이는 것은 어쩌면 이런 distillation은 student모델이 작을수록 새로운 데이터에 대한 학습 수용량이 크다는 걸 뜻하는 것인지 실험을 해볼 필요는 있어보인다.
  
2.정말 Specialize가 유의미한 결과를 낳았을까?

 
  좌측부터 SLM이 in-context learning을 아예 못한다는 것을 증명하며, 오른쪽으로 갈수록 SLM이 COT에 대해 올바르게 학습이 가능하다는 것을 보여준다.
  

Reference

  • Fu, Y., Peng, H., Ou, L., Sabharwal, A., & Khot, T. (2023). Specializing Smaller Language Models towards Multi-Step Reasoning. arXiv preprint arXiv:2301.12726.

+ Recent posts