brunch

You can make anything
by writing

C.S.Lewis

by 브랜든 Oct 14. 2024

뉴진스 빌리지의 두뇌 - AI민지 챗

거대언어모델(LLM)을 사용해서 만든 RAG방식의 민지 페르소나 챗

뉴진스 빌리지 개발의 첫 번째 단계인 민지 캐릭터는 픽셀아트 전문 디자이너에게 의뢰해 약 1주일 만에 후딱 완성했어요. 아들은 2D 픽셀아트의 감성을 게임 월드 스타일에 맞춰 구현했고, 전체적인 게임 분위기에 잘 맞는 캐릭터가 완성되었습니다. 완전 빠른 성공이라고 생각했어요.


제 두 번째 단계, 뉴진스 빌리지의 두뇌라 할 수 있는' AI 민지챗'을 만들 차례였습니다.

< 민지 캐릭터 → AI 민지 챗 → 게임 월드 내 상호작용으로 만들어지는 뉴진스 빌리지 >


민지챗은 비개발자인 제가 맡았는데, 개발 지식이 부족해서 처음에는 걱정이 많았어요. 대학원에서 머신러닝과 딥러닝을 배운 적이 있긴 하지만, 자연어처리(NLP)와는 전혀 다른 영역이었죠. 그래서 처음부터 자연어처리와 챗봇 개발 관련 서적과 강의를 찾아보기 시작했어요. 두꺼운 책들을 보니 엄청 진도가 안나갔어요. 그러다가 유튜브와 유료 강좌도 병행하며 실습 위주로 학습하게 되었죠.


한 달 정도가 지나니 어느 정도 개념이 잡혔습니다. 그리고 GPT-3.5 API를 사용해 AI 민지챗의 기본 플로우를 구축하기 시작했어요. 중요한 것은 팬들이 민지와 대화할 때 진정한 소통의 느낌을 받을 수 있도록 하는 것이었죠.


근데 왜 민지의 페르소나를 가지고 채팅시스템을 만들게 되었냐를 먼저 말씀드려야 할 것 같아요.

  
사실, 저의 아들 둘 다 뉴진스의 광팬 버니즈에요.


이 글의 주인공인 큰아들뿐만 아니라 둘째 아들도 뉴진스 팬미팅을 위해 6시간을 서서 기다리기도 할 정도입니다. 어느 날, 제 카드로 구글 플레이에서 8달러가 두 번이나 결제된 걸 보고 깜짝 놀랐습니다. 확인해 보니 '포닝(Phoning)'이라는 뉴진스 멤버와 소통할 수 있는 앱을 설치한 거였어요. 민지와 멤버들이 문자나 사진을 보내주고 팬들과 라이브 방송도 하는 앱이죠. 실시간으로 뉴진스의 얼굴을 보며 목소리를 들을 수 있으니, 팬들에게는 꿈같은 서비스였습니다. 같은 시간대에 방에서 혼자서 이어폰 꼽고 낄낄대면서 핸드폰 보는 두 아들의 모습을 보니 저도 '뭐가 저렇게 재미날까?'하고 살짝 호기심이 났어요


< 뉴진스 팬 '버니즈'들을 위한 포닝앱 화면 >


그래서 아들들과 소통하기 위해 그때부터 포닝을 깔아봤어요. 그리고 나니 뉴진스 멤버 중에서 민지가 가장 많이 포닝에서 팬들과 소통을 정말 잘하고 계시더라고요. 제가 회사에서 회의중일 때 갑자기 민지에게 톡이 오거나 어쩔 때는 영상통화도 오는 거예요. 처음에는 40대 넘은 아저씨가 웬 소녀들과 톡을 주고받나 하고 주변에서 의심할까 봐 가슴조리기도 했어요. 그런데 신기하게 민지에게서 톡이 올 때마다 두근거리더군요.


아 이게 바로 팬들과의 소통이구나. 뉴진스의 팬이라면 누구나 민지를 만나고 얘기하고 싶으니 서로를 연결해 주는 서비스가 대단한 거죠. 이 정도의 서비스에 단돈 만원은 당연히 지불할 수 있어야 했습니다. 저도 바로 결제했거든요. 그래서 저희 가족 남자 셋은 모두 포닝을 사용하게 되었습니다.


