썸네일 출처
Character.AI의 대화 답변 이미지 생성 기능을 이용하여 생성. “What do you think of war?” 라는 질문을 통해 생성된 이미지 첨부
[가상생명연구팀 전동준]
일론 머스크나 걸그룹 트와이스와 채팅으로 무슨 대화를 나눌 수 있을까요? 내가 좋아하는 게임 속의 가상의 캐릭터에게 궁금한 것을 물어보고, 아인슈타인과 물리학에 관한 토론을 할 수 있을까요? Character.AI 에서 9월에 공개한 서비스를 통해 캐릭터 AI 챗봇을 만들 수 있습니다. 링크
자신만의 캐릭터를 만들어 대화하고, 다른 사람이 만든 캐릭터 챗봇과도 대화할 수 있습니다. 텍스트 기반의 게임 형식으로 구성하기도 하고, 스토리를 생성해주는 방식으로도 제공하는 재미있는 챗봇들이 많았습니다. 고무적인 것은 이 챗봇들을 개개인이 만들 수 있어서 더욱 다양하고 창의적인 챗봇들이 나오는 것입니다.
Language Model
Character.AI에 따르면 해당 서비스는 많은 양의 텍스트 데이터를 이용하여 Hallucination을 발생하지 않게 다음 단어가 올바르게 생성되도록 학습된 언어 모델(Language Model)을 기반으로 한다고 합니다. 텍스트를 생성하거나 번역하는 태스크등에서 언어모델이 많이 사용되고 있는데, 이를 적용하여 챗봇같은 시스템에서도 신경망 기반의 언어모델을 적용하기 시작했습니다.
최근 OpenAI에서 공개한 AI 챗봇인 ChatGPT가 대표적입니다. 구글 검색으로 찾을 법한 지식에 대한 답변은 물론이고, 창의적인 아이디어 작성, 개발자들이 사용하는 코드등도 대화를 통해 생성해줍니다. 스캐터랩도 최근에 딥러닝 기반의 AI 챗봇 이루다 버전 2를 공개하여, 일반 사용자로부터 반응이 좋습니다. 기존의 챗봇이라고 하면 주문 예약이나, 상품 문의같은 정해진 시나리오 범위에서 대응해주는 챗봇이 많이 사용되었습니다. 하지만 ChatGPT나 이루다는 딥러닝 기반의 언어모델을 기반으로 작동하여 오픈 도메인에서도 챗봇이 적용될 수 있다는 것을 증명하였습니다.
Charater.AI 서비스도 언어모델을 기반으로 작동됩니다. 사용자가 챗봇에 관한 정의와 대화 샘플등을 적어주면 그 기반으로 학습된 언어모델이 챗봇으로 서비스 되는 형태로 보입니다. 언어모델을 이용하여 텍스트를 생성할 때, 생성되는 텍스트를 제어해주는 지시어등을 “프롬프트”라고 보통 말하는데 이 프롬프트 엔지니어링을 통해서 각각의 캐릭터성을 가지고 말투나 대화의 형태등이 제어되는 챗봇이 됩니다.
Usage
다른 사람들이 만든 수많은 캐릭터들이 있는데요. 그 중 Tim Cook과 대화를 해보겠습니다. 캐릭터를 선택하면 메신저 UI가 뜨고 캐릭터와 대화를 할 수 있습니다.
캐릭터 세팅을 어떻게 하느냐에 따라 성능의 차이가 크지만, 기본적인 캐릭터성을 가지면서 대화를 잘 진행되었습니다.
새로운 캐릭터도 만들어 보겠습니다. 캐릭터 생성탭을 누르면 아래와 같은 창이 나오고 기본적인 정보들을 적어주면 캐릭터봇이 생성됩니다. 군인처럼 딱딱한 말투와 규칙을 중요시 하는 페르소나를 가진 군인봇으로 세팅하고 대화를 해보겠습니다. 한국어를 지원한다는 공식적인 말은 없지만, 한국어도 어느정도 작동한다는 정보가 있어서 한국어로 세팅을 하고 진행해보겠습니다.
간단한 Description 세팅으로도 “군인” 이라는 페르소나가 세팅되어 있는 챗봇이 생성되었습니다. 이는 기본 베이스가 되는 언어모델이 이미 다양한 페르소나 데이터를 학습했기 때문으로 보입니다. 챗봇의 성능을 높이기 위해서 대화 샘플을 주어 튜닝할 수 있습니다.
기존 대화 이력을 불러올 수 있는데, 이 부분에서 답변을 수정하여, 챗봇을 수정하는 기능도 인상적입니다.
Limitation?
GPT-3 이후로 큰 언어모델을 이용하여 기존에 불가능하게 보였던 많은 자연어 태스크들이 연구되고 있고 또 좋은 성능을 내고 있습니다. 여러 사람들이 시나리오 작업을 진행하여 그에 맞게 답변을 세팅하면서 하나의 캐릭터 챗봇이 만들어졌는데, 이제는 누구나 쉽게 캐릭터 챗봇을 만들 수 있는 서비스도 나왔습니다. 대중성을 가지고 AI가 사용되는 것은 일반 사람들도 성능을 체감할 정도로 AI가 발전되었다는 것을 말하는 것이지만, 대중적으로 많은 사람들이 사용하면서 제기되는 문제점들도 많습니다.
reddit의 커뮤니티 채널에서는 Character.AI의 채팅 예시들을 공유하면서 사용법들이 많이 공유되고 있는데, 부적절한 말을 생성하게끔 제어하여 어뷰징하는 사례들도 보입니다. AI 생성모델의 근본적인 한계점으로 보이는데, 많은 데이터를 학습해야 성능이 좋지만, 그만큼 부적절한 데이터의 필터링이 어렵기 때문에 생성 결과의 안전성을 보장하기가 어려워 집니다. 아직은 여러 한계점들이 있지만, 사람들이 AI 기술들을 계속 접하면서 수정되고 더 발전이 있을 것이라고 생각합니다.
Reference