[AI 모델 탐험기] #16 GPT-3를 뛰어넘는 챗봇이 등장했다? BlenderBot 2.0
[편집자주] 본 글은 커먼컴퓨터에서 Developer Relations Engineer를 맡고 있는 성창엽님이 오픈소스 AI모델을 정리하고 인사이트를 공유하는 글로 시리즈로 기획돼 발행되고 있습니다. 열여섯 번째 글은 Facebook AI에서 공개한 챗봇 BlenderBot 2.0입니다.
최근 BlenderBot 1.0을 공개한 Facebook AI에서 BlenderBot 1.0의 업그레이드 버전인 BlenderBot 2.0을 공개하였습니다. BlenderBot 2.0은 1.0에 비해 어떤 점이 향상되었고 특징이 무엇인지에 대해 알아보고, 직접 사용해보겠습니다.
BlenderBot 2.0을 바로 확인해 보시고 싶으신 분들은 다음 링크를 확인해주세요.
Demo : https://link.ainize.ai/3j2HpDi
Github : https://link.ainize.ai/381Zuem
2020년 4월 Facebook AI는 최대 규모의 오픈 도메인 챗봇인 BlenderBot 1.0을 오픈 소스로 공개하였습니다. 2020년 6월에 공개된 GPT-3(Generative Pre-trained Transformer 3)에 가려져 GPT-3에 비해 많은 관심을 받지는 못했지만 BlenderBot 1.0의 능력은 뛰어났습니다.
BlenderBot 1.0은 대화형 AI에 대한 수년간의 연구 결과가 집약되었으며 공감, 지식, 성격을 포함한 다양한 대화 기술을 하나의 시스템에 결합한 최초의 챗봇이라고 합니다. 이름이 BlenderBot인 이유도 여러 데이터 셋을 섞어 학습에 사용했기 때문입니다. (BlenderBot 1.0에 대한 자세한 정보는 여기를 눌러주세요.)
BlenderBot 2.0: builds long-term memory and searches the internet
앞으로 BlenderBot 2.0을 2.0, BlenderBot 1.0을 1.0으로 표기하겠습니다.
1.0과 비교하여 2.0에 추가된 기능을 말해보라고 하면 저는 2가지의 특징을 말할 수 있을 거 같습니다.
- 장기 기억 메모리
- 인터넷에 정보 검색
장기 기억 메모리
1.0이 공개되었을 때, 평가자들은 1.0이 Google의 Meena를 포함한 다른 어떤 챗봇보다 훨씬 더 매력적인 이야기를 생성하여 실제 사람과 대화하는 거 같다고 평가를 하였습니다. 하지만 이렇게 완벽해 보이는 1.0에도 문제가 있었습니다. 바로 기억력(Memory) 문제입니다. 금붕어 기억력(Goldfish memory)이라고 불리는 이 문제는 챗봇과 사람이 이야기를 나누면 나눌수록 이전에 나누었던 대화를 기억하지 못하는 문제를 말합니다.
우리는 사람과 대화를 할 때, 서로에 대해 가지고 있는 사전 지식은 중요하게 사용됩니다. 이러한 이유로 2.0에서는 앞서 나온 문제를 해결하고자 장기 기억 메모리를 구현하였습니다. 다만 어떠한 전처리를 진행하지 않고 정보를 넣을 경우 중요한 정보를 놓칠 가능성이 있기 때문에 Encoder와 Mem decoder 모델을 두어 정보를 축약하여 저장하는 방식을 사용하였습니다.
장기 기억 메모리를 도입함으로써 이전 대화에서 이야기한 주제에 대해 불러올 수 있고 이렇게 공유된 기억을 대화에 활용함에 따라 기계와 대화하는 느낌이 아닌 사람과 대화하는 거 같은 느낌을 주게 됩니다. 실제로 2.0은 1.0에 비해 참여 평가가 17% 향상되었고, 이전 대화를 사용하는 정도가 55% 향상되었다고 합니다. 여기서 참여 평가란 이전 대화 세션이 끝난 곳에서 계속 대화하는 능력을 말합니다.
인터넷을 통한 정보 검색
1.0과 같은 모델들은 학습한 시점의 데이터의 정보만 담고 있어 새로운 정보가 업데이트 되지않는다는 단점이 있습니다. 예를 들어 1.0에게 최근에 방영한 드라마 완다비전(Wandavision)에 관해 물어보아도 답을 하지 못할 것입니다. 왜냐하면 1.0이 학습되었을 당시 완다비전이라는 드라마에 대한 정보가 존재하지 않았기 때문이죠.
하지만 2.0은 다릅니다. 2.0은 학습된 데이터에 국한된 것이 아닌 관련 정보를 인터넷 검색을 통해 접근할 수 있습니다. 이전에 본 적이 없는 내용을 언급하게 되면 해당 내용에 대해 인터넷 쿼리를 생성하여 검색 결과를 얻어 대화를 이어 나갈 수 있습니다.
이렇게 함으로써 얻을 수 있는 장점은 2.0이 활용할 수 있는 데이터가 구식이 되지 않는다는 점입니다. 현재 AI의 트렌트는 용량이 큰 모델을 학습하여 모델의 가중치에 자신들이 학습한 것들을 저장하는 방식이라고 생각합니다. 하지만 계속 변화하고 추가되는 정보를 저장하는 것을 거의 불가능에 가깝습니다. 2.0은 모든 정보를 가중치에 저장하는 것이 아닌 즉시 인터넷에 접근하여 검색하는 과정을 거치기 때문에 새로운 정보에 대해 업데이트 할 수 있습니다.
실제로 1.0과 2.0의 지식 사용 능력을 비교했을 때 환각 비율이 9.1%에서 3.0%로 줄어들었고, 대화에서 사실을 말하는 비율이 12% 증가했다고 합니다. 여기서 환각이란 정확하지 않은 지식을 의심 없이 이야기하는 것이라고 보시면 될 거 같습니다.
BlenderBot 2.0 구조
2.0이 작동하는 과정에 대해 간략하게 살펴보겠습니다. 우선 사용자와의 대화는 Encoder와 Mem decoder를 거쳐 Long-term memory에 저장이 됩니다. Query generator를 통해 만들어진 쿼리를 인터넷과 Long-term memory에 보내어 관련 정보를 찾고, 이 두 정보를 합쳐 Decoder로 보내어 최종 응답을 출력하는 과정입니다.
사용법
(인터넷 정보 검색을 위한 서버는 JulesGM의 ParlAI_SearchEngine를 사용하였으며 검색 플랫폼은 구글입니다.)
- Demo 사용하기
Ainize가 제공하는 Demo를 이용하여 BlenderBot 2.0을 사용해보겠습니다.
대화를 입력한 후, Submit 버튼을 누르게 되면 BlenderBot 2.0과 대화를 할 수 있습니다(인터넷 정보 검색이 필요한 경우 시간이 걸릴 수도 있습니다). 해당 Demo는 link에서 사용해 볼 수 있습니다.
Facebook AI는 “이러한 BlenderBot 2.0의 발전이 AI 가상의 조수나 디지털 친구로 나아가기 위한 발판이 될 수 있다”라고 말했습니다. 과거에는 챗봇이 개인화가 되지 않아 상용화되기 힘들었지만 2.0에서는 Long-term memory를 추가하여 챗봇에 인간이 가지고 있는 기억력을 부여하여 개인화가 가능해졌습니다. 점점 시간이 갈수록 정말 Facebook AI가 말한 거 처럼 챗봇이 AI 가상의 조수나 디지털 친구가 될 수 있을 거 같다는 생각이 듭니다.
Reference
AI 네트워크는 블록체인 기반 플랫폼으로 인공지능 개발 환경의 혁신을 목표로 하고 있습니다. 수백만 개의 오픈 소스 프로젝트가 라이브로 구현되는 글로벌 백엔드 인프라를 표방합니다.
최신 소식이 궁금하시다면 아래 커뮤니케이션 채널을 참고해주시기 바랍니다. 다시 한 번 감사합니다.
AI네트워크 공식 홈페이지: https://ainetwork.ai/
공식 텔레그램: telegram.com/ainetwork_kr
아이나이즈(Ainize): https://ainize.ai
유튜브: https://www.youtube.com/channel/UCnyBeZ5iEdlKrAcfNbZ-wog
페이스북: https://www.facebook.com/ainetworkofficial/
포럼: https://forum.ainetwork.ai/
AIN Price chart: https://coinmarketcap.com/currencies/ai-network/onchain-analysis/