[논문리뷰] Building a Role Specified Open-Domain Dialogue System Leveraging Large-Scale Language Models (NAACL 2022)
요약: 최근 오픈 도메인 대화 모델의 발전에도 불구하고, 특정 역할을 유지하며 자연스럽게 대화할 수 있는 시스템 구축은 어려운 과제로, 본 연구에서는 이를 해결하기 위한 효율적인 데이터 수집 프레임워크를 제안하고, 다양한 아키텍처를 비교하여 역할 사양을 충족시키는 대화 모델을 개발하였다.
1 Introduction
- 최근 대규모 언어 모델(LM)은 오픈 도메인 대화 시스템에서 많은 혁신을 가져옴.
- 이러한 시스템은 인간과 유사한 응답을 생성하고, 퍼소나, 스타일 및 안전성을 조절하는 기술들이 발전함.
- 그러나 이러한 기능을 결합한 챗봇 시스템 구축은 여전히 어려움.
- 대부분의 작업 지향 대화 시스템은 특정 역할(예: 예약 보조, 정보 제공 등)을 수행함.
- 특정 역할을 수행하는 오픈 도메인 대화 시스템에 대한 연구는 부족함.
- 이 연구에서는 역할 지정 오픈 도메인 대화(Role Specified Open-Domain Dialogue; RSODD) 시스템 방법을 연구함.
- RSODD 시스템의 목표는 주어진 역할 조건을 유지하면서 자연스럽게 대화하는 것임.
- 인물, 스타일, 안전 및 시스템 정책의 특정 조건을 충족해야 함.
- 데이터 세트를 구축하기 위한 인간-AI 협업 방식 제안.
- 대규모 LM을 활용하여 전체 대화 세션을 생성한 후 인간의 상호작용 교정을 포함.
- 이 방법은 수작업으로 금 대화(Gold Dialogue)를 제작하는 것보다 데이터 세트 구축 비용을 크게 줄일 수 있음.
- 다양한 아키텍처를 비교하여 역할 지정 챗봇의 능력을 분석함.
- 제안된 모델은 주어진 역할 규격을 위반하는 바람직하지 않은 발화를 상당히 줄임.
- 한국어 RSODD 데이터 세트를 공개하여 연구의 유효성을 입증하고 한국어 대화 데이터 세트의 공헌을 기대함.
- 이 연구의 주요 기여:
- 역할 구현을 만족시키면서 자연스러운 대화를 가능하게 하는 RSODD 시스템에 한 걸음 더 나아감.
- 대화 데이터 구축을 위한 확장 가능한 방법으로 대규모 LM의 인 컨텍스트 학습 활용 제안.
- RSODD 시스템을 위한 다양한 아키텍처 비교 및 시스템 정책 만족 분석.
- 데이터 구축 방법의 효과성을 입증하며 최초의 한국어 RSODD 데이터 세트 출시.
2 Related Work
- Open-domain 대화에서의 사전 학습된 언어 모델 (LM)
- Reddit와 같은 대규모 소셜 댓글 체인 데이터를 이용하여 대화 행동 모델링 시도 (Zhang et al., 2020; Adiwardana et al., 2020).
- 다양한 목표 대화 데이터셋에서 참여도와 인간성을 개선하기 위해 미세 조정 (Roller et al., 2021).
- 유해한 행동과 편향을 피하기 위해, 자동 필터링을 통해 일부 훈련 데이터 제외.
- 합성 대화 생성을 위한 접근법
- 대화 수집 비용을 줄이기 위해 합성 대화를 생성하는 여러 접근법 존재 (Schatzmann et al., 2007; Shah et al., 2018; Campagna et al., 2020).
- 특정 시나리오를 시뮬레이션하기 위해 작업 스키마, 규칙 및 템플릿 정의.
- Kim et al. (2021b)는 사전 학습된 LMs를 이용한 신경 시뮬레이션 접근법을 제안.
- Xu et al. (2021)의 Bot-Adversarial Dialogue 방법은 공격적 행동을 줄이는 방향으로 기존 모델 개선.
- Sun et al. (2021)는 사전 학습된 LMs를 활용하여 열린 대화 확장.
- 대화에서의 역할
- TOD에서 시스템은 특정 도메인의 명시적 지식 기반을 활용 (Williams et al., 2013; Henderson et al., 2014a,b; Eric et al., 2017; Xu et al., 2017; Budzianowski et al., 2018).
- 대화 에이전트에게 명시적 페르소나 부여로 더 일관된 반응 촉진 (Zhang et al., 2018).
- Sun et al. (2021)의 가이드라인은 가상 비서의 역할에 적합하고 부적합한 행동 제안.
- 최근 연구 (Shuster et al., 2021)는 대화 모델의 조건화 연구.
- 동반자 대화 시스템 구축
- 동반 가능한 대화 시스템은 열린 대화 모델의 발전과 함께 연구됨.
- Webb et al. (2010)는 동반자를 지속적이고 협력적인 대화 파트너로 정의하고, 평가 전략 제안.
- Kopp et al. (2018)는 고령자 사용자용 대화 보조기구 소개.
- 그러나 이러한 동반자 대화 시스템의 역할 일관성에 대한 연구는 부족.
3 Data Construction
- 감독 데이터를 수집하여 RSODD 시스템을 구축하는 프레임워크 설명
- 입력: 챗봇 개발자가 정의한 역할 사양
- 대화 상호작용의 조건 정의
- 기존의 적합한 데이터셋이 없다고 가정
- 대화 범위가 넓고 다양하기 때문에 수작업으로 충분한 대화 예제를 작성하는 것은 비현실적임
- 해결책: 소수의 인간 작성 대화 샘플을 사용한 대규모 언어 모델(LLM)의 인라인 몇 샷 학습으로 데이터셋 구성
3.1 One-shot Dialogue Generation
- 대규모 LLM이 특정 성격의 대화를 생성할 수 있음
- 방법: 역할 사양을 만족하는 몇 가지 대화 예제를 작성하고, 이를 시스템 설명 끝에 첨부
- 예시로 제공된 텍스트를 기반으로 LLM이 전체 대화 세션을 생성
- 생성된 대화만 포함, 입력 프롬프트는 제외
3.2 Human Filtering
- 생성된 데이터의 모든 세부 사항을 프롬프트에 포함하는 것은 어려움
- 인적 주석을 통해 생성된 데이터를 필터링
- 각 대화 세션에 대해 첫 번째 범위를 벗어난 발언 지점을 라벨링
- 문제의 발언 전의 턴은 긍정적 예제로, 문제 발언은 부정적 예제로 사용
- 주석 작업 시간이 약 88초로, 인간 작성 시간(약 1170초)보다 13.3배 빠름
- 필터링 후 남은 발언 비율은 약 30.4%
3.3 Collecting Human-Bot Dialogues
- 인간 필터링이 포함되지만, 실제 발언은 모두 기계 생성
- 시스템이 실제 사용자와 대화하는 배포 단계에서의 불일치 완화
- 인간-리프를 단계 도입하여 인간-봇 대화 패턴 수집
- 주석자가 사용자로 시스템과 턴별 대화 진행
- 부적절한 발언 수정
- LLM의 도움을 통해 발언 수정
- ‘Fix’ 버튼을 눌러 대체 발언 생성 요청
- 적절한 경우 대화를 계속 진행, 여전히 부적절한 경우 ‘Fix’ 버튼 반복
- 수정된 대화는 긍정적 예제로, 버튼을 눌렀을 때의 발언은 부정적 예제로 사용
- 이 과정은 데이터셋을 풍부하게 하며, 시스템 평가 지표로도 활용 가능
- ‘Fix’ 버튼 클릭은 시스템의 오류율 측정에 사용됨
4 Models
- 4.1 표기법
- 오픈 도메인 대화에서 응답 예측 작업은 대화 역사 x로부터 주어진 발화 y를 예측하는 것.
- x는 시스템 발화와 사용자 발화로 구성됨.
- 4.2 경계 외 탐지
- 시스템 발화를 역할 사양에 따라 제약하는 가장 직관적인 방법은 경계 외 발화를 탐지 및 폐기하는 것.
- BERT 기반 이진 분류기를 사용해 긍정/부정 예제를 분류하며, 2단계 모델을 가정.
- 응답 예측 모델이 반환한 응답은 분류기에 의해 검열됨.
- 경계 외 발화가 탐지되면, 사전 정의된 질문 중 하나를 반환.
- 4.3 응답 선택
- 응답 후보를 미리 필터링하여 시스템의 발화를 제약하는 또 다른 접근법.
- 2단계 응답 선택 모델을 적용: 유사한 응답을 빠르게 찾기 위한 리트리버와 세심하게 재정렬하는 리랭커.
- 필터링된 응답 후보의 경우, 비응답 가능한 컨텍스트 예측이 중요하며, 모델의 불확실성을 활용하는 방법이 효과적.
- 큰 규모의 언어 모델의 PPL(perplexity)을 사용해 최종 결정을 내림.
- 4.4 응답 생성
- 목표 데이터에 대해 언어 모델을 미세 조정하는 것이 효과적임.
- 최대 우도 추정(MLE)을 사용하여 긍정 예제에서 바람직한 발화를 장려하고, 비당의 예제에서 바람직하지 않은 발화를 억제하는 비우도(UL) 학습을 적용.
- 두 가지 종류의 학습을 동시에 수행하여 최종 손실 함수는 MLE 손실과 UL 손실의 혼합으로 구성됨.
-
4.5 리트리브-실패-생성
- 응답 선택 모델과 생성 모델을 포함하는 파이프라인 접근법.
- 먼저 응답 선택 모델이 적절한 응답을 선택하고, 비응답 가능한 상황으로 판단되면 응답 생성 모델로 대체.
- 응답 선택 모델은 대다수의 응답을 처리하며, 생성 모델은 선택 실패 시에만 사용됨.
5 Experiments
- 실험 설정 및 결과 요약
- in-context few-shot 학습 평가 (5.2절)
- 모델 변형 비교 (5.3절)
- 시스템 응답 품질 평가 (5.4절)
- 5.1 데이터셋
- 한국어 챗봇 시스템을 위한 대화 데이터셋 구축
- 250개의 대화 예제와 89개의 주제 사용
- HyperCLOVA(39B)를 생성 모델로 활용하여 1-shot 생성
-
5.2 생성된 대화 평가
- 생성된 대화의 질 평가
- HyperCLOVA의 네 가지 서로 다른 크기를 사용하여 100개 대화 세션 생성
- 크라우드 워커에게 여러 조건 만족도 평가를 요청
- 모델 크기가 클수록 조건 충족률 증가, 텍스트 다양성(Distinct-1/2 증가)
-
5.3 모델 비교
-
Out-of-Bounds Detection: 분류기 정확도 및 F1 스코어 평가
- in-context 학습 사용 시 오류율 저하 확인, 그러나 최상의 응답 선택 및 생성 모델보다 상대적으로 높은 오류율
-
응답 선택: 응답 선택 모델을 긍정적 예제에 대해 미세 조정 및 평가, 훈련된 데이터에 따라 성능 개선
- 응답 생성: IC, MLE, UL 세 가지 훈련 방법 비교, unlikelihood training이 오류율을 추가로 감소시킴
-
Retrieve-fail-Generate: 응답 선택 및 생성 모델의 조합 사용 시 최대 성과 및 낮은 오류율 기록
- 피드백 파이프라인: 모델 평가 과정에서 수집된 대화로 추가 훈련하여 오류율 감소
-
- 5.4 응답 품질
- sensibleness 및 specificity 평균(SSA) 메트릭을 활용하여 시스템 응답 품질 평가
- 시스템의 sensibleness가 인간과 경쟁력 있으며 비일반적인 응답을 창출함을 확인
- 크라우드 워커의 일관성도 평가하여 신뢰성을 높임
이와 같은 실험을 통해, 제안된 챗봇 시스템이 품질 높은 대화 생성을 할 수 있다는 점이 입증됨.
6 Discussion
- 우리의 방법은 인간 상호작용 평가에서 낮은 오류율을 달성했지만 몇 가지 한계가 있음.
- 결과는 전형적인 대화의 오류율로 간주되어야 하며, 공격적이지 않은 상황을 반영함.
- 채팅에 참여하는 평가자는 전형적인 사용자처럼 행동하기 때문에 모델로부터 독성 단어를 유도할 수 있는 대화를 많이 시도하지 않음.
- 이로 인해 결과적으로 독성 수치가 거의 0에 가까운 것으로 나타났음 (표 4 참조).
- 제안된 데이터 수집 프레임워크의 인간 필터링 과정은 더 효율적으로 개선될 여지가 있음.
- 분류기의 정확도가 전체 데이터의 10%로도 비슷하기 때문에 (표 5 참조), 인간 필터링 전에 모델 필터링 과정을 추가하여 필터링 비용을 줄일 수 있을 것으로 예상됨.
7 Conclusion
- 역할 지정 오픈 도메인 대화 시스템을 구축하기 위한 프레임워크를 제시함.
- 대규모 언어 모델을 활용하여 대화 시스템 학습을 위한 감독 데이터셋 생성을 제안, 최소한의 노력으로 대화 구성 가능.
- 여러 모델 아키텍처를 분석하여 효과성 평가.
- 실험을 통해 수집된 데이터와 모델링 접근 방식이 역할 제약 충족 및 대화 능력 개선에 효과적임을 입증.
- 제안된 프레임워크는 다양한 역할 및 캐릭터를 가진 대화 시스템 구현에 확장 가능, 제한된 데이터셋에서도 적용 가능.
8 Ethical Considerations
- 데이터셋 주석 작업자는 시간제로 고용되어 근무 시간에 따라 보수를 받음
- 1시간에 9,000원, 한국 최저임금보다 높은 수준
- 계약 시 데이터 사용에 대한 적절한 지침 제공 및 동의 확보
- 데이터셋은 CC-BY-NC-SA 라이센스 하에 공개 예정
- 데이터셋은 근로자와 대규모 언어 모델이 생성한 것이며, 사용자 데이터는 포함되지 않음
- 사전 훈련된 언어 모델은 개인 정보, 사회적 편향, 독성 콘텐츠를 나타낼 수 있음
- 해로운 텍스트의 범주 및 기준을 설정하고 주석자에게 필터링 지시
- 불완전할 수 있으며, 여러 작업자가 동일 데이터를 주석하도록 함
- 데이터셋 사용자 그룹은 취약 집단으로, 민감한 문제에 대한 윤리적 검토 실시
- 대화 내용 중 민감한 주제는 제외
- 끝에서 끝으로 훈련된 챗봇 모델 사용 시 위험 존재
- 실제 관계에서 벗어나 사용자에게 정서적 고착을 유발할 수 있음
- 챗봇이 실제 인물처럼 행동하여 피싱 및 사기에 악용될 수 있음
- 사용자로부터 민감한 정보가 제공될 경우 보안 문제 발생 가능성
- 따라서 실제 응용 프로그램 사용 시 안전하고 윤리적으로 사용될 필요
- 제안한 프레임워크는 다른 데이터셋 및 챗봇 시스템 생성 가능
- 언어 편향 및 독성 전파 가능성 존재
- 안전하지 않은 텍스트 감소를 위한 피드백 파이프라인 및 훈련 진행 중
독자 의견
- 본 데이터셋은 https://github.com/naver-ai/carecall-corpus 에 공개되어 있으므로, 나중에 프로젝트를 진행할 때 참고할 수 있겠다.
Comments