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音声をすぐ返し、interrupt も扱えるようにした。
- 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 builder にとって重要なのは、ローカルvoice agentが「デモでは動く」から「会話で使える」に近づいている点だ。この投稿は、speech-to-speech の難所が単なるモデル品質ではなく、streaming、buffering、interrupt、そして音声ループ全体の体感設計にあることをよく示している。
Related Articles
r/LocalLLaMAの新しい投稿は、M5 MaxとMLX 0.31.1上でのDFlash speculative decodingを公開し、Qwen3.5-9Bで127.07 tok/s、4.13xのspeedupを報告した。重要なのは派手な数字より、再現条件とbandwidth bottleneckの解釈が具体的な点だ。
LocalLLaMAの実装報告は、Apple Silicon向けnative MLX DFlash runtimeがQwen系inferenceを複数条件で2倍から3倍以上高速化すると主張する。注目点はspeedupだけでなく、greedy baselineとbit-for-bit identical outputを維持したと説明しているところだ。
March 28, 2026 の r/LocalLLaMA 投稿は、TurboQuant の KV cache compression を MLX と custom Metal kernel に持ち込んだ実装記録として注目を集めた。投稿者は Qwen2.5-32B on M4 Pro 48GB で 4.6x compression と 0.98x FP16 speed を示したが、repo README の 7B 数値はより保守的で、実益が model と integration detail に強く依存することも見えている。
Comments (0)
No comments yet. Be the first to comment!