이 요약은 AI가 원문을 분석해 생성했습니다. 정확한 내용은 원문 기준으로 확인하세요.
TL;DR
MichiAI는 conversational speech dataset과 135M SmoLLM backbone을 결합해 자연스러운 음성 생성과 실시간 대화를 목표로 만든 base model입니다. breaths, mouth clicks, laughter 같은 자연스러운 음성 잔여물을 제거하지 않고 학습 데이터에 포함했으며, Mimi decoder에서 영감을 받은 pure adversarial training으로 금속성 buzz를 없앴습니다. Python overhead를 줄이고 graph break 없이 end-to-end compilation이 가능하도록 추론 코드를 최적화해 streaming을 매끄럽게 만들었습니다. Full-Duplex 구조는 상대방의 발화가 끝나기 전 응답하는 overlap과 대화 중 ‘uh-huh’ 같은 backchanneling을 별도 규칙 없이 생성하지만, 실제 서비스에는 추가 Fine-tuning과 web client가 필요합니다.
섹션별 상세
MichiAI는 기존 음성 모델이 breaths, mouth clicks, laughter 같은 소리를 noise로 간주해 제거하면서 지나치게 매끄럽고 audiobook 같은 음성을 만들 수 있다는 문제에서 출발했습니다. 이 모델은 이런 자연스러운 음성 잔여물을 데이터에서 보존하고 모델과 학습 pipeline이 이를 처리하도록 구성했습니다. 사전학습 지식을 잘 전이한 덕분에 이번에는 massive dataset 없이도 현실적인 음성을 얻었으며, pure adversarial training으로 전환해 기존의 metallic buzz까지 제거했습니다.
학습 과정에서는 conversational speech dataset을 사용하되 zero-coherence loss regimen을 유지해 backbone의 language capabilities를 보존했습니다. 개발 반복 속도를 높이기 위해 135M SmoLLM backbone을 선택했고, 주로 1x RTX 4090에서 학습하면서 특정 실행에는 2x A6000s를 활용했습니다. 작은 backbone과 제한된 하드웨어에서도 의미 있는 개발이 가능했다는 점이 이 구성의 핵심입니다.
초기 inference 구현은 Python overhead가 커서 realtime streaming에서 문제가 발생했지만, 코드를 refactor하고 graph breaks 없이 모델 전체를 compile할 수 있도록 최적화했습니다. 이 변경으로 GPU utilization이 높아지고 streaming inference가 더 매끄러워졌습니다. 입력 audio를 frame by frame으로 전달하고 출력을 실시간 생성하는 구조를 통해 두 화자 샘플과 live interaction을 위한 기반을 마련했습니다.
MichiAI는 1~2초의 silence를 기다리는 hardcoded Voice Activity Detection 규칙 대신 Full-Duplex 모드에서 학습된 대화 패턴에 따라 응답 시점을 결정합니다. 상대방이 발화를 마치기 직전에 응답하는 overlap을 구현해 사람의 대화처럼 turn transition을 부드럽게 만들며, LibriTTS 화자 음성으로 생성한 샘플에서 이 동작을 확인할 수 있습니다. 응답 지연이 짧아야 overlap의 자연스러움이 유지된다는 점도 실시간 음성 시스템의 중요한 조건입니다.
사용자가 말하는 동안 ‘uh-huh’, ‘yeah’, ‘I see’ 같은 짧은 backchanneling을 생성해 active listening 신호와 즉각적인 피드백을 제공합니다. 기존 heuristic rule과 일반 TTS 조합이 정해진 단어 목록과 부족한 conversational context 때문에 어색해질 수 있는 반면, MichiAI는 single-word acknowledgment와 short conversational phrase를 동적으로 생성합니다. laughter, sighs, gasps 같은 non-verbal sound도 표현하지만 base model을 실제 downstream application에 쓰려면 추가 Fine-tuning이 필요합니다.
아키텍처는 두 명을 넘는 multi-speaker support와 function calling도 지원하도록 구성되어 있습니다. 다만 고품질 multi-speaker dataset이 없어 다화자 기능은 아직 검증하지 못했고, function calling은 text-only data에 의존하므로 음성 데이터보다 dataset curation이 쉬울 것으로 보입니다. 다음 단계는 정적 audio file 중심의 현재 샘플을 넘어 사용자가 웹에서 모델과 직접 실시간으로 대화할 수 있는 web client를 구축하는 일입니다.
용어 해설
- Full-Duplex
- — Full-Duplex는 사용자의 입력이 끝날 때까지 기다리지 않고 음성 입력과 출력을 동시에 처리하는 통신 방식입니다. MichiAI는 이 구조를 통해 상대방의 발화가 끝나기 직전에 응답을 시작하거나 대화 중 짧은 추임새를 생성합니다. 실시간 상호작용에서는 응답 지연을 줄이고 사람과 유사한 대화 흐름을 만드는 데 중요합니다.
- Backchanneling
- — Backchanneling은 대화 상대가 말하는 동안 ‘uh-huh’, ‘yeah’, ‘I see’처럼 짧은 반응을 보내 적극적으로 듣고 있음을 알리는 행동입니다. 완전한 발화 차례를 차지하지 않으면서 피드백을 제공하고 자연스러운 차례 전환을 돕습니다. MichiAI는 별도 Prompt나 규칙 없이 대화 음성 데이터에서 이 패턴을 학습합니다.
- Zero-Coherence Loss
- — Zero-Coherence Loss는 사전학습된 언어 모델의 언어 능력을 유지하면서 새로운 음성 데이터로 학습하기 위한 손실 설계입니다. 이 글에서는 135M SmoLLM backbone이 conversational speech dataset을 학습할 때 기존 언어 능력의 손상을 억제하는 데 사용됩니다. 작은 모델로도 개발에 의미 있는 결과를 얻도록 돕는 방식입니다.
- Adversarial Training
- — Adversarial Training은 생성 결과와 실제 데이터의 차이를 판별하는 경쟁 구조를 이용해 모델 출력을 개선하는 학습 방식입니다. MichiAI는 Mimi decoder에서 영감을 받아 순수 adversarial training으로 전환했고, 음성에 남아 있던 금속성 buzz를 제거했습니다. 그 결과 생성 음성이 ground-truth 품질에 가까워졌다고 보고합니다.
- Voice Activity Detection
- — Voice Activity Detection은 음성 구간과 무음 구간을 구분해 시스템의 응답 시점을 정하는 기술입니다. 기존 방식은 1~2초의 침묵을 기다린 뒤 응답하도록 규칙을 둘 수 있지만, MichiAI는 고정된 VAD 규칙 대신 Full-Duplex 동작과 학습된 대화 패턴으로 발화 시점을 결정합니다. 이 차이가 겹쳐 말하기와 자연스러운 응답에 영향을 줍니다.
기술
- MichiAI
- Mimi decoder
- SmoLLM
- LibriTTS
- ElevenLabs TTS
- Python
- RTX 4090
- A6000
- Voice Activity Detection
활용 사례
- 실시간 음성 대화
- 자연스러운 overlap 응답
- 대화 중 backchanneling
- 비언어적 음성 표현
- 다화자 음성 상호작용
- 음성 기반 Function Calling
AI 분석 전체 내용 보기
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
원문 발행 2026. 09. 04.수집 2026. 09. 04.출처 타입 RSS
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.