Kurt Shuster†, Jing Xu†, Mojtaba Komeili†, Da Ju†, Eric Michael Smith, Stephen Roller,Megan Ung, Moya Chen, Kushal Arora+, Joshua Lane, Morteza Behrooz, William Ngan,Spencer Poff, Naman Goyal, Arthur Szlam, Y-Lan Boureau, Melanie Kambadur, Jason Weston
Meta AI + Mila / McGill University
2022년 8월에 아카이빙 된, Meta의 BlenderBot 3 논문이다. 이전 BlenderBot 2.0에 이은 Blenderbot3은 오픈 도메인 대화가 가능한 175B 파라미터를 갖고 있는 대화형 모델이다.
이 모델의 특징은 long-term 메모리를 갖고 인터넷에 접근하여 검색하는데 장점을 갖고 있다는 것이며, 맥길대학교와 메타는 이 논문의 코드와 학습 파라미터를 공개하였다 (facebook/blenderbot-3B · Hugging Face).
연구의 목적은 사람과 계속 상호작용하면서 지속적으로 학습 (continual learning)하는데 있으며, 이를 통해서 기계 (agents)가 이를 배우면서 성능을 향상시켜나가는 데 있다.
아래는 블렌더봇의 실행 flow이다. 본 논문에서 주장하는 Internet, Memory store를 중심으로 질의에 대해서 어떻게 답변할 지 생성하는 과정을 담았다. 온전히 아래 플로우와 동일한 예제는 아니지만 간략하게 아래 플로우에 대해 예제를 들어보면, 이렇다.
만약 한국에 사는 A모씨가 내가좋아하는 가수는 누군줄 알아? 라고 질의를 하였다고 상상해보자. 이 때, 적합한 대답은 1) ‘가수’를 잘 검색해서 정보를 가져오는 것. 2) ‘한국’의 가수라거나, 평소에 팝송을 좋아한다는 정보가 있었다면 ‘팝가수’와 같은 정보가 더 적합한 답변으로써 도움이 될 것이다. 이 때, 2가지 decision 과정을 통해 1)번과 2)번 단계를 선택하게 되며 각 단계는 또 세부 모듈로 이루어져 역할을 수행한다.
Internet search decision
Internet search
Generate knowldege response
Extract relevant entity
Generate a long-term memory
Long-term memory access decision
Access long-term memory
Generate dialogue response
위 설명을 입력-액션으로 정리하면 아래와 같다.
BlenderBot 3 의 코어는 transformer 아키텍처로 구성되어 있다. 이는 대화형 응답을 위해 시퀀스 태스크들을 적절히 처리하기 위함이다. 논문에 따르면, 블랜더봇3.0 (a.k.a BB3)은 세가지 사이즈로 제공된다. 논문에 따르면 encoder-decoder 구조를 따랐고, 먼저 사전학습을 진행했다고 한다. 여기서 R2C2라는 용어를 쓰는데, 살펴보니 약자다. Reddit, RoBERTa +CC100en 의 줄임말로 RoBERTa에 Reddit 그리고 CC100en 데이터를 추가로 하여 사전학습하였다. (이 형식은 이미 Shuster et al., 2022 가 개발한 것을 따랐음을 이야기한다.)
이 모델을 어떻게 학습시켰는지 다음 포스트에서 자세히 다루려 한다.