nVIDIA PersonaPlex 구현
PersonaPlex는 NVIDIA에서 발표한 Full-Duplex(전이중) 방식의 음성-음성(Speech-to-Speech) 대화형 AI 모델입니다.
기존의 ASR → LLM → TTS를 하나로 합친 모델로, 끊김 없는 자연스러운 대화가 특징입니다.
코랩(Colab) 환경에서 이 모델을 간단히 구동 테스트하는 방법은 다음과 같습니다.
◈ PersonaPlex 소개

1. PersonaPlex 소개
실시간 음성 대화 AI는 최근 빠르게 발전하고 있지만, 기존 시스템들은 대부분 대화 참여자 한 쪽이 말하는 동안 상대방이 기다려야 하는 반이중(half-duplex) 방식으로 동작합니다. 사람과 사람 간의 자연스러운 대화에서는 서로가 동시에 말하거나 반응할 수 있는 전이중(full-duplex) 방식이 기본인데, 이를 AI로 구현하는 것은 지연 시간, 화자 분리, 맥락 유지 등 여러 기술적 도전이 동반됩니다. NVIDIA Research의 ADLR(Applied Deep Learning Research) 팀은 이 문제에 정면으로 도전하여, 낮은 지연 시간으로 실시간 양방향 음성 대화를 지원하는 PersonaPlex를 개발하고 오픈소스로 공개하였습니다.
PersonaPlex는 Moshi 아키텍처를 기반으로 하는 7B 파라미터 규모의 음성 대화(Speech-to-Speech) 모델입니다. Moshi는 풀-듀플렉스 음성 대화를 위해 설계된 파운데이션 모델로, PersonaPlex는 여기에 Helium LLM 백본(backbone)을 결합하여 캐릭터 일관성과 다양한 페르소나 제어 기능을 추가합니다. 특히 텍스트 기반 역할 프롬프트(role prompt)와 오디오 기반 음성 컨디셔닝(voice conditioning)을 동시에 활용하여, 같은 모델이 교사, 고객 서비스 담당자, 캐주얼한 대화 상대 등 다양한 역할을 자연스럽게 수행할 수 있습니다. 이 연구는 2026년 arXiv에 게재되었으며(arXiv:2602.06053), GitHub에 공개된 이후 7,800개 이상의 스타를 받으며 주목받고 있습니다.
PersonaPlex는 합성 대화(synthetic conversations)와 Fisher English Corpus의 실제 대화 데이터를 혼합하여 학습되었습니다. 합성 데이터는 고정된 어시스턴트 역할과 다양한 고객 서비스 시나리오를 포함하며, 실제 대화 데이터는 LLM이 자동으로 레이블링한 프롬프트와 함께 사용됩니다. 이러한 훈련 전략을 통해 모델은 학습 분포를 벗어난 새로운 역할과 주제에도 어느 정도 유연하게 대응할 수 있는 일반화 능력을 갖추게 됩니다.
2. PersonaPlex의 기존 음성 AI와 비교
| 특징 | PersonaPlex | 전통적 파이프라인 (STT_LLM+TTS) |
Moshi |
| 통신 방식 | 풀-듀플렉스 (실시간 양방향) | 반이중 (순차 처리) | 풀-듀플렉스 |
| 지연 시간 | 저지연 | 높음 (파이프라인 누적) | 저지연 |
| 페르소나 제어 | 텍스트 + 음성 컨디셔닝 | 텍스트 프롬프트만 | 제한적 |
| 음성 선택 | 16개 사전 제공 음성 | TTS 엔진 의존 | 제한적 |
| 파라미터 수 | 7B | 분리된 여러 모델 | 7B |
| 오픈소스 | (MIT 코드, NVIDIA Open 가중치) | 다양 |
기존의 STT(Speech-to-Text) → LLM 추론 → TTS(Text-to-Speech)로 이어지는 파이프라인 방식은 각 단계에서 지연이 누적되어 자연스러운 실시간 대화가 어렵습니다. PersonaPlex는 이 세 단계를 단일 End-to-End 모델로 통합하여 지연을 최소화하며, 동시에 사용자가 말하는 동안에도 모델이 반응할 수 있는 진정한 풀-듀플렉스 경험을 제공합니다.

