생성형 AI로 Talking Character 강화하기

5월 16, 2023
Jay Ji Senior Product Manager Google PI
Christian Frueh Software Engineer Google Research
Pedro Vergani Staff Designer Insight UX

깊이 있는 대화형 환경을 만드는 LLM의 힘을 보여주는 사용자 설정 가능한 AI 기반 캐릭터 템플릿

Google의 Partner Innovation 팀은 대규모 언어 모델을 기존 Google API 및 기술과 결합하여 특정 업계 사용 사례를 해결하는 방법을 보여주기 위해 일련의 생성형 AI 템플릿을 개발했습니다.

Talking Character는 개발자가 생성형 AI로 애니메이션 캐릭터에 생명을 불어넣을 수 있는 사용자 설정 3D 아바타 빌더입니다. 개발자와 사용자가 모두 아바타의 성격, 배경 스토리, 기술 자료를 구성할 수 있으므로 특정 주제에 대해 고유한 관점을 가진 전문가를 만들 수 있습니다. 그런 다음 사용자는 텍스트나 구두 대화로 상호 작용할 수 있습니다.

한 가지 예로 저희가 정의한 기본 캐릭터 모델인 Buddy가 있습니다. Buddy는 사용자가 일반적인 개의 생활 경험에 대해 대화할 수 있도록 저희가 배경 스토리와 성격, 기술 자료를 만들어 준 친근한 느낌의 개입니다. 또한 믿음직한 보험 상담사 캐릭터나 이런 유형의 다른 캐릭터의 성격과 배경을 어떻게 바꿀 수 있는지에 대한 예시도 제공해 드립니다.

저희 코드 템플릿의 두 가지 주요 목표는 다음과 같습니다.

첫째, 캐릭터 개발을 위한 프롬프트 엔지니어링의 강력한 개념을 실험하고 PaLM API 외에 특정 데이터 세트를 활용하여 고유한 경험을 생성할 수 있는 테스트 인터페이스를 개발자와 사용자에게 제공하는 것입니다.

둘째, 단순한 텍스트 또는 채팅 중심의 경험을 넘어 생성형 AI 상호작용을 향상시킬 수 있는 방법을 보여주는 것입니다. 음성 텍스트 변환과 텍스트 음성 변환 같은 클라우드 서비스와 캐릭터를 애니메이션으로 표현하는 머신러닝 모델을 활용함으로써 개발자는 사용자에게 훨씬 더 자연스러운 사용 환경을 만들 수 있습니다.

이러한 유형의 기술에 대한 잠재적 사용 사례는 다양하고, 게임이나 스토리텔링을 위한 캐릭터와 내러티브 개발에 사용되는 대화형 크리에이티브 도구, 복잡한 시스템이나 프로세스에 대한 기술 지원, 특정 제품이나 서비스에 대한 맞춤형 고객 서비스, 토론 실습이나 언어 학습, 특정 주제에 대한 교육, 혹은 단순히 브랜드 애셋을 음성으로 생생하게 전달하고 상호 작용하는 능력 등을 위한 애플리케이션을 포함합니다.

기술적 구현

상호작용

3D 아바타가 사용자와 자연스럽게 대화할 수 있도록 몇 가지 개별 기술 구성요소를 사용합니다. 먼저 Google의 음성 텍스트 변환 서비스를 사용하여 음성 입력을 텍스트로 변환한 다음 PaLM API에 공급합니다. 그런 다음 텍스트 음성 변환을 사용하여 언어 모델의 응답에 대해 사람의 목소리 같은 음성을 생성합니다.

ai talking character 3

애니메이션

대화형 시각 환경을 구현하기 위해 생성된 음성 패턴과 억양을 기반으로 움직이는 ‘말하는’ 3D 아바타를 만들었습니다. MediaPipe 프레임워크를 사용하여 음성 패턴과 동기화되는 얼굴 표정과 입술 동작을 생성하기 위한 새로운 오디오 블렌드 셰이프 변환 머신러닝 모델을 활용했습니다.

블렌드 셰이프는 작은 가중치 세트를 사용하여 3D 아바타를 애니메이션으로 표현하는 데 사용되는 제어 매개변수입니다. 오디오 블렌드 셰이프 변환 모델은 음성 입력에서 이러한 가중치를 실시간으로 예측하여 애니메이션 아바타를 움직이게 합니다. 이 모델은 이 백서에서 설명한 대로 Tensorflow를 사용해 ‘말하는 머리’ 동영상으로 학습이 이루어지는데, 여기서 3D 얼굴 추적을 사용하여 음성에서 안면 블렌드 셰이프로의 매핑을 학습합니다.

생성된 블렌드 셰이프 가중치를 모델에서 얻으면 이 가중치를 사용하여 오픈소스 JavaScript 3D 라이브러리 three.js로 3D 아바타의 얼굴 표정과 입술 동작을 모핑합니다.

캐릭터 디자인

Buddy를 만들면서 저희는 캐릭터의 풍부한 배경 스토리 및 독특한 개성과 사용자 사이에 정서적 유대감을 형성하는 문제를 탐구하고자 했습니다. 단순히 참여도를 높이는 것만이 아니라 캐릭터(예: 유머 가득한 캐릭터)가 어떻게 사용자와 상호작용을 형성할 수 있는지 보여주는 것이 목표였습니다.

콘텐츠 작가는 마음을 사로잡는 배경 스토리를 개발해 이 캐릭터의 기초를 쌓았습니다. 이러한 배경 스토리는 캐릭터의 기술 자료와 함께 캐릭터의 개성에 깊이를 더해주고 생명을 불어넣습니다.

