AWS 기술 블로그
AWS 인프라를 활용한 무븐트의 music-to-dance AI 학습·서빙 인프라 구축기
소개
무븐트(MVNT)는 춤을 위한 AI 인프라를 만드는 회사입니다. 전 세계 누구나 쉽게 춤을 만들 수 있도록 댄스 생성 AI 모델을 개발하고 있으며, 유명 안무가인 최영준 공동창업자를 필두로 모션 생성·3D·컴퓨터 비전·휴머노이드 백그라운드의 엔지니어들이 함께하고 있습니다. 현재 무븐트의 서비스는 웹앱과 API, 언리얼 엔진 플러그인 형태로 제공되고 있으며 안무가는 물론 K-Pop 기획사, AI UGC(사용자 생성 콘텐츠) 크리에이터, 게임 개발자, 버츄얼 프로덕션 스튜디오 등 폭넓은 분야에서 쓰이고 있습니다.
생성형 AI 콘텐츠 제작 시장이 커지고 있지만, 안무처럼 음악·리듬·신체 구조·장르 문법이 얽힌 전문 영역은 범용 모델만으로 품질을 확보하기 어렵습니다. 이런 영역에서는 도메인에 특화된 데이터를 직접 확보·정제하고, 그에 맞는 모델을 학습해 안정적으로 서빙하는 별도의 인프라가 필요합니다. 무븐트가 춤이라는 도메인에서 마주한 과제도 이와 같았습니다.
이 글에서는 무븐트가 AWS 위에 구축한 데이터 파이프라인과 추론 서빙 아키텍처를 다룹니다. 대량의 비정형 댄스 영상을 이벤트 기반으로 학습 데이터로 바꾸는 방법, GPU 추론을 비동기로 분리하는 방법, 그리고 글로벌 사용자에게 확장 가능하게 서빙하는 다중 계층 구조를 실제 구축 경험과 함께 소개합니다. 생성형 AI·엔터테인먼트 분야에서 크리에이티브 툴 서비스를 개발할 때 초기 인프라를 어떻게 구축하고 서빙하는지 고민하는 분들께 참고가 될 만한 선택과 트레이드오프를 담았습니다.
배경
오늘날 K-Pop 산업에는 매년 약 1,500여 개의 안무가 만들어지고 있습니다. J-Pop과 라틴, 발리우드, 팝, 뮤지컬 산업을 포함하면 수치는 배로 높아집니다. 특히 SNS에서는 댄스 챌린지가 음악 프로모션의 중요한 경험으로 자리 잡았으며, 게임에서 춤 아이템은 핵심 매출원 중 하나가 되었습니다. 그만큼 춤 제작에 대한 수요는 나날이 높아지고 있지만, 모두가 좋아할 만한 춤을 만들기란 (안무가에게도) 어려운 작업입니다.
무븐트는 설립 초기 이런 질문에서 출발했습니다. “음악을 넣기만 하면, 그 음악에 어울리는 안무를 AI로 바로 생성할 수는 없을까?” “누구나 AI 음악 생성 도구로 음악을 쉽게 만드는데, 춤도 그렇게 할 수 있지 않을까?” 하지만 모션 생성, 그중 안무는 여전히 생성형 AI에서 가장 어려운 영역 중 하나였습니다. 춤이란 단순한 포즈의 나열을 넘어 음악, 리듬, 신체 구조, 장르적 문법, 동작의 해석, 3차원의 시공간성이 결합된 복합적인 데이터이기 때문입니다. 예를 들어 최근 화제를 얻고 있는 댄스 경연 프로그램을 보면, 안무가들이 춤이라는 매체를 통해 얼마나 복합적인 모달리티를 다루는지 알 수 있습니다.
그래서 댄스 AI 모델을 만들기 위해서는 단순히 많은 영상을 모아 학습시키는 것만으로는 충분하지 않았습니다. 고품질의 3D 모션캡처 데이터와 더불어 대량의 인체 메시 복원(Human Mesh Recovery, HMR)을 추출하여 동작 데이터를 확보해야 했으며, 안무가의 해석과 표현을 모델이 학습할 수 있는 형태의 언어로 정제하는 과정도 필요했습니다. 이렇게 춤에 특화된 데이터를 확보·학습한 뒤, 이를 전 세계 사용자와 파트너에게 안정적으로 제공하는 인프라까지 함께 구축해야 했습니다.
이처럼 복합적인 데이터 확보·정제 과정 속에서, 이 글에서는 무븐트가 AWS 위에서 데이터 파이프라인과 추론 서빙 아키텍처를 어떻게 설계하고 구축했는지를 중점으로 소개하고자 합니다.
데이터 파이프라인: 춤의 언어를 AI 학습 데이터로 번역하는 법
지난 5년간 무븐트는 안무가들과 댄스 데이터를 어떻게 수집하고 분석할지에 대해 연구하며 안무가의 문법을 학습하도록 워크플로우를 구축해왔습니다. 예를 들어 안무가는 춤을 만들 때 단순한 포즈 나열보다는 “어떤 음악 구간에서 어떤 에너지로, 어떤 신체 부위를 중심으로, 어떤 질감의 움직임을 만드는가”라는 기준을 두고 동작을 생성합니다.
춤 데이터를 트레이닝하는 방법들
모션 캡처 데이터
댄스 영상에서 분석한 춤 동작
데이터셋 확보를 위해 신체 관절 및 3D 모션 데이터 확보를 위해 모션 캡처와 영상 분석 두 가지를 사용하고 있습니다. 댄스 데이터의 양(quantity)과 질(quality)을 잡기 위한 하이브리드 방식이라고 볼 수 있습니다.
- Quality: 게임 엔진 혹은 VFX(시각 효과)에 호환되는 고품질의 댄스 데이터 확보를 위해 직접 모션 캡처를 통해 자체 데이터셋을 구축하고 있습니다. 관련한 콘텐츠 업계에서는 손가락 관절의 디테일한 모션과 실제 댄서의 동작 및 의도를 그대로 옮겨오는 것이 중요하기 때문입니다. 모션 캡처 장비를 통해 1mm 이하의 오차로 정확한 동작을 포착해냅니다.
- Quantity: 원본 댄스 영상에서는 실제 댄서의 움직임, 카메라 구도, 퍼포먼스 맥락을 담고 있으며, 모션 캡처로 구축하기 어려운 방대한 양의 데이터셋을 만들 수 있습니다. 다만 모션 캡처를 통해 확보한 데이터에 동작의 뉘앙스 등 디테일이 떨어지고, 발이 공중에 떠 있는 등 부정확할 수 있기 때문에 추가적인 데이터 처리 작업이 필요합니다.
데이터 라벨링 파이프라인
이러한 동작 데이터와 더불어 춤에 대한 다양한 정보 및 맥락이 함께 기록되어야 춤에 대한 더 깊은 지식을 트레이닝할 수 있습니다. 특정 구간의 동작 의도 및 설명, 장르적 특성, 움직임의 강도, 음악과의 대응 관계 등이 여기에 포함됩니다. 실제 댄서가 직접 춤에 대한 설명과 부가적인 장르적 분류는 더 디테일한 춤을 생성할 수 있도록 합니다.
자체 구축한 라벨링 플랫폼에서 댄서들과 함께 춤 온톨로지를 구축하고 있으며, 이는 춤에 대한 기술적인 설명 외에도 질감과 감정에 대한 정보도 포함합니다. 데이터 라벨링 예시는 다음과 같습니다.
{
"videoTitle": "너와의 모든 지금",
"choreographer": "Young-jun Choi",
...
"annotations": [
{
"name": "description",
"label": "오른팔과 왼팔을 동시에 오른쪽 윗대각선45도로 스윙해준다. 오른팔은 쭉 펴주고 왼손은 명치에 위치할 수 있게 한다...",
"start": 33.06,
"end": 35.43
},
{
"name": "emotion",
"label": "playful",
"start": 33.06,
"end": 35.43
},
{
"name": "texture",
"label": "flowing, wavy",
"start": 33.06,
"end": 35.43
},
...
]
}
비정형 영상 데이터를 모델 학습 데이터로 바꾸는 과정은 계산량이 크고 반복적인 작업입니다. 특히 대량의 영상에서 사람의 움직임을 프레임 단위로 분석하고, 2D 포즈를 3D 구조로 복원하거나, 여러 사람의 움직임을 추적하고, 그 결과를 다시 학습 가능한 시계열 데이터셋으로 정리하는 과정은 로컬 환경만으로 처리하기 어렵습니다.
AWS로 대량의 댄스 영상 처리하기
무븐트는 이 문제를 AWS 기반의 이벤트 기반(event-driven) 데이터 처리 파이프라인으로 해결합니다. 전체 흐름은 세 가지로 요약됩니다. 첫째, 리서처의 요청은 인증·보호를 거쳐 백엔드로 라우팅됩니다. 둘째, 영상이 Amazon S3에 업로드되면 그 자체가 후속 처리의 트리거가 되고, 처리 요청은 Amazon SQS 큐에 쌓여 업로드 피크에도 안정적으로 버퍼링됩니다. 셋째, GPU가 필요한 무거운 추론은 API 처리와 분리해 비동기 워커가 담당합니다. 아래에서 각 단계를 순서대로 살펴봅니다.
- 접근 제어와 라우팅 — 무븐트의 리서처가 자체 라벨링 툴에 접근하면, AWS WAF가 일반적인 웹 공격과 과도한 요청으로부터 애플리케이션을 보호하고, Amazon Cognito가 사용자 인증과 접근 제어를 담당합니다. 인증된 요청은 Amazon API Gateway를 통해 백엔드로 전달되며, AWS Lambda 함수가 요청 종류에 따라 데이터 조회, 업로드, 처리 작업 생성 등을 라우팅합니다.
- 수집과 트리거, 버퍼링 — 원본 댄스 영상과 이미지, 분석 대상 파일은 Amazon S3에 저장됩니다. 새로운 영상이 업로드되면 이벤트 알림이 후속 작업을 시작하고, 이 요청은 Amazon SQS를 통해 큐잉됩니다. 댄스 영상 처리는 파일 크기와 길이에 따라 처리 시간이 달라지므로, 모든 요청을 즉시 동기적으로 처리하는 방식은 적합하지 않습니다. SQS로 요청을 버퍼링하면 업로드가 몰려도 백엔드가 큐에 쌓인 작업을 순차적으로 가져와 안정적으로 처리할 수 있습니다.
- 비동기 GPU 추론과 실패 처리 — HMR 영상 기반 인체 분석 모델은 GPU 리소스를 필요로 하고 입력 영상이 길수록 처리 시간이 늘어납니다. 그래서 이 무거운 추론은 GPU 기반 Amazon EC2 워커가 SQS 큐에서 작업을 꺼내 비동기로 처리하며, 이렇게 하면 큰 입력과 긴 처리 시간이 필요한 워크로드도 안정적으로 소화할 수 있습니다. 처리가 실패한 경우—입력 파일 손상, 과도하게 긴 영상, 사람 미검출, 리소스 제한 등—에는 실패 이벤트가 Amazon SNS와 AWS Lambda를 거쳐 Amazon DynamoDB에 기록됩니다. 운영자는 이 기록으로 원인을 확인하고 영상을 다시 분할하거나 전처리 파라미터를 조정하고, 특정 샘플을 학습 데이터셋에서 제외할 수 있습니다.
이 과정을 통해 무븐트는 댄스 영상을 단순한 미디어 파일이 아니라 모델 학습이 가능한 구조화 데이터로 바꿉니다. 원본 영상은 Amazon S3에 저장되고, 분석 파이프라인을 통해 포즈·모션·메시·시각화 결과로 변환되며, DynamoDB에는 각 샘플의 상태와 메타데이터가 기록됩니다. 이후 데이터 팀은 결과를 검수하고 필요한 라벨을 추가해, 최종적으로 음악 조건부 안무 생성 모델의 학습 데이터셋으로 편입시킵니다.
추론 서빙 아키텍처: 전 세계 사용자에게 모델과 서비스를 효율적으로 서빙하는 방법
다음은 춤 생성 요청을 처리하기 위한 모델 서빙 파이프라인 구축기입니다. 초기 PoC 단계에서는 빠른 개발을 위해 EC2 한 대에서 API 서버와 디퓨전 계열 자체 모델 추론을 함께 처리했습니다. 이 방식은 소규모 팀이 빠르게 실험하고 제품 가능성을 검증하는 데는 유용했지만, 글로벌 사용자와 엔터프라이즈 파트너에게 안정적인 서비스를 제공하기 위해서는 확장성과 가용성 측면에서 개선이 필요했습니다.
사용자가 늘어나고 외부 플랫폼과의 API 연동이 확대될수록, 단일 서버 기반 구조는 트래픽 급증, GPU 리소스 부족, 장애 전파, 배포 리스크에 취약해집니다. 따라서 AWS 기반의 다중 계층 아키텍처로 전환해 API 처리와 모델 추론을 분리하고, 각 계층을 독립적으로 확장할 수 있는 구조로 전환했습니다.
하나의 Amazon VPC 안에서 웹 계층, 앱 계층, 데이터베이스 계층을 분리하는 구조를 채택했습니다. 각 계층의 역할은 다음과 같습니다.
| 계층 | 구성 | 역할 |
|---|---|---|
| 웹 계층 (Web Tier) | 퍼블릭 서브넷의 CPU 기반 Amazon EC2 | 사용자 요청 수신, 인증, 라우팅, 경량 API 처리 |
| 앱 계층 (App Tier) | 프라이빗 서브넷의 GPU 기반 Amazon EC2 Auto Scaling group | 디퓨전 모델 추론, 추론 워커 실행 |
| 데이터베이스 계층 (Database Tier) | Amazon Aurora 기본 DB / 읽기 복제본 | 작업 상태, 사용자 요청, 결과 메타데이터, 사용량 정보 관리 |
- 외부 트래픽은 인터넷 게이트웨이와 Elastic Load Balancing을 통해 웹 계층으로 들어옵니다. 웹 계층은 내부 로드 밸런서를 통해 앱 계층의 GPU 서버로 요청을 전달합니다.
- 앱 계층은 GPU 기반 EC2 인스턴스를 Auto Scaling group으로 구성합니다. 트래픽 패턴에 따라 GPU 서버 수를 조정할 수 있고, 특정 가용 영역(Availability Zone) 또는 인스턴스 장애가 발생해도 다른 인스턴스로 요청을 분산할 수 있습니다.
- 데이터베이스 계층에는 Amazon Aurora를 사용합니다. 기본 DB와 읽기 복제본을 분리해 읽기 트래픽을 분산하고, 데이터 계층의 가용성을 높입니다.
이러한 아키텍처 전환을 통해 무븐트는 빠른 PoC 단계에서 벗어나, 글로벌 사용자가 동시에 접속해도 안정적으로 모델을 제공할 수 있는 기반을 마련하였습니다. 예를 들어 2026년 6월 Unreal Fest Chicago에서 70여 명을 대상으로 무븐트 댄스 AI 플러그인 실습 워크샵을 진행했습니다. 70개의 생성 요청을 동시다발적으로 로드밸런싱하여 성공적으로 워크샵을 마칠 수 있었습니다.
2026년 8월 Unreal Fest Seoul에서는 규모가 한층 커졌습니다. 현장 50여 명과 온라인 2,000여 명이 동시에 지켜보는 가운데 생성 요청이 한꺼번에 몰렸지만, 추론 최적화와 오토스케일링 및 로드밸런싱 기반 부하 분산으로 이 트래픽을 안정적으로 흡수했고, 현장 사용자가 겪는 응답 지연까지 완화할 수 있었습니다.
이 안정성의 바탕에는 추론 서빙 최적화가 있습니다. 자체 디퓨전 모델 추론을 기존 g5 인스턴스에서 g7e.2xlarge GPU 인스턴스로 전환하면서 생성 속도가 빨라졌습니다. 이전에는 한 번 생성하는 데 3\~5분이 걸렸지만, 이제는 20초 길이 오디오는 약 35초, 30초 길이는 약 62초, 40초 길이는 약 98초 만에 생성됩니다. 오디오 길이에 따라 3\~5배 빨라진 셈입니다.
이 속도 개선은 사용자 경험으로도 이어졌습니다. 신규 사용자가 가입한 뒤 첫 결과물을 받아보기까지 걸리는 시간이 약 2분에서 51초로 절반 넘게(약 57.5%) 줄었고, 생성 완료율도 7월 대비 약 10% 높아졌습니다.
Unreal Fest Seoul
향후 계획
음악 조건부 안무 생성 모델의 품질은 결국 학습 데이터의 품질에 좌우되고, 데이터의 품질은 안무가의 도메인 지식을 얼마나 구조화된 형태로 담아내느냐에 달려 있습니다. 그래서 무븐트의 시스템은 안무가의 언어를 데이터로 바꾸는 데이터 파이프라인, 대규모 모션 데이터를 안정적으로 정제하는 분석 인프라, 그리고 전 세계 사용자에게 모델을 제공하는 추론 서빙 아키텍처가 함께 맞물려 돌아가도록 설계되었습니다.
AWS는 이 과정에서 무븐트가 소규모 팀으로도 확장 가능한 AI 인프라를 설계할 수 있도록 돕는 기반이 되고 있습니다. Amazon S3, AWS Lambda, Amazon DynamoDB를 조합한 데이터 파이프라인은 댄스 영상을 학습 가능한 구조화 데이터로 변환합니다. Elastic Load Balancing, Amazon EC2 Auto Scaling, Amazon Aurora를 활용한 서빙 아키텍처는 글로벌 사용자와 파트너에게 모델을 안정적으로 제공하기 위한 기반을 제공합니다.
이처럼 빠르고 효율적인 AWS 기반 추론 셋업 덕분에, 무븐트는 2026년 8월 한 달간 신규 가입 약 3배, 생성 요청 약 2배 증가라는 성장을 안정적으로 뒷받침할 수 있었습니다.
앞으로 무븐트는 더 많은 장르, 더 다양한 음악 구조, 더 정교한 움직임 표현을 학습한 모델을 기반으로, 게임·엔터테인먼트·크리에이터 워크플로우에서 춤을 더 쉽게 만들고 활용할 수 있는 AI 인프라를 구축해 나갈 계획입니다. 특히 9월 중 모바일 앱을 출시해 빠르게 늘어나는 트래픽에 대비할 예정입니다.
무븐트의 사례는 춤이라는 특정 도메인의 이야기지만, 그 바탕의 접근—범용 모델로 다루기 어려운 전문 영역을 위해 도메인 특화 데이터 파이프라인을 만들고, GPU 추론을 분리해 확장 가능하게 서빙하는 방식—은 다른 전문 분야의 생성형 AI 서비스에도 그대로 적용할 수 있습니다. 소규모 팀이라도 관리형 AWS 서비스를 조합하면 데이터 확보부터 글로벌 서빙까지 단계적으로 확장할 수 있습니다.
무븐트의 댄스 생성 AI는 mvnt Studio에서 직접 체험할 수 있고, 언리얼 엔진 플러그인은 Fab에서 이용할 수 있습니다. 비슷한 워크로드를 설계하고 있다면, 무거운 처리 작업을 큐로 분리하는 Amazon API Gateway·SQS 기반 비동기 처리 패턴과 웹·앱·데이터 계층을 분리하는 다중 계층 아키텍처 가이드가 좋은 출발점이 됩니다.