nemotron-halloween
Quick Summary
MonsterHouse는 NVIDIA Nemotron 공개 모델과 단일 워크스테이션으로 구현한 할로윈 대화형 주택 캐릭터로, 예의에 반응하는 대화·음성·입 모양·방문객 인식을 결합했지만 실제 방문객을 통한 종합 검증과 자동 사탕 제공은 아직 남아 있다.
🖼️ 인포그래픽

🖼️ 4컷 인포그래픽

💡 한 줄 요약
MonsterHouse는 NVIDIA Nemotron 공개 모델과 단일 워크스테이션으로 구현한 할로윈 대화형 주택 캐릭터로, 예의에 반응하는 대화·음성·입 모양·방문객 인식을 결합했지만 실제 방문객을 통한 종합 검증과 자동 사탕 제공은 아직 남아 있다.
📌 핵심 요약
- MonsterHouse는 차고 문에 투사하는 심술궂은 해적선 출신 주택 캐릭터다. NVIDIA Nemotron Voice Agent를 기반으로 Nemotron Speech ASR, Nemotron 3.5 Bolt E4B 4GB, Magpie TTS Zeroshot, Audio2Face-3D를 연결해 방문객과 대화하며, ‘please’와 ‘thank you’에 태도가 부드러워지도록 설계했다.
- 작성자는 12개가 넘는 모델을 시험한 뒤 로컬 실행의 메모리·연산 예산에 맞춰 Bolt E4B의 4비트 양자화 모델을 기본으로 선택했다. 5,000개가 넘는 다중 턴 대화 데이터와 프롬프트·애플리케이션 로직·LoRA를 활용해 성격과 대화 흐름을 조정하고, 연속성·말투·반복·속도를 평가했다.
- 발화 종료부터 오디오 출력까지의 중앙값은 Bolt Q4와 TTS 사용 시 1.70초, 캐시 응답 사용 시 0.72초이며, 현재 발화 종료 감지는 300ms의 무음을 기다린다. 미리 작성한 문장과 저장된 음성으로 처리를 줄이고, Magpie TTS Zeroshot은 감정별 3~10초 참조 음성을 이용해 일곱 가지 기분을 표현한다.
- 단일 워크스테이션에서 NVIDIA RTX PRO 6000 Blackwell Max-Q는 언어·음성 파이프라인을, NVIDIA RTX PRO 4000 Blackwell은 Unreal Engine 그래픽과 Audio2Face-3D를 담당한다. 깨끗한 음성은 입 모양 생성에 사용하고 관객에게는 효과를 더한 별도 음성을 들려주며, 100ms 보정으로 Audio2Face-3D 버퍼링에 대응했다.
- 선택 기능인 NVIDIA Nemotron 3 Nano Omni는 의상을 설명하고 YOLO와 ByteTrack은 방문객 수와 이동을 파악한다. 의상을 입은 양 다섯 마리 영상은 합성 시험이며, 실제 방문객·의상·야간 조명에서의 검증과 애니메이션 개선, 자동 사탕 제공은 아직 남아 있다.
🧩 주요 포인트
- 예의 표현과 방문 상태를 대화 흐름에 반영 → 심술궂은 성격을 유지하면서도 방문객이 끝없는 실랑이 없이 환대를 얻는 상호작용을 지향한다.
- 소형 모델·LoRA·문장 및 음성 재사용을 결합 → 제한된 로컬 연산 자원 안에서 캐릭터의 일관성과 응답 속도를 함께 확보하려는 설계다.
- GPU별 작업 분담과 음성·시각 처리 역할 분리 → 대화 처리 중에도 애니메이션과 연출을 안정적으로 유지하려는 접근이며, 실제 할로윈 환경에서의 완성도는 추가 검증이 필요하다.
🧠 상세 정리
1. 차고 문에 입을 단 할로윈 캐릭터
MonsterHouse는 할로윈에 찾아오는 아이들이 집과 직접 대화하도록 만든 대화형 투사 작품으로, 무섭기보다는 심술궂고 예의에 약한 캐릭터를 목표로 한다. 작성자는 차고 문의 나무판이 갈라져 들쭉날쭉한 입술을 이루고, 입을 벌릴 때마다 안쪽의 불꽃이 진입로를 비추는 모습을 구상했다. 제작 과정에서는 맞춤 애니메이션 리그에 많은 수고가 들었으며, Autodesk Maya에서 캐릭터 SkelMesh와 얼굴 표정 형태를 만든 뒤 Unreal Engine으로 내보내 불과 시각 효과를 추가했다. 눈·눈썹·깜빡임 없이 입으로 표정을 전달하는 구성에 NVIDIA Nemotron Voice Agent가 청취·대화·발화의 기반을 제공했다. 전체 흐름은 Nemotron Speech ASR이 방문객의 말을 텍스트로 바꾸고, Bolt E4B가 답변을 생성하며, Magpie TTS Zeroshot과 Audio2Face-3D가 각각 목소리와 입 움직임을 만드는 방식이다.
2. 심술과 친절 사이를 잇는 대화 흐름
집의 성격에 이유를 주기 위해 작성자는 침몰한 해적선의 목재로 지어진 건물이라는 과거를 설정했고, 바다와 폭풍을 겪은 배가 부동산으로 환생한 데 불만을 품고 있다는 이야기로 해적식 투덜거림을 설명했다. 대화는 인사부터 작별까지 이어지는 흐름을 따르며, 처음에는 방문객에게 이웃집으로 가라며 퉁명스럽게 반응하지만 끈기 있게 말을 걸면 결국 마음을 열도록 구상했다. 특히 ‘please’는 즉시 태도를 누그러뜨릴 수 있고 ‘thank you’는 따뜻한 작별 인사로 이어지며, 한 번 호감을 얻은 방문객에게는 그 상태를 유지하는 것이 목표다. 이를 위해서는 단순히 심술궂게 말하라는 프롬프트를 넘어 실제 발언에 반응하고 만남의 상태를 추적하는 로직이 필요했다. 작성자는 약간의 저항이 캐릭터의 매력이지만, 차고 문과 끝없이 논쟁하게 만드는 것은 원하는 경험이 아니라고 설명한다.
3. Bolt E4B 선택과 LoRA를 통한 성격 조정
NVIDIA Nemotron Voice Agent는 사용할 LLM을 선택할 수 있지만, 작성자는 외부 연결 없이 자체적으로 작동하는 시스템을 원했기 때문에 메모리와 연산 예산을 고려해 12개가 넘는 모델을 시험했다. 최종 기본 응답 모델은 NVIDIA Nemotron 3.5 Bolt E4B 4GB의 4비트 양자화 버전이며, 비교용으로 BF16 체크포인트도 사용할 수 있게 했다. NVIDIA 직원인 작성자는 공개 전 Bolt E4B를 시험할 수 있었다고 밝히면서, 유력 후보였던 Qwen3 30B-A3B와 Qwen 3.6 35B-A3B보다 자원 점유가 작았다고 평가했다. 캐릭터는 Bolt의 대화 능력 위에 프롬프트·애플리케이션 로직·LoRA를 더해 만들었으며, 5,000개가 넘는 다중 턴 대화 데이터를 바탕으로 후보 모델별 어댑터를 학습했다. 데이터 생성과 평가는 로컬 에이전트와 매우 큰 LLM이 수행했고, 모델에 따라 학습에는 약 한 시간에서 두어 시간이 걸렸다. 이후 답변의 연속성·타이밍·말투와 품질·반복·속도를 평가하고 실제 음성을 들어보며, 결국 양보하되 지나치게 쾌활한 안내원으로 변하지 않는 균형을 확인했다.
4. 응답 지연을 줄이고 일곱 가지 기분을 말로 표현
MonsterHouse는 답변 전체가 완성되기 전에 말할 수 있는 텍스트부터 내보내 발화를 시작하며, 익숙한 인사와 사탕 농담에는 미리 작성한 문장과 저장된 음성을 활용한다. 작성된 문장은 새 대화 생성의 부담을 줄이고 저장된 녹음은 음성 합성을 생략하게 하며, 보고된 발화 종료부터 오디오 출력까지의 중앙값은 Bolt Q4와 TTS 조합에서 1.70초, 캐시 응답에서 0.72초다. 이 수치에는 현재 발화 종료 감지가 300ms의 무음을 기다린다는 조건이 함께 제시됐다. Magpie TTS Zeroshot은 별도의 목소리 학습 대신 짧은 참조 음성으로 영국식 영어의 해적 캐릭터 목소리를 만들며, 심술·위협부터 재미·기쁨까지 일곱 가지 기분을 표현한다. 감정마다 3~10초의 서로 다른 음성 샘플이 필요해 작성자는 도구 탭에 ‘Sample your Voice’ 기능을 추가했고, 실행 시에는 프롬프트 템플릿에 따른 LLM의 감정 태그가 각 대사의 전달 방식을 선택한다.
5. 입 모양과 관객용 음성을 분리한 두 GPU 구성
Audio2Face-3D의 기본 가중치는 지나치게 낮거나 높지 않은 깨끗하고 중립적인 남성 또는 여성 음성에 가장 잘 맞지만, 작성자가 원하는 관객용 목소리는 깊고 악마적이며 울림이 강한 소리였다. 이를 양립시키기 위해 음성을 두 경로로 나눠 깨끗한 발화는 입 애니메이션에 보내고, 별도 스트림에는 조절 가능한 실시간 음성 효과를 적용해 스피커로 출력했다. 단일 워크스테이션 안에서 NVIDIA RTX PRO 6000 Blackwell Max-Q는 언어·음성 모델 파이프라인을 맡고, NVIDIA RTX PRO 4000 Blackwell은 Unreal Engine 그래픽과 Audio2Face-3D를 처리한다. 작성자는 메모리보다 연산량이 문제라고 설명하며, 에이전트의 처리 상황과 관계없이 애니메이션의 프레임 속도를 일정하게 유지하려고 작업을 나눴다. 음성·애니메이션·효과의 동기화도 조절할 수 있으며, 작성자의 구성에서는 Audio2Face-3D 버퍼링을 보상하는 100ms 설정을 적용한 뒤 지속적인 재조정 없이 사용했다고 한다.
6. 연출과 운영을 조절하는 제어 화면
제어 화면에서는 저장된 대사를 미리 듣고 시작 기분을 바꾸며, 대화 내용을 따라가거나 음성 효과와 입 애니메이션을 조정할 수 있다. 대화·모델 선택·녹음·프롬프트·성능 모니터링·카메라 화면을 다루는 탭과 사운드보드, 사용자 지정 대사 입력란이 있으며, 모델 로딩 제어와 Unreal Engine 연결 표시도 제공한다. 불과 빛 효과는 수정 가능한 규칙으로 발화와 연결되며, 실시간 연출은 말이 시작될 때 작동하고 녹음된 공연은 저장된 타임라인을 따를 수 있어 장면을 다시 만들지 않고 분위기를 바꿀 수 있다. Live 모드는 실제 방문객을 상대하는 캐릭터를 실행하고 Demo 모드는 집이 자신의 작동 방식을 설명하게 한다. Microphone 모드는 음성 인식·대화 생성·음성 합성을 건너뛰고 작성자가 직접 집을 통해 말하게 하며, 깨끗한 목소리로 입을 움직이면서 관객에게는 효과가 적용된 소리를 들려주는 대체 운용 수단이다.
7. 의상 해석과 방문객 추적을 나눈 시각 기능
NVIDIA Nemotron 3 Nano Omni는 선택적으로 사용하는 시각언어모델로, 카메라 이미지를 해석하고 눈에 보이는 의상을 설명해 캐릭터가 구체적인 대상에 반응하도록 돕는다. 화면 안에 있는 사람의 수를 세고 이동을 추적하는 일은 YOLO와 ByteTrack에 맡겨, Omni가 매 프레임을 설명하지 않아도 집이 방문객 무리를 알아차릴 수 있게 했다. 작성자는 의상을 입은 양 다섯 마리가 문 앞에 있는 영상을 시험에 사용했고, 저장된 Omni 분석은 해적·뱀파이어·마녀·호박·유령 의상을 식별했다. 다만 이 장면은 합성 시험 영상이며, 표시된 상자와 추적 ID도 설명을 위한 것이므로 실제 할로윈 운영의 성공을 입증하는 자료는 아니다. 방문객 감지는 자동 인사를 유발하지만, 실제 진입로의 무리와 의상, 야간 조명에서는 추가 시험이 필요하고 유행하는 의상 식별과 재치 있는 응답에는 후속 학습이 필요할 수 있다고 작성자는 본다.
8. 실제 할로윈 운영까지 남은 과제
현재 MonsterHouse는 음성을 듣고 대답하며 입을 움직이고 시각적 맥락을 활용하는 구성을 갖췄지만, 작성자는 실제 방문객을 상대로 한 완전한 성능 시험이 아직 필요하다고 명시한다. 애니메이션에는 개선의 여지가 있고 사탕을 자동으로 제공하는 기능도 앞으로 구현할 대상으로 남아 있어, 처음 구상한 할로윈 전체의 자율 운영을 달성한 상태는 아니다. 원래 목표는 집이 방문객을 상대하는 동안 작성자가 가족과 함께 이웃의 할로윈 장식을 보러 나갈 수 있게 하는 것이었으며, 글은 그 목표에 아직 도달하지 못했다고 밝힌다. 따라서 합성 영상에서 얻은 의상 인식 결과와 현재의 대화 시연은 진행 상황으로 이해해야 하며, 최종적으로 지향하는 경험은 아이가 심술궂은 집을 만나 작은 친절로 마음을 열게 만드는 상호작용이다.
🧾 핵심 주장 / 시사점
- MonsterHouse의 성격은 모델 하나의 출력보다 대화 상태·프롬프트·LoRA·감정별 음성·시각 연출이 함께 만드는 결과다. 친절에 반응하면서도 심술을 유지하려는 목표가 각 구성 요소의 조정 기준이 된다.
- 응답 속도 개선에는 모델 선택뿐 아니라 생성 자체를 생략하는 문장 재사용과 음성 캐시가 기여한다. 1.70초와 0.72초의 중앙값은 이 두 실행 경로의 차이를 보여주지만, 현재의 300ms 무음 감지 조건도 함께 고려해야 한다.
- 깨끗한 음성과 관객용 효과 음성, 의상 설명과 사람 추적을 각각 분리한 설계는 서로 다른 처리 요구를 다루는 방식이다. 다만 이러한 구성의 실제 운영 완성도는 방문객과 야간 조명 조건에서 추가로 확인해야 한다.
✅ 액션 아이템
- 실제 방문객·의상·야간 조명에서 NVIDIA Nemotron 3 Nano Omni와 YOLO·ByteTrack의 동작 및 전체 상호작용 검증 필요.
- Bolt E4B와 LoRA의 연속성·말투·반복·속도를 평가하며, 예의 표현에 반응하고 방문 상태를 유지하는 대화 흐름 점검.
- 1.70초·0.72초의 응답 지연과 100ms 동기화 보정을 실제 운영에서 확인하고, 애니메이션 개선 및 자동 사탕 제공의 미완료 상태 점검.
❓ 열린 질문
- 실제 방문객·의상·야간 조명에서도 NVIDIA Nemotron 3 Nano Omni와 YOLO·ByteTrack이 의도한 방문객 인식과 상호작용을 지원할 수 있는가?
- Bolt E4B와 LoRA는 다양한 대화에서도 ‘please’와 ‘thank you’에 반응하면서 심술궂은 성격과 방문 상태를 일관되게 유지하는가?
- 실제 할로윈 환경에서 1.70초·0.72초의 응답 지연과 애니메이션 동기화가 어느 수준으로 유지되며, 자동 사탕 제공까지 구현해 자율 운영 목표에 도달할 수 있는가?