LocalLLaMA가 주목한 Parlor, Gemma 4 E2B로 구현한 실시간 로컬 음성·비전 assistant

LocalLLaMA의 데모 글은 “실시간 AI”가 더 이상 대형 서버 전용 기능만은 아니라는 점을 잘 보여 준다. 게시글이 연결한 Parlor는 음성 입력과 카메라 프레임을 받아, Gemma 4 E2B가 이해하고 Kokoro TTS가 다시 음성으로 응답하는 구조를 전부 로컬 머신에서 처리한다. 작성자는 Apple M3 Pro에서 이 구성이 실제로 돌아간다고 설명한다.

README를 보면 아키텍처는 비교적 단순하다. 브라우저가 microphone과 camera에서 PCM audio와 JPEG frame을 받아 WebSocket으로 FastAPI 서버에 전달하고, 서버는 LiteRT-LM을 통해 Gemma 4 E2B를 실행해 speech와 vision을 함께 해석한다. 이후 Kokoro TTS가 문장 단위로 음성을 생성해 다시 브라우저로 스트리밍한다. 여기에 browser-side Voice Activity Detection, barge-in, sentence-level TTS streaming까지 포함되어 있어 체감 반응성이 꽤 높다.

온디바이스 실용성에 가까워진 수치

프로젝트가 흥미로운 이유는 단순한 데모 영상보다 공개된 성능 지표에 있다. 저장소는 Apple M3 Pro 기준으로 speech + vision understanding에 약 1.8~2.2초, 약 25 tokens의 response generation에 약 0.3초, TTS에 약 0.3~0.7초가 걸린다고 적고 있다. 전체 end-to-end latency는 2.5~3.0초 수준이며, decode speed는 약 83 tokens/sec다. 요구 사양도 상대적으로 낮다. Python 3.12 이상, Apple Silicon 또는 지원되는 Linux GPU, 그리고 모델용으로 약 3GB RAM이 필요하다고 정리돼 있다.

물론 README는 이 프로젝트를 “research preview”로 규정하며 거친 부분과 버그 가능성을 분명히 적어 둔다. 하지만 그 한계를 감안해도 시사점은 크다. 예전에는 이런 음성 assistant 데모가 대형 GPU 서버나 막대한 API 비용을 전제로 했는데, 이제는 소형 multimodal model과 경량 TTS 조합으로 개인 기기에서도 충분히 시도해 볼 수 있다는 점이 드러난다.

언어 학습과 edge AI 실험에 맞는 방향

작성자가 강조하듯 이 구성이 곧바로 agentic coding을 대체하는 것은 아니다. 대신 언어 학습, 현장 설명, 카메라 기반 보조도구처럼 빠른 왕복 응답이 중요한 사용 사례에는 훨씬 현실적인 그림을 보여 준다. LocalLLaMA 커뮤니티가 이 프로젝트에 반응한 이유도 여기에 있다. “작은 모델은 데모만 된다”는 인식을 넘어, 실제 상호작용형 product의 시작점이 될 수 있다는 점을 구체적인 수치와 오픈소스 코드로 보여 주기 때문이다.

또한 이 프로젝트는 small multimodal model의 가치가 단순 benchmark 순위가 아니라 시스템 통합에서 드러난다는 점을 잘 보여 준다. 모델, TTS, 브라우저 오디오 처리, 스트리밍 UX를 한 번에 묶어야 비로소 사용자 경험이 만들어진다는 사실을 실제 구현으로 확인시켜 준다.