- 최근에 상식 추론에 관해서 연구를 진행하고 있으며, 그 과정에서 CoT와 Distillation method에 대해 조사하는 중
- paper: https://arxiv.org/pdf/2310.09343
- github: https://github.com/kyle8581/DialogueCoT
- 챗봇은 사람처럼 자연스럽게 대화하기 위해서 일반 상식 추론 사용 필요
- 일반 상식에 대한 추론 능력으로 대화에 산재되어 있는 암묵적인 정보를 이해하고 응답하는 데 사용 가능
- 그러나 LLM에서도 single hop에서 나타나는 key evidence를 통합하고 구별하는 태스크는 챌린지
- 따라서 대화에서 multi-hop reasoning(CoT)을 가능하게 하는데 집중
- 제안 방법은 Knowledge Distillation Framework: DOCTOR
- LLM을 unreliable teacher로 사용, alignment filters를 통해 일관되고 유용한 근거를 선택적으로 추출
1. Introduction
- 자연스럽고 대화의 맥락에 맞는 응답을 생성하기 위해서는 일반 상식 추론이 필수적
- Figure 1에서 볼 수 있듯이, 지갑을 잃어버린 상황에서 마지막 발화 만을 이용(single-hop)하여 추론을 할 경우 "경찰서에 가기 전에"라는 발화를 통해 "경찰에 전화를 하라"는 잘못된 응답을 생성할 수도 있음
- 따라서 오른쪽 Multi-hop Reasoning처럼 진행된 대화에서 단계적인 추론이 필요
- 최근 연구에서는 대화 맥락과 관련된 상식적 지식을 생성하여 이 문제를 해결하는 것을 목표로 함
- 이는 상식 추론 데이터셋으로 모델을 학습하는 것만으로 부족 → multi-hop 추론을 포함하여야 함
- 대화에 산재 되어 있는 핵심 맥락(위 대화에서 여자가 가방을 잃어버려서 찾아야 한다, 도움을 요청해야 한다, 다녀온 레스토랑을 다시 가봐야 한다 등)을 찾고 집계하는 과정은 여러 단계에 걸쳐서 이루어져야 하므로 일관되고 유익한 응답 생성을 위해 멀티홉 추론 필요
- 목표는 언어 모델이 상식적 추론을 여러 단계로 분해하고 응답 생성에 필요한 추론된 상식적 지식의 시퀀스로 근거(*rationale)를 생성하도록 함
*rationale: 특정 행동의 이유 - LLM을 이용한 대화에서 상식 추론을 촉구하는데 한계점
- 명시적인 단어에 크게 의존하는 경향
- 근거와 대화 간의 정렬(alignment)가 좋지 않아서 일관성이 없고 도움이 안 되는 근거 생성
- contributions
- 신뢰할 수 없는 LLM에서 그럴 듯한 근거를 추출하고 반복적인 질문-답변과 정렬 필터링을 통해 CoT 근거 수집 framework 제안
- framework를 사용하여 고품질 CoT 근거로 주석이 달린 대화 데이터셋 DONUT 구축
- DONUT을 사용하여 대화의 암묵적 정보를 응답 생성을 위한 근거로 통합하는 DOCTOR 학습
2. DIalogue Chain-of-Thought Reasoning
- 최근 연구 목표: 대화 에이전트를 상식 지식으로 증강하여 대화에서 암묵적 추론 수행
- 대화에서 상식적 추론이 여러 차례에 걸쳐 분산된 세부적인 암묵적인 사항 포착 필요 > 여러 번의 홉(hop) 필요
- Multiple Reasoning Tasks에서 Rationale-Augmented LLM의 성공에 영감
- 이는 추론을 여러 단계로 분해하고, 추론된 상식을 응답 생성을 지원하는 근거로 사용
- 보통 CoT를 하기 위해서 LLM에 prompting 적용하나 다음과 같은 문제 존재
- 대화에서 명시적 단어(어휘 중복)에 더 주위를 기울임
- 근거와 대화가 불일치
- 따라서 고품질의 근거를 생성하는 신뢰 가능한 Reasoner 구축 목표
3. DIalogue Chain-of-Thought Distillation
- 신뢰할 수 없는 LLM에서 그럴 듯한 CoT 근거를 추출하고,
- Alignment Filter를 통해 고품질의 근거를 선택적으로 추출
- 신뢰할 수 있는 CoT Reasnor를 학습
1. QA-driven Rationalization
- LLM의 rationalize 능력을 활용하여 CoT의 근거로 기존 대규모 대화 코퍼스를 증강하도록 설계
- LLM이 대화 맥락($U_{<t}$)에 대한 그럴 듯한 근거 $Z^*$을 생성하도록 함
- $k$개의 질문-답변 $\{(q_i, a_i)\}^k_{i=1}$ 쌍 생성
- $q_i$는 주어진 대화에서 암묵적인 정보인 $a_i$에 대한 질문
- LLM으로 이러한 QA를 반복적으로 생성하도록 지시
- 이를 위해 실제로 대화 도메인에서 일반적으로 사용되는 ATOMIC의 상식적 관계 집합 선택
- LLM이 대화와 관련된 질문을 구성하는 모델을 guide 하기 위해 관계 유형에 따라 질문 $q_i$을 구성하도록 함
- 근거 수집에 사용된 예시 프롬프트와 상식적 관계 목록
- 소스코드를 확인해보면 다음과 같이 5가지 예시와 사람이 작성한 QA 쌍이 포함되어 있음
Generate rationales for generating the target utterance("Target:"). The rational consists of 3-hop subquestion-subanswer pairs.
Each question should contain commonsense relation in [oEffect, oReact, oWant, xAttr, xIntent, xNeed, xReact, xWant, isAfter, isBefore, Causes].
These rationales should be the crucial cue for generating the target utterance but you should not include the target utterance and also pretend you don't know the target utterance.
Subquestion 3 and Subanswer 3 should be about guessing the target utterance. So the Subanswer 3 should be closely related to the target utterance but don't mention it directly.
If you think generating target utterance doesn't need commonsense, then just generate None for the rationale.
[Example 1]
A: The mosquitos are biting me !
B: Me , too , I can ’ t stop scratching . They are everywhere ! Sneaky little jerks .
A: Do you have any bug spray ?
B: No , I forgot to buy some .
A: Then we ’ ll have to put up with it .
B: We can cover ourselves with beer ! That way if they bite us , they ’ ll get drunk and fall asleep .
A: That ’ s without a doubt , the best idea you ’ Ve had ! Let ’ s do it !
Target:
B: Run! They are thirsty for more!
Rationale:
Subquestion 1: What is the intent of Person B when suggesting the use of beer to ward off mosquitos? (xIntent)
Subanswer 1: Person B's intention is to make the mosquitos 'drunk' and cause them to fall asleep, reducing the amount of bites.
Subquestion 2: What is Person A's reaction to Person B's unique idea to use beer? (xReact)
Subanswer 2: Person A finds the idea amusing and agreeable, and shows enthusiasm in trying it out.
Subquestion 3: What might be the effect on the mosquitos after Person A and B use beer to ward them off? (oEffect)
Subanswer 3: Unexpectedly, the mosquitos might be attracted to the beer, causing them to swarm more intensively, creating the need for Person B to warn Person A about the increased mosquito activity.
2. Alignment Filtering
- 생성한 근거 중 고품질의 근거를 선택하기 위해 대화의 맥락과 ground-truth 간의 일치 여부를 기준으로 근거를 걸러냄
- Rationale-to-context alignment
- 대화 맥락과 일치하지 않은 반사실적 근거를 생성하여 이용
- $\tilde{Z}=argmax_Z P_{LLM}(Z|u_t,\tilde{U}_{<t})$
- LLM에 마지막 발화만 포함하는 반사실적(counterfactual) 맥락에서 **반사실적 근거**를 생성
- critic model은 주어진 대화 맥락에서 $\tilde{Z}$, $Z^*$를 구별하도록 학습
- 이를 위해 $(U_{<t}, Z^*)$, $(U_{<t}, \tilde{Z})$와 같이 training instances 생성
- Rationale-to-response alignment
- 근거를 이용하여 실제 응답을 예측하는 데 도움이 되면 근거가 응답에 도움이 된다고 여김
- 따라서 대화 맥락이 주어졌을 때, 실제 응답을 예측할 때 근거로부터 이점을 얻는지 여부 판별
- $\text{helpful}(Z) = \mathcal{1}[\frac{P_\theta(u_t|Z, U_{<t})}{P_\theta(u_t|U_{<t})}> \tau]$
- 직관적으로 근거가 응답을 예측하는 게 더 유용함을 나타냄
3. Training DOCTOR
- 대화 history $U_{<t}$를 기준으로 근거 $Z^*$를 생성할 확률을 예측하기 위해 causal language modeling 목표로 모델 학습
- 하위 질문을 생성하고 답변하는 법을 학습하므로 모델이 대화에서 해당 상식적 지식을 추론하는 데 필요한 모든 암묵적 정보 식별 가정
- DOCTOR는 OPT-1.3B을 기반으로 구축되었으며, 5개의 epoch 동안 5e-4의 학습률로 주석이 달린 데이터 80%로 학습