또한 상호작용의 정도를 나타내는 지표로서 얼굴 표정 같은 인식 가능한 비언어적 신호를 포함하고자 했습니다. 예를 들어, 캐릭터가 깊은 생각에 빠진 듯한 모습을 하고 있을 때는 모델이 응답 내용을 구상 중이라는 신호입니다.

프롬프트 구조

마지막으로, 간단한 텍스트 입력으로 아바타를 쉽게 사용자 설정할 수 있도록 프롬프트 구조를 개성, 배경 스토리, 기술 자료의 세 부분으로 설계했습니다. 세 부분을 모두 하나의 큰 프롬프트로 결합하여 컨텍스트로 활용하도록 PaLM API로 보냅니다.

ai talking character 4

파트너십 및 사용 사례

Z 세대의 사랑을 받는 ZEPETO는 사용자가 디지털 캐릭터를 완전히 사용자 설정하고, 패션 트렌드를 탐색하며, 적극적인 자기표현과 가상의 상호작용에 참여할 수 있는 아바타 중심의 소셜 세계입니다. 사용자는 Talking Character 템플릿을 사용해 자신만의 아바타를 만들고, 다양한 의상과 액세서리로 꾸미고, 가상 세계에서 다른 사용자와 상호작용할 수 있습니다. Google은 ZEPETO와 협력하고 있으며 50개 이상의 블렌드 셰이프로 메타버스 아바타를 테스트하여 훌륭한 결과를 얻었습니다.

ai talking character 5

"AI 캐릭터가 ZEPETO 아바타로 실현되어 깊이 있는 대화를 유창하게 하는 모습은 정말 감동적입니다. 고급 언어 모델과 아바타의 조합으로 메타버스에서 가능해지는 일이 무한히 확장될 것이라고 믿습니다. 이 작업에 함께 참여하게 되어 정말 기쁩니다." - ZEPETO 김대욱 CEO

하지만 데모는 메타버스 사용 사례에만 국한되지 않습니다. 이 데모는 캐릭터가 어떤 영역에서든 텍스트 모음 또는 기술 자료에 생명을 불어넣는 방법을 보여줍니다.

예를 들어 게임에서는 LLM 기반 NPC가 게임의 세계와 역사, 캐릭터를 논하는 자연어 대화를 통해 게임 세계를 풍요롭게 하고 사용자 경험을 심화할 수 있을 것입니다.

교육에서는 학생이 공부해야 하는 다양한 주제를 표현하거나, 대화형 교육 퀴즈 시나리오에서 다양한 수준의 난이도를 나타내거나, 사람들이 다양한 문화, 장소, 사람, 시대에 대해 배우는 데 도움이 되도록 역사의 특정 인물과 사건을 표현하는 다양한 캐릭터를 만들 수 있습니다.

상거래에서는 브랜드와 상점에 생명을 불어넣거나, 전자상거래 마켓플레이스에서 판매자에게 힘을 주기 위해, 또한 더 나은 사용자 경험을 제공하고자 상점을 더 매력적이고 개인에게 맞도록 만드는 도구를 대중화하기 위해 Talking Character 키트를 사용할 수 있습니다. 이 키트로 소매업 환경을 탐색하는 고객을 위한 아바타를 만들고 실제 환경에서의 쇼핑 경험을 게임처럼 만들 수도 있습니다.

더 광범위하게는, 모든 브랜드나 제품, 서비스가 이 데모를 사용하여 다양한 어조의 지식 세트를 기반으로 사용자와 상호작용할 수 있는 사람처럼 대화하는 주체를 구현할 수 있습니다. 브랜드 홍보대사나 고객 서비스 담당자, 판매 보조원의 역할을 하는 것이죠.

오픈소스 및 개발자 지원

Google의 Partner Innovation 팀은 LLM을 기존 Google API 및 기술과 결합하여 특정 업계 사용 사례를 해결할 수 있는 가능성을 보여주는 일련의 생성형 AI 템플릿을 개발했습니다. 각 템플릿은 올해 5월 I/O에서 첫선을 보였으며 개발자와 파트너가 이런 템플릿을 기반으로 개발할 수 있도록 오픈소스로 제공되었습니다.

저희는 각 시장에서 API가 출시되는 시점과 상황에 맞춰(APAC 출시 일정은 미정) 이러한 템플릿을 기반으로 특정 기능과 환경을 공동 개발하고 출시할 수 있도록 EAP를 통해 여러 파트너와 긴밀히 협력할 것입니다. Talking Agent도 오픈소스로 제공되므로 개발자와 스타트업은 Google에서 만든 사용자 환경을 기반으로 개발할 수 있습니다. Google의 Partner Innovation 팀은 이미 진행 중인 R&D를 기반으로 확장을 이어가기 위해 현지 시장과 협력하여 다양한 기능과 도구를 계속 개발할 것입니다. 여기에서 GitHub의 프로젝트를 확인해 보세요.

감사의 말

Mattias Breitholtz, Yinuo Wang, Vivek Kwatra, Tyler Mullen, Chuo-Ling Chang, Boon Panichprecha, Lek Pongsakorntorn, Zeno Chullamonthon, Yiyao Zhang, Qiming Zheng, Joyce Li, Xiao Di, Heejun Kim, Jonghyun Lee, Hyeonjun Jo, Jihwan Im, Ajin Ko, Amy Kim, Dream Choi, Yoomi Choi, KC Chung, Edwina Priest, Joe Fry, Bryan Tanaka, Sisi Jin, Agata Dondzik, Miguel de Andres-Clavera 등 본 프로젝트에 소중한 기여를 해주신 분들께 감사의 마음을 전합니다.