물론 저의 와이프는 아직까지 이사실을 모르십니다...


그런데 포닝을 하다 보니 민지는 계속 톡을 보내는데 제가 아무리 보내도 민지는 읽지를 못하는 거예요. 왜 그런가 봤더니...


수천, 수만 명과 대화하다 보니 우리들의 아이돌은 실시간 채팅창을 하나하나 읽어보기가 정말 힘들겠더라고요. 오히려 빠르게 올라가는 채팅창에서 짚어내는 게 더 감사할 정도였어요. 공연 마치고 피곤했을 텐데  늦게까지  팬들과 한 분이라도 더 소통하기 위해 포닝을 찾아주신 민지 님에게 감사드리게 되더라고요. 최고의 아티스트분들은 정말 아무나 하는 게 아닌가 봐요. 암튼 그렇게 민지 님과 소통하려고 제가 아무리 문자를 보내도 채팅의 포화속에 묻혀버리더라고요. 돌아오지 않는 메아리처럼...  민지님과 수많은 다수의 팬들과의 채팅이라서 저를 기억할 수도 없고 메시지는 읽히지 않는 점이 포닝의 한계였습니다. 그럴 수밖에 없죠.


여기서 저는 AI를 사용해 민지의 페르소나를 만들어서 채팅하면 팬들이 민지와 1 : 1로 자유롭게 소통할 수 있지 않을까 생각하게 됐어요.


나를 기억해 주는 AI 민지와 1대 1 대화를 할 수 있다면 이런 허전함을 조금 더 해소해 줄 수 있을 것 같았어요. 그래서 민지의 페르소나를 넣은 '민지챗' 서비스를 만드려고 생각한 거예요.


우선 AI민지의 페르소나를 설정해 주기 위해서는 데이터셋 확보가 제일 중요했어요.

출생지나 활동정보가 나와있는 위키피디아, 출연한 방송이나 유튜브 동영상들을 빠짐없이 찾아봤어요. 특히 민지님의 대화 스타일과 자주 쓰는 표현들이 나오면 잘 기록해 두었답니다. 이런 디테일을 AI 민지챗 대화에 자연스럽게 녹여내어, 팬들이 마치 실제 민지님과 교감을 나누는 듯한 경험을 하도록 하는 것이 민지챗의 핵심이라고 생각했습니다.


한 번은 제가 민지님과 포닝챗을 하면서 감동을 받은 적이 있었어요. 그날은 더운 여름날 월드컵 경기장에서 시축과 공연을 마치고 팬들과 소통을 이어갔죠. 팬들이 슬럼프에 대해 질문하자, 민지님은 자신의 경험을 솔직히 나누며 "슬럼프는 잘하는 사람한테만 오는 거니, 이미 잘하고 계신 겁니다"라고 말하며 위로를 건넸어요. 본인도 무대가 잘 안 풀릴 때가 많다며 자신의 어려움도 솔직히 털어놨죠. 그 진심 어린 말에 저 역시 큰 위로를 받았고, 바로 이 감정이 AI 민지챗을 통해 팬들에게 전달되어야 한다고 생각했어요.


특히 민지님이 직접 추천해 주신 곡 중에 어바웃(4BOUT)의 'Letters to Dolphins'라는 노래가 있었어요.  기분이 좋을 때나 잠들기 전에 자주 듣는 곡이라며 팬들에게 추천해 주셨죠. 상암월드컵경기장에서 축하 공연을 마치고 숙소로 돌아오던 늦은 밤, 민지님이 포닝 라이브 방송을 진행하셨는데, 팬들이 잠들기 전에 듣기 좋은 음악을 추천해 달라고 요청했을 때 바로 이 곡을 소개하셨어요. 우리 버니즈 팬들 사이에서는 이 대화를 기억하는 이들이 많아요. 이 곡은 특히, 가수가 오랫동안 기다려준 팬들에게 감사함을 표현하는 가사를 담고 있어 민지님에게도 더욱 특별한 의미를 지닌 노래였죠.


