Dia2
Nari Labs가 개발한 Dia2는 스트리밍 방식의 대화형 텍스트 음성 합성(Text-to-Speech) 모델이다. GPT가 텍스트 한 토큰씩 생성하듯, Dia2는 입력 텍스트의 첫 몇 단어만 주어져도 즉시 오디오 생성을 시작하는 스트리밍 아키텍처를 채택했다. 1B와 2B 두 가지 파라미터 규모로 제공되며, Kyutai의 Mimi 오디오 코덱 위에 구축되어 Google의 SoundStorm 연구에서 영감을 받은 병렬 디코딩 구조를 활용한다.
Nari Labs가 개발한 Dia2는 스트리밍 방식의 대화형 텍스트 음성 합성(Text-to-Speech) 모델이다. GPT가 텍스트 한 토큰씩 생성하듯, Dia2는 입력 텍스트의 첫 몇 단어만 주어져도 즉시 오디오 생성을 시작하는 스트리밍 아키텍처를 채택했다. 1B와 2B 두 가지 파라미터 규모로 제공되며, Kyutai의 Mimi 오디오 코덱 위에 구축되어 Google의 SoundStorm 연구에서 영감을 받은 병렬 디코딩 구조를 활용한다. 기존 TTS 모델 대부분은 전체 텍스트를 먼저 입력받아야 오디오를 생성할 수 있었다. 실시간 대화 시스템이나 인터랙티브 응용에서는 이 지연(latency)이 치명적 병목이 된다. Dia2는 이 한계를 스트리밍 생성으로 돌파한다. [S1]과 [S2] 화자 태그로 다중 화자 대화를 자연스럽게 스크립팅하고, 웃음, 기침, 한숨, 헐떡임 같은 비언어적 발화(non-verbal vocalization)까지 생성한다. 오디오 프리픽스(prefix audio)를 조건으로 주면 특정 화자의 음색과 감정 톤을 복제(voice cloning)할 수 있어, 매 생성마다 달라지는 랜덤 음성 문제를 해결한다. 생명공학 연구 맥락에서 Dia2는 실험 프로토콜의 오디오 가이드 자동 생성에 활용할 수 있다. 예를 들어 세포 배양 프로토콜 텍스트를 [S1] 지시자와 [S2] 확인자 두 화자 대화 형태로 변환하면, 클린벤치 작업 중 핸즈프리로 단계별 안내를 청취할 수 있다. 또한 환자 교육 자료, 논문 팟캐스트 변환, 다국어 연구 발표 리허설 등 음성 콘텐츠가 필요한 연구 커뮤니케이션 전반에서 영어 기반 고품질 대화 음성을 빠르게 프로토타이핑할 수 있다. 최대 2분 분량의 영어 오디오를 생성하며, CUDA 그래프 최적화와 RotaryEmbedding 캐싱으로 추론 속도를 지속 개선하고 있다.
💻 필요한 컴퓨터 사양
NVIDIA GPU CUDA 12.8+ 필수. 2B 모델 bfloat16 기준 약 6-10GB 추정, 1B 모델 약 4-6GB 추정 (공식 수치 미발표, 원본 Dia 1.6B 기준 bf16 ~4.4GB / fp32 ~7.9GB 참고)
2B 모델 체크포인트 약 4GB (fp32 기준), 1B 모델 약 2GB, 의존성 포함 전체 ~6-8GB
⚡ 설치법
### 4-1. Quick Start
```bash
# uv 패키지 매니저 설치 (미설치 시)
curl -LsSf https://astral.sh/uv/install.sh | sh
# 레포 클론 + 의존성 동기화
git clone https://github.com/nari-labs/dia2.git
cd dia2
uv sync
```
### 4-2. 기본 사용법
```bash
# CLI로 대화 음성 생성 (2B 모델)
uv run -m dia2.cli \
--hf nari-labs/Dia2-2B \
--input input.txt \
--cfg 6.0 --temperature 0.8 \
--cuda-graph --verbose \
output.wav
```
```bash
# 음성 복제 — 프리픽스 오디오 조건부 생성
uv run -m dia2.cli \
--hf nari-labs/Dia2-2B \
--input input.txt \
--prefix-speaker-1 example_prefix1.wav \
--prefix-speaker-2 example_prefix2.wav \
--cuda-graph --verbose \
output_conditioned.wav
```
```python
# Python API
from dia2 import Dia2, GenerationConfig, SamplingConfig
dia = Dia2.from_repo("nari-labs/Dia2-2B", device="cuda", dtype="bfloat16")
config = GenerationConfig(
cfg_scale=2.0,
audio=SamplingConfig(temperature=0.8, top_k=50),
use_cuda_graph=True
)
result = dia.generate(
"[S1] Hello Dia2!",
config=config,
output_wav="hello.wav",
verbose=True
)
```🧬 바이오 활용
실험 프로토콜 오디오 가이드**
세포 배양·시약 준비 등 실험 프로토콜을 [S1] 지시자 / [S2] 확인자 대화로 변환, 클린벤치·후드 작업 중 핸즈프리 청취. cfg_scale=6.0, temperature=0.7로 또렷한 발화 생성, 오디오 프리픽스로 익숙한 음성 톤 고정.
논문 팟캐스트 자동 변환**
연구 논문 Abstract·Discussion을 두 연구자 토론 형태로 스크립팅 후 Dia2로 변환. 2분 분량 오디오 생성 → 통근길·러닝 중 청취용 논문 소화. 비언어 발화(감탄, 동의 추임새)로 자연스러운 대화감 확보.
환자 교육 음성 콘텐츠**
유전자 검사 결과 설명, 임상시험 동의서 요약 등을 환자 친화적 대화체로 변환. 음성 복제로 담당 의료진 음색 유지, 신뢰도 높은 교육 자료 제작. 1B 모델로 빠른 프로토타이핑 후 2B 모델로 최종 품질 확보.
📝 업데이트 노트
아직 업데이트 노트가 없습니다.
🧪 관련 생명의 코드
관련된 생명의 코드 글이 아직 없습니다.