Apple Silicon에서 Swift/MLX로 구동한 Nvidia PersonaPlex 7B, 실시간 음성 에이전트에 한 걸음 더 다가가다
Original: Nvidia PersonaPlex 7B on Apple Silicon: Full-Duplex Speech-to-Speech in Swift View original →
Hacker News 토론: https://news.ycombinator.com/item?id=47258801
원문: Ivan Campos의 PersonaPlex 7B 포팅기
이번 HN 글은 단순한 benchmark 차트보다 더 실용적인 실험을 가리킨다. NVIDIA Research의 PersonaPlex 7B speech-to-speech 스택을 MLX를 통해 Apple Silicon 위에서 native Swift로 돌리는 작업이다. PersonaPlex가 흥미로운 이유는 그것이 단순한 speech-to-text + text-to-speech 연결이 아니라 full-duplex 음성 상호작용을 겨냥한 모델이기 때문이다. 그리고 이 글이 더 유용한 이유는, 그 구성을 로컬 머신에서 실제로 쓸 만하게 만들기 위해 무엇을 바꿨는지에 초점을 맞추기 때문이다.
포팅에서 바뀐 점
- 0.5초마다 오디오를 내보내는 heartbeat chunking을 넣어 dead air와 문장 끝 반복을 줄였다.
- passthrough mode와 realtime preview를 추가해 assistant 음성이 바로 들리기 시작하고 interruption도 가능하게 했다.
- audio stack을 ring buffer, dynamic chunk dropping, session 관리 중심으로 다시 짜 multi-user·multi-agent 구성까지 염두에 두었다.
작성자에 따르면 초기 포트는 3~4초 수준의 latency에 묶여 있어 자연스러운 turn-taking에는 너무 느렸다. 파이프라인을 손본 뒤에는 M4 Pro 데모에서 1.5B encoder 단계부터 incremental audio output까지 약 1.3x real time, 사용자 발화 종료 시점부터 assistant 음성 시작까지는 대략 0.4 latency factor 수준에 도달했다고 한다. 남은 약점은 turn detection이다. 기존 Python reference 환경에서 쓰던 voice activity logic을 Swift 쪽에서 더 다듬을 필요가 있다는 설명이다.
AI 빌더 관점에서 중요한 이유는 분명하다. 로컬 voice agent가 이제 “데모에서는 된다” 수준에서 “대화에 쓸 만하다”는 쪽으로 이동하고 있기 때문이다. 이 글은 speech-to-speech 시스템의 난점이 모델 품질만이 아니라 streaming, buffering, interruption, 그리고 전체 audio loop의 사용감에 있다는 점을 잘 보여준다.
Related Articles
Launch HN 스레드는 RunAnywhere의 MetalRT와 RCLI를 끌어올리며, Apple Silicon에서 STT·LLM·TTS를 클라우드 없이 엮는 저지연 음성 AI 파이프라인에 관심을 모았다.
Launch HN 스레드로 RunAnywhere의 RCLI가 부각됐다. 이 프로젝트는 Apple Silicon에서 STT, LLM, TTS, 로컬 RAG, 38개 macOS action을 모두 로컬로 묶어 macOS용 Voice AI를 구축하려는 시도다.
높은 점수를 받은 LocalLLaMA 글은 16GB M1 Pro에서 Qwen 3.5 9B가 memory recall과 기본 tool calling을 실제 agent 작업에 쓸 만큼 처리했지만, creative reasoning은 여전히 frontier model보다 뒤처졌다고 전했다.
Comments (0)
No comments yet. Be the first to comment!