3. PersonaPlex의 주요 특징

• 텍스트 기반 페르소나 제어: 텍스트 역할 프롬프트를 통해 모델의 성격과 역할을 동적으로 설정할 수 있습니다. "당신은 현명하고 친근한 교사입니다. 명확하고 흥미로운 방식으로 질문에 답하거나 조언을 제공하세요."와 같은 프롬프트를 통해 어시스턴트의 행동 방식을 세밀하게 조정할 수 있으며, 고객 서비스, 캐주얼 대화, 특정 주제 전문가 등 다양한 시나리오에 맞게 역할을 바꿀 수 있습니다.
• 오디오 기반 음성 컨디셔닝: 16개의 사전 제공 음성 임베딩(NATF0~3, NATM0~3, VARF0~4, VARM0~4)을 통해 음성의 특성을 선택할 수 있습니다. 자연스러운(Natural) 카테고리와 다양한(Variety) 카테고리로 나뉘며, 각각 남성/여성 음성을 포함합니다. 음성 임베딩과 텍스트 프롬프트를 조합하면 같은 페르소나를 다른 음성으로 표현하거나 다른 페르소나를 같은 음성으로 제어하는 등 세밀한 조합이 가능합니다.
• CPU 오프로딩: GPU 메모리가 제한적인 환경을 위해 모델 레이어를 GPU와 CPU에 분산하는 CPU 오프로드(CPU offload) 모드를 지원합니다. accelerate 패키지를 추가 설치하면 --cpu-offload 플래그만으로 활성화할 수 있어, 소비자 GPU 환경에서도 PersonaPlex를 실행할 수 있습니다.
• 오프라인 평가 모드: 실시간 서버 없이 사전 녹음된 WAV 파일을 입력으로 받아 출력 음성을 생성하는 오프라인 평가 모드도 제공됩니다. 이를 통해 다양한 프롬프트와 음성 조합을 실험하거나 재현 가능한 벤치마크를 수행할 수 있습니다.
4. PersonaPlex 설치 및 사용법
사전 요구사항
Opus 오디오 코덱 라이브러리를 먼저 설치해야 합니다:
설치
Hugging Face에서 nvidia/personaplex-7b-v1 모델의 라이선스를 먼저 수락해야 다운로드가 가능합니다.
실시간 서버 실행
서버가 시작되면 브라우저에서 https://localhost:8998에 접속하여 실시간 음성 대화를 바로 체험할 수 있습니다. 원격 서버에서 실행 중이라면 해당 서버의 IP와 포트로 접근합니다.
오프라인 평가
출력 JSON 파일에는 생성된 텍스트 전사(transcription)가 포함되어, 음성 출력과 함께 텍스트 내용도 확인할 수 있습니다.
라이선스
PersonaPlex의 코드는 MIT 라이선스로 공개되어 있어 자유롭게 사용 및 수정이 가능합니다. 단, 모델 가중치는 NVIDIA Open Model License가 적용되므로 상업적 활용 전에 해당 라이선스 조건을 별도로 확인해야 합니다.

PersonaPlex 인터랙티브 데모
NVIDIA ADLR – 15 Jan 26
NVIDIA PersonaPlex: Natural Conversational AI With Any Role and Voice
We introduce PersonaPlex, a full-duplex conversational AI model that enables natural conversations with customizable voices and roles. PersonaPlex handles interruptions and backchannels while maintaining any chosen persona, outperforming existing...

PersonaPlex 논문
arXiv.org
PersonaPlex: Voice and Role Control for Full Duplex Conversational Speech Models Recent advances in duplex speech models have enabled natural, low-latency speech-to-speech interactions. However, existing models are restricted to a fixed role and voice, limiting their ability to support structured, role-driven real-world...
PersonaPlex 프로젝트 GitHub 저장소

