Brain Team at CES 2022
안녕하세요! 마인즈랩 Brain팀 Vision 파트 연구원 송형규입니다.
지난 1월 5일부터 7일까지 3일동안 미국 라스베가스에서 세계 최고 가전 박람회인 CES 2022가 열렸습니다. 2년만에 오프라인으로 다시 돌아온 이번 CES 2022에는 오미크론이 확산되면서 평년 대비 많은 인원이 참석하지는 않았지만, 워낙 큰 박람회여서 그런지 그 규모는 대단했습니다.
마인즈랩은 이번 CES 2022에서 국내 은행과 함께 구현하여 현재 상용에 도입된 AI Banker를 전시했습니다. 저는 이번에 기술 설명을 위해 CES 출장길에 동행했는데요. 박람회인만큼 연구자들이 중심이 되는 딥러닝/머신러닝 학회와는 완전히 다른 분위기지만, 투자자들과 바이어, 일반 참석자들이 참석하는 자리이다 보니까 매의 눈으로 기능 하나하나에 대해 여쭤보시는 분들이 더욱 많아 개인적으로 논문 발표하는 것보다 더 어려웠습니다(다녀오니까 살이 2kg 빠졌어요 ㅎㅎ;).
이번 포스트에서는 CES 2022에서의 분위기를 간접적으로나마 전달드리고, 이번에 AI Human에 도입된 기술들에 대해 설명드리겠습니다. 이번 글은 기술 블로그이기는 하나, 기술적인 내용을 다루기보다는 딥러닝으로 해결한 Task가 어떤 것이었는지를 말씀드리려고 합니다 😄
CES 2022
CES는 라스베가스 전역에 걸쳐 3개의 전시관(Tech East, Tech West, Tech South)에서 진행됩니다. 그 중 대규모 부스가 주로 자리잡는 Tech East만 해도 코엑스 전시관 규모의 3배 이상의 크기를 자랑합니다. 특히, 이번에 공개한 Vegas Loop도 Tech East 내의 West Hall과 Central Hall을 이어주는데, 그만큼 단일 엑스포 자체도 차를 타고 다녀도 될 정도로 그 규모가 큽니다. 엑스포 각각에 전시한 것들이 모두 의미가 있지만, 아무래도 Tech East와 Tech West의 전시관 규모가 큽니다. 이번 CES 2022에서 마인즈랩은 Tech West의 Eureka Hall에 자리 잡았습니다.
마인즈랩의 AI Banker
이번 AI Banker는 국내 모 은행에 이미 상용으로 도입이 되어 있는 기기로, 컨시어지 기기와 디지털데스크 두 종류로 구성되어 있습니다. 우리가 보통 은행을 가면 은행 창구 안내와 함께 번호표를 뽑는데요. AI Banker 컨시어지가 번호표 출력과 더불어 해당 지점에 대한 안내 등의 업무를 대신합니다. 그리고 AI Banker가 탑재된 디지털데스크는 은행 창구의 위치에서 실제 은행을 방문하여 하는 업무들을 대신하여 진행할 수 있도록 구성되었습니다. 마인즈랩은 이번 AI Banker에 도입된 인공 인간에 대해 음성 생성(TTS, Text-To-Speech) 기술과 얼굴 생성(STF, Speech-To-Face) 기술을 구현함과 동시에 AI Banker 내 여러 기능들에 대한 개발을 진행했습니다. 이를 통해, 발화할 특정 텍스트가 정해지면, 이를 발화하는 인공 인간 영상을 무궁무진하게 만들어낼 수 있습니다. 특히, AI Banker 컨시어지는 GPU가 내장된 Windows PC에서 동작하는데, TTS와 STF 두 엔진이 서버를 통하지 않고도 Windows PC 내에서 생성될 수 있도록 구현을 진행했고, 10초 영상을 생성하는 데에 5초가 소요되는 속도를 자랑하게 되었습니다.
이번 AI Banker는 앞서 말씀드렸듯이 이미 국내 일부 지점에서 상용으로 도입이 되어 있어, 해당 지점에 가셔서 확인하실 수도 있습니다. 인공 인간이 상용에 도입되어 실제 작동하는 사례가 많지 않다보니 이 부분만 해도 이미 CES 2022에서 큰 임팩트를 불러올 법 했는데요. 사실 여기에 더하여 기존 기기에서 확인할 수는 없지만, CES 2022에서 처음으로 공개한 기술이 있습니다.
바로 영어, 중국어, 일본어를 하지 못하는 사람도 본인의 목소리로 4개국어를 할 수 있게 만드는, 다국어(Multilingual) TTS 및 STF 기술입니다.
기술 소개
Multilingual VITS
Multilingual TTS 라는 표현은 여러 언어의 음성을 생성하는 기술을 말하는데요. 해당 발화자가 원래 다국어가 가능한 사람이여서 데이터 자체를 여러 언어 음성으로 구성하여 학습시키는 것도 Multilingual TTS에 포함됩니다. 마인즈랩 Multilingual TTS는 특정 발화자의 한국어 음성 데이터만을 가지고, 해당 발화자의 목소리 특성을 살려 한국어는 물론, 영어, 중국어, 일본어까지 발화할 수 있게 만드는 기술입니다. 이는 세부적으로 Cross-lingual TTS로도 불리는데, 아직 학계에서도 굉장히 어려운 문제로 꼽고 있습니다.
방식을 조금 더 설명드리자면, 각 언어(한국어, 중국어, 일본어, 영어)에 대해 여러 화자로부터 TTS 데이터를 구축한 다음, 이를 가지고 1차 학습(Baseline)을 진행합니다. 이후 기존 TTS 모델에 Regularization 방법을 가미하여 언어 조건에 맞추어 음성이 합성되도록 추가 학습을 진행합니다. 일반적인 Fine-tuning과 유사하다고 느끼실 수 있으나, 이 과정에서 loss function에 regluarization term이 하나 더 추가된다는 점, 그리고 이를 적용했을 때 여러 언어를 소화할 수 있게끔 robustness를 확보하고 있는 TTS 모델이어야 한다는 점에서 결코 쉽게 찾을 수 있는 방법은 아닙니다. 이 방법을 통해 원래 한국어밖에 하지 못하는 분들도 영어, 일본어, 중국어를 발화하는 영상을 생성할 수 있게 됩니다.
Speech-To-Face (STF)
CES에 전시한 AI Human에서 보는 얼굴은 순수하게 딥러닝 모델로 생성된 얼굴 그대로입니다. 얼굴 생성 모델은 저를 포함하여 Brain팀 AI Face 프로젝트 연구원분들과 함께 자체적으로 개발한 알고리즘을 기반으로 구축되었습니다.
일반적으로 학계에서는 Talking Head Generation 이라는 이름으로도 Task를 부르곤 합니다. 일반적으로 연구에서 집중하는 부분은 Any-Face, Any-Speaker (Unconstrained) 모델로서, 학습 데이터에 없는 얼굴에 대해 학습 데이터에 없는 톤을 가진 목소리에 대해 영상을 생성하는 것을 소화하려고 합니다. 대신 특정 인물에 대해 학습을 진행하지 않기 때문에, 일반적으로 화질이 낮고(생성하는 영역의 한 변이 256 픽셀보다 적습니다), 입모양 움직임이 부자연스러운 경우가 많습니다. 특히, 여러 논문에서 "영어 데이터로 학습을 해도 어느 언어든 영상을 생성할 수 있다"고 주장하는데요. 실제로 영상을 만들어 보면, 한국어 음성에 대해서는 입모양이 잘 맞지 않는 것을 확인할 수 있습니다.
마인즈랩 얼굴 생성 엔진은 특정 인물의 데이터를 기준으로 학습을 하여 크기의 얼굴 영상을 생성합니다. 그리고 Multilingual TTS가 있기 때문에, 해당 인물이 한국어뿐만 아니라, 영어, 일본어, 중국어를 발화하는 영상도 만들 수 있게 됩니다. 재밌는 점은 한국어를 기준으로 학습할 경우, 한국어에서 발생하는 발음 조합이 영어보다 다양하고 학습한 데이터 역시 단일 화자의 음성 톤이기 때문에, 다른 언어로 생성한 음성에 대해서도 입모양이 잘 맞습니다.
Inference Speed
딥러닝 기반 생성 모델(Generative Model)을 실제 서비스할 때는 생성하는 음성과 영상의 퀄리티도 중요하지만, 모델에 소모되는 자원과 속도도 중요합니다. 특히, 영상을 생성하는 Task에서는 초당 몇 장(FPS, Frames Per Second)을 생성할 수 있는 지에 따라 그 쓰임새가 달라집니다. 25FPS 영상을 만드는 데 25FPS보다 빠르다면, 이는 실시간 스트리밍도 가능한 수준입니다. 반대로 이보다 느리다면, 영상을 미리 생성해놓고 캐싱해서 사용할 수 밖에 없습니다.
최근 화두가 되는 여러 회사의 인공 인간들을 보면 스트리밍을 지원하는 것들이 많지 않습니다. 미리 생성한 영상을 가져다가 만들곤 하죠. Brain팀이 만들고자 하는 AI Human은 실시간으로 대화가 가능한 모델입니다.
모델에 있어 lightweight 하고 inference 할 때 빠르도록 디자인하는 방법은 여러 가지가 있습니다. Brain팀이 구성한 모델에 대해서는 자세히 말씀드리기 어렵지만, 주로 autoregressive한 요소들을 최대한 non-autoregressive 하도록 변경하는 방향으로 디자인했습니다. 이를 통해 RTX 3080 GPU가 탑재된 데스크탑에서도 음성 생성 및 얼굴 영상 생성까지 54.1FPS 의 속도를 자랑합니다. 이를 통해 AI Human이 방문한 고객의 이름을 읽어주거나, 현장 상황에 알맞는 발화 영상을 생성할 수 있게 구성할 수 있게 됩니다.
마무리
국내 은행에는 한국어 발화 영상이 구성되어 있었지만, 이번 CES에서는 영어 발화 영상으로 전시가 되었습니다. 타 기업들에서도 그렇고 마인즈랩에서도 영어 TTS와 호환되는 얼굴 생성 엔진이 별도로 존재하기 때문에, 영어 발화 영상을 가지고 전시할 수 있지만, 막상 음성을 들어보면 실제 발화자가 다국어 발화를 할 수 있는 게 아니면 TTS 목소리가 본인 목소리가 아닌 경우가 많습니다. 영어 영상 뿐만 아니라, 동일한 톤과 얼굴로 일본어, 중국어를 발화하는 AI Human을 전시한 덕에 더욱 많은 분들로부터 이목을 끌었습니다.
이번 CES에서 보여드린 다국어 발화 가능한 AI Human 기술들을 통하여 원래 중국어, 영어, 일본어를 하지 못하는 분도 4개 국어를 하실 수 있도록 만들 수 있습니다. 이 외로도 Brain팀은 빠른 추론 속도와 좋은 퀄리티의 얼굴 영상을 기반으로 더욱 자연스럽고 대화가 가능한 AI Human이 되는 데에 필요한 여러 알고리즘을 구성해나갈 예정입니다.
CES에서 느낀 재미는 학회를 참석해서 느끼는 감동과 재미는 색달랐습니다. 학회에서는 여러 가지 Contribution에 대한 질문, 방법론에 대한 질문이 많았다면, CES에서 AI Human에 대해 받은 질문들은 품질 자체에 대해 꼼꼼한 피드백들이 주를 이뤘습니다. 예를 들어, 비디오 재생이 느리거나 버벅이는 부분이 기기의 문제인지 알고리즘의 문제인지를 여쭤보는 질문들이었습니다. 또한, 더욱 많은 손동작들이 가능했으면 좋겠다는 피드백이나 밖에서 걸어 들어오고 나가는 등의 기획이 뒷받침되면 좋을 것 같다는 의견도 있었습니다.
보통 딥러닝 모델을 연구하고 만드는 사람이 이러한 피드백을 직접 받는 일이 없는데, 직접 피드백을 들어 보면서 모델에서 수정해야 할 부분이나 개선할 수 있는 부분이 있을 지 생각해보는 시간이 되었습니다. 백엔드나 서비스 기획에서 해결해야 할 이슈 역시 모델을 구성하는 입장에서 좋은 피드백이 되었습니다. 아무래도 생성 모델을 연구하고 있고, 생성한 영상이나 음성이 그대로 사용자에게 노출이 되다 보니 이러한 피드백이 더욱 와닿는 것 같습니다. 아 물론, 저는 그래도 CES보다는 학회가 마음도 편하고 더 재밌는 것 같습니다 😄
Brain팀에서 Publish한 2022년 CVPR, ICASSP Paper를 포함하여, 2021년 NeurIPS Workshop, InterSpeech Paper에도 많은 관심 부탁드립니다!
TL;DR
- 마인즈랩 AI Human이 미국 라스베가스에서 열린 CES 2022에 전시되었습니다.
- 한국어 데이터만 가지고 영어, 일본어, 중국어까지 발화하는 데모로 정말 많은 호평을 받았습니다.
- 학회 말고 전시회에 참석하면서 생성 모델 연구와 생성 모델 상용화 사이의 간극을 한 번 더 느꼈습니다.