챗봇이 기억을 갖다… Facebook의 Blender Bot 2.0

daewoo kim
7 min readJul 22, 2021

--

FAIR(Facebook AI Research)는 Long-term Memory를 갖고 실시간 인터넷 검색를 이용하는 새로운 AI 챗봇 “BlenderBot 2.0”과 데이터셋을 21년 7월 16일에 공개했다.

기존 Chatbot (GPT-3 & BlenderBot 1.0)의 문제점

GPT-3와 BlenderBot 1.0은 진행 중인 대화에 대해 명확하게 표현이 가능하고 실제와 같은 대화를 생성할 수 있다. 하지만 GPT-3와 BlenderBot 1.0은 금붕어와 같은 짧은 기억력과 이전에 배운 정적인 지식에 의존한다.

예를들어 GPT-3와 BenderBot1.0에 NFL 슈퍼스타 Tom Brady에 대해 물어보면 그가 여전히 New England Patriots에서 뛰고 있다고 알고 있고, Tempa Bay Buccaneers으로 이적하여 2021 슈퍼볼에서 우승한 사실을 모른다.

Who is Tom Brady?: Tom Brady는 NFL의 최고의 쿼터벡으로 New England Patriots(2000~2019)을 거쳐 Tampa Bay Buccaneers(2020~present)에 소속 중이다. 2021년 55회 슈퍼볼에서 우승하며 통산 7번째 우승을 달성하였다.

또한 GPT-3와 BenderBot 1.0은 어제 대화했지만 오늘 대화할 때 어제 대화한 내용을 잊어버리고 알고리즘의 결함으로 “hallucinated knowledge(환각 지식)”, 즉 정확하지 않은 지식을 의심없이 이야기한다.

BlenderBot 2.0의 특징

BlenderBot 2.0은 인터넷 검색 쿼리를 생성할 수 있고 시간이 지나감에 따라 지식을 추가하면서 이전 아이디어를 참조할 수 있는 능력을 가진 최초의 챗봇이다.

Long-term Memory

BlenderBot 2.0은 Long-term Memory 모듈을 구현한 덕분에 사용자와 며칠, 몇 주, 몇 달 동안 지속된 여러 대화들의 토픽들을 기억할 수 있다. 예를들어 사용자와 몇 주 전에 Tom Brady에 대해서 이야기했다면 미래 대화에서 NFL에 대해 언급할 수 있다.

Personalization

대화 히스토리는 개인별로 분리되어 저장되며 한 사용자와 대화로부터 배운 새로운 정보를 다른 사용자의 대화에 사용되지 않도록 분리된다.

Internet Search

대화 중에 BlenderBot 2.0은 상황에 맞는 인터넷 검색 쿼리를 생성한 후, 그 검색 결과를 사용자의 질문에 대한 응답에 통합한다. 이렇게 하여 최신 정보를 유지할 수 있다.

BlenderBot 2.0은 새로운 지식을 검색하기 위해 Bing 검색 엔진을 통해 인터넷에 쿼리할 수 있으며 Long-term local memory에 읽고 쓸 수 있다. 이를 통해 응답을 조정할 수 있어 학습된 데이터 뿐만이 아니라 최신 스포츠 경기 결과, 속보 등을 반영하여 응답의 일관성을 유지하며 이야기할 수 있다.

BlenderBot 2.0은 인터넷 정보를 적극적으로 활용하여, 영화 감독(Movie director) vs 프로듀서, 투수 코치(Pitching coarch)와 타격 코치(Hitting corch) 등과 같이 애매한 개념에 대해서 혼동하지 않는다.

BlenderBot2.0의 모델 아키텍처

현 머신러닝의 추세는 상당한 컴퓨팅 자원이 필요한 Large 모델을 학습하는데 집중하고 있다. 이러한 모델들은 모델 weight에 자신들이 학습한 것을 저장하려고 시도하지만 항상 변화하고 성장하는 전체 인터넷의 정보를 저장하는 것은 불가능하다. Facebook의 BlenderBot 2.0은 인터넷의 정보를 모두 저장하는 것이 아니라 즉석해서 인터넷에 접근하는 방법을 사용한다.

아래 그림은 BlenderBot2.0의 모델 아키텍처이다. 다음은 BlenderBot 2.0이 동작하는 방식이다.

  • 사용자와 대화 히스토리는 BlenderBot 2.0의 Encoder와 Memory Decoder를 거쳐 Long-term memory에 저장된다.
  • 사용자와 대화 중에 BlenerBot 2.0은 Query generator를 통해 검색 쿼리를 생성한 후 인터넷 검색 및 Long-term 메모리로부터 관련 정보를 찾는다.
  • 인터넷 검색 결과와 Long-term 메모리로부터 찾은 결과는 Encoder로 입력되고 Encoder의 출력들은 하나로 합친(Concatenate) 후에 Decoder로 입력된다. Decoder는 최종 응답을 출력한다.

테스트 결과

BlenderBot 1.0은 이미 Meena와 DialoGPT와 같은 다른 챗봇을 압도하는 성능을 보여줬다. 새로운 Blenderbot 2.0은 BlenderBot 1.0을 능가하고 있다.

  1. 참여 평가(이전 커뮤니케이션 세션이 끝난 곳에서 계속 커뮤니케이션하는 능력) : 17% 향상
  2. 이전 커뮤니케이션 세션의 맥락을 고려한 평가: 55% 향상
  3. 환각을 9.1% → 3.0%로 줄임

BlenderBot 2.0의 단점은 아직까지 영어기반 검색 결과에 의존하고 있어 비영어기반 결과를 완전하게 참조하지 못한다는 점이다. Multi-Modal은 현재 개발 중이다.

시사점

기존 Chatbot는 기억하지 않아 개인화가 어려웠던 문제가 있었다. BlenderBot 2.0은 Long-term 메모리를 추가하여 Chatbot에 인간이 가지고 있는 기억을 부여하여 개인적인 대화가 가능하여 인간과 닮은 대화가 가능해졌다.

Long-term 메모리는 개인화를 위해 중요한 모듈으로 Chatbot의 대화 히스토리가 축적하려면 모델 weight 외에 사용자의 히스토리를 저장할 수 있는 추가적인 메모리 공간이 필요할 것으로 생각된다.

학습된 지식 외에 인터넷 검색을 통해 좀더 정확한 응답을 선택할 수 있게 되었었다. 이것은 모든 지식을 학습에 의존하지 않고 필요할 때마다 인터넷 검색을 통해 보충할 수있어 새로운 지식을 보충하기 위해 Large 모델을 주기적으로 학습해야 하는 어려움이 크게 감소할 수 있을 것으로 예상된다.

레퍼런스

[1] Blender Bot 2.0: An open source chatbot that builds long-term memory and searches the internet

[2] Tom Brady 기사

--

--

daewoo kim

AI developer & Author | Working@semiconductor-industry. I write and share about what I learn.