PersonaPlex 모델 다운로드

nvidia/personaplex-7b-v1 · Hugging Face
We’re on a journey to advance and democratize artificial intelligence through open source and open science.
출처: https://discuss.pytorch.kr/t/personaplex-nvidia/9613/1
1. 사전 준비 (Hugging Face)
PersonaPlex는 NVIDIA의 라이선스 동의가 필요하므로, Hugging Face 계정이 있어야 합니다.
- NVIDIA PersonaPlex-7B-v1 페이지에서 라이선스에 동의합니다.
- Hugging Face Settings에서 Access Token을 생성합니다.
- 코랩 왼쪽 메뉴의 '열쇠(Secrets)' 아이콘을 눌러 HF_TOKEN이라는 이름으로 토큰을 추가합니다.
2. 코랩 구동 코드 (핵심 단계)
코랩 런타임 유형을 GPU(L4 또는 A100 추천)로 설정한 뒤 아래 단계를 실행하세요. (7B 모델이므로 최소 24GB VRAM을 권장하지만, T4에서는 메모리 부족이 발생할 수 있으니 유의하세요.)
Step 1: 환경 설치
PersonaPlex는 내부적으로 Moshi 엔진을 사용하므로 관련 라이브러리를 설치해야 합니다.
Step 2: 모델 로드 및 오프라인 테스트
전이중 모델이지만, 코랩에서는 간단한 오프라인 턴(Single Turn) 생성 방식으로 먼저 테스트하는 것이 편리합니다.
3. 주요 테스트 포인트 (엔지니어 관점)
- 메모리 관리: 7B 모델은 로드 시 메모리 스파이크가 발생할 수 있습니다. 위 스니펫처럼 CPU에서 먼저 로드 후 GPU(model.to('cuda'))로 넘기는 방식을 사용하세요.
- 보이스 컨디셔닝: voice_prompt로 사용할 오디오 토큰 시퀀스에 따라 모델의 말투와 음색이 바뀝니다. 다양한 보이스 프롬프트를 적용해 보세요.
- 실시간성 확인: 코랩은 웹 기반이라 실시간 오디오 스트리밍 입력(Barge-in 등)을 테스트하기엔 한계가 있습니다. 실제 보드(i.MX8MP 등)에 올리기 전, 추론 속도(Latency) 측정 위주로 테스트하시길 권장합니다.
4. 주의사항 (Embedded 연동 관련)
PersonaPlex는 현재 7B 규모로 꽤 무겁습니다. i.MX8MP의 NPU(2.3 TOPS)에서 이 모델을 직접 돌리는 것은 사실상 불가능하며, 8MP에서는 Conformer급 모델을 유지하고 PersonaPlex는 클라우드 서버에서 구동하여 AAOS와 통신하는 구조가 더 적합할 것입니다.
I Built a One-Click Installer for NVIDIA Personaplex (Windows) 이 영상은 Windows 환경에서의 빠른 설치를 다루고 있지만, 모델의 전체적인 작동 방식과 NVIDIA PersonaPlex의 특징을 이해하는 데 큰 도움이 됩니다.
혹시 코랩에서 모델 로드 중 메모리 부족(OOM) 에러가 발생하나요? 그렇다면 가벼운 0.6B 규모의 nemotron-speech 모델로 테스트 방향을 선회하는 것도 방법입니다.
'AI : : ML-DL : : Data Science' 카테고리의 다른 글
| TFLite란 (0) | 2026.04.17 |
|---|---|
| ML에서 에포크(Epoch): 의미, 역할, 그리고 머신러닝에서 중요한 이유 (0) | 2026.02.04 |
| 영상 누끼 직접 따지 마세요! [펌글] (1) | 2024.11.06 |
| 피드 포워드 네트워크 (Feed-Forward Network, FFN) (0) | 2024.09.27 |