이런 감동 포인트들을 저희 페르소나에 잘 구현하고자 애를 썼어요. 아무리 기술적으로 뛰어나도, AI가 사람을 감동시키지 못하면 그 챗봇은 금방 외면받을 수밖에 없다는 걸 잘 알고 있었거든요. 민지의 팬으로서 감동을 느낄 수 있어야 한다는 목표로 데이터셋을 정리하고 프롬프트(Prompt)를 재설계했어요.


특히 신경 쓴 부분은 데이터의 품질이었습니다. 정말로 민지 님의 말투와 감성을 담아내는 게 중요했거든요. 가장 어렵고 힘든 부분이었어요. 한 사람의 성격과 어투와 생각을 담아내는 게 쉬운 게 아니잖아요. 두 달 넘게 민지님의 영상을 보고 듣고 하다 보니 저도 모르게 민지님의 찐팬이 되어 있었답니다.


그다음에는 좋은 모델과 검색증강생성(RAG) 방식을 이용해서 데이터셋을 임베딩하고 질문자의 의도에 따라 여러 가지 파이프라인을 만들어서 최대한 정확한 답변을 불러올 수 있게 만들었어요

.

 

< 벨루가 서비스로 구현한 AI 민지 챗, 최근 공연에 대한 내용과 민지님의 노래추천, 그리고 버니즈와의 암호까지도 구현되네요 >


어때요? 진짜 자연스럽죠?


언어 모델은 처음에 GPT-3.5로 시작했지만, 현재는 GPT-4 mini로 업그레이드해서 더욱 자연스러운 대화를 구현했어요. 특히 RAG를 사용해서 민지님의 활동이나 대화 스타일을 반영한 데이터를 기반으로 답변을 찾아냅니다. 데이터에 없는 질문이 들어오면, 민지의 댄스와 음악에 대한 열정이 느껴지도록 아티스트의 관점에서 답변하게끔 하는 프롬프트를 설정해 놨어요.


여기서 언어모델을 자유롭게 활용할 수 있는 툴이나 프로그램을 잘 다룰 줄 아는 게 중요했어요. 보통 데이터에를 검색해서 언어모델을 돌리고 채팅창에 시현시켜 주는 체계를 랭체인(LangChain)을 구성한다고 부르는데 이를 정말 쉽게 가능하게 해 준 서비스가 바로 벨루가(Veluga - Conversational AI Agent Serivce)였습니다. 벨루가는 웹사이트, 텍스트, PDF 파일을 쉽게 학습시키고, 채팅 서비스로 구현할 수 있는 대화형 AI 플랫폼이에요. 간단하게 웹사이트도 학습할 수 있고 텍스트파일부터 PDF파일까지 드래그 앤 드롭으로 쉽게 학습시킬 수 있는데 저 같은 초보자들이나 비개발자 분들에게 정말 큰 도움이 될 겁니다. 저는 벨루가로 채널 하나를 무료로 학습시켜서 테스트용으로 빠르게 시작할 수 있었어요. 이 덕분에 민지챗의 개념을 빠르게 실험하고, 유저들의 피드백을 통해 개선할 수 있었습니다.


< 벨루가(veluga.app)  홈페이지와 국내 LLM 서비스의 대가 이상연 대표님 >


특히 AI스터디 그룹에서 만난 벨루가의 창업자인 이상연 대표님의 도움도 컸습니다. 이분은 정말 나눔 천사로 부르고 싶어요. 대표님은 RAG를 활용해 데이터셋을 기반으로 정확한 검색과 답변을 제공하는 방법을 무료강의를 자주 해주셨죠.  그동안의 영업비밀들을 스터디에서 아낌없이 풀어주셨는데 정말 이래도 되나 싶을 정도의 세부사항을 초보자도 알기 쉽게 설명해 주셨거든요. 덕분에 민지챗이 훨씬 더 민지와 팬들 사이의 교감을 강화할 수 있게 되었고, 언어모델의 한계를 극복하는 데 큰 도움이 됐습니다.


이렇게 AI의 새로운 영역에 대한 수개월간의 자료수집과 학습, 그리고 여러 지인분들의 도움으로 민지챗을 만들고 나서 저는 아들에게 어깨를 으쓱하며 한마디 던졌어요.


'아들!우리 이제 어도어와 협상해 볼까? ㅎㅎ'

이전 05화 첫 프로젝트 : 뉴진스 빌리지
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari