本地LLM模型之所以出色,正是因为它们是本地的,而对于我们这些使用普通硬件的普通人来说,通常也就仅此而已。但是,我有个惊喜。NVIDIA最新的语音模型给人的感觉并非如此。它让人惊艳,纯粹是因为它本身够惊艳,跟用什么设备跑没关系。它是在我本地硬件上跑的,这让我更惊讶,但惊讶的根本原因不是这个。

我可以描述它,但我觉得最好还是你自己亲眼看看。

PersonaPlex是一个全双工语音模型

NVIDIA最近一直在发力

NVIDIA最近一直在发力

我说“最新”,其实已经有点晚了。PersonaPlex于2026年1月发布,是一个70亿参数的全双工语音模型。我要强调的是“全双工”和“语音模型”这两个词。它不是什么文本转语音、语音转文本或者文本模型,也不是这些的组合。它是一个语音模型。一个开箱即用、你可以直接跟它说话的模型。

许多AI助手提供“实时”或“语音”模式,但这些通常只是在纯文本LLM外面套了一层工具。也就是说,你先说话,模型把你的话转成文字,发给LLM,LLM用文字回复,再用语音模型把回复转成音频播出来。这不是对话的运作方式。咱们人说话的时候,不会先写好了再念出来。别人跟咱们说话的时候,咱们也不会先把话转成文字再去想。不是的,咱们脑子里直接就是声音。

全双工语音模型是最接近真实对话的东西。PersonaPlex持续处理两个音频流(你的和它自己的),同时还在内部预测自己该怎么回应。ChatGPT新的实时模式也是这么干的——我稍后会详细讨论。

在底层,PersonaPlex基于Moshi,这是Kyutai的一个开放全双工语音模型。Moshi使用一种名为Mimi的神经音频编解码器,以每秒12.5帧的速度将语音压缩为token。然后用一个大的时序Transformer来建模对话,再用一个小的深度Transformer处理每帧里的音频码。

NVIDIA 所做的是对基础模型进行微调,以实现可控的角色和声音。你提供一个文本提示来描述模型应该扮演谁,再加上一段简短的语音样本。附带的演示可以变成老师、客服人员,或者宇航员 Alex。

跑起来出乎意料地简单

跑起来出乎意料地简单

拉取代码、创建虚拟环境、运行

拉取代码、创建虚拟环境、运行

当然,有一些设置步骤,但现在一条命令就能完成配置,简直是最好的时代。你需要代码仓库、PyTorch、Opus 音频库、Hugging Face 上的权重访问权限,以及一个允许麦克风权限的浏览器。然后服务器会下载模型并启动一个本地网页界面。NVIDIA 在 GitHub 仓库中提供了这些命令。

首次运行时,应用会下载模型,大小约为 9GB。完成后,它会先做预热加载,并给你一个可以访问的网址。

打开页面,选一个音色,写一段人设描述,然后开始说话。没有 API 账户,也没有按分钟计费。一旦权重下载完成,对话数据就留在你自己的电脑上。

浏览器只允许在安全环境下访问麦克风,这通常意味着页面必须使用 HTTPS。因此,PersonaPlex 的启动命令会为网页界面生成一个临时的自签名 SSL 证书。你的浏览器会警告该证书不受信任,但只要你连的是自己的 PersonaPlex 服务器,就可以放心继续。如果你已经配置好了 SSL 证书,可以跳过这个临时证书步骤。

在我的 RTX 3090 上,标准的 BF16 实现大约使用 19GB 显存,运行非常流畅,而且是实时的。19GB 确实不小,但离超级计算机的门槛还差得远。一张二手的 3090 就能运行一个端到端的对话语音模型,放在不久前,这还像是科幻片里才有的研究演示。

不过,我说过你可以在 8GB 上运行它,对吧?话是这么说,可官方的 PyTorch 实现照样得靠大显存 GPU。但是,社区项目已经加入了 8 位和 4 位量化,支持 8–16GB 显存,PersonaPlex ComfyUI 集成等项目已经报告了这一进展。还有 moshi.cpp,据它报告,哪怕是一台 8GB 显存的 RTX 2070 笔记本,性能表现也相当出色。所以没错,PersonaPlex 可以在笔记本的 8GB 显卡上运行——但不是通过 NVIDIA 未经改动的参考路径,而且性能好不好,要看量化方式、后端,以及有多少活儿甩给了 CPU。

PersonaPlex 有一个有趣的限制

PersonaPlex 有一个有趣的限制

从 Alex 到 Kim 的四分钟

从 Alex 到 Kim 的四分钟

PersonaPlex 刚上手时确实惊艳。聊久了就没那么有说服力了,但还是很惊艳——因为连它出错的方式都挺有意思。

该模型拥有 3,000 帧的滚动记忆。Mimi 以每秒 12.5 帧的速度推进,所以算术非常简单:

3,000 帧 ÷ 每秒 12.5 帧 = 240 秒

也就是四分钟。人设提示、语音条件信息、输入音频和生成的对话都要挤进这个有限的窗口里。一旦窗口塞满了,新帧就会把最旧的帧覆盖掉。PersonaPlex 在记忆填满时不会崩溃,但它会开始忘记对话开头说了什么。

我在一次特别有趣的测试中目睹了这种情况。模型一开始扮演的是亚历克斯——火星场景里的那个宇航员。我们后来聊着聊着就扯到了金钱和汽车,聊了很长一段。过了一段时间之后,我注意到亚历克斯在回答中重复了一些词语。我问亚历克斯她的名字,亚历克斯突然冒出一句:“我叫金。我实际上是你非常好的朋友。”

这不是故意的。亚历克斯已经从模型的记忆中消失了。这个名字只在对话最开始的几轮里出现过,之后再也没有提及,所以模型忘记了它的名字是亚历克斯。再问它的时候,它就编了一个新名字,还编了一整套新身份。

从那之后,情况急转直下。“那非常好”变成了“对你非常非常好”。接着它一遍遍地问我还有没有问题。最后,它彻底卡住了,一遍又一遍地说“会发生什么?”

每一次重复都会被放进上下文的最新位置,让下一次重复的可能性更大,而真正有用的对话则从另一头不断被挤出去。目前的服务器没有启用有效的重复惩罚机制,所以一旦模型掉进那个洞,就几乎没有什么能把它拉回来了。

扩大上下文窗口是可行的。3000 帧的注意力缓存大约占 1.46GB 显存,而且是线性增长的,所以在一张 24GB 的卡上跑八分钟的缓存,理论上也是说得通的。但是……这只不过是拖延问题罢了。而且,尽管你可以增加注意力缓存,它本来就是按默认 3000 帧来用的。就算你的硬件扛得住,缓存再大,推理性能也可能会打折扣。

拿 GPT‑Live 来比是最自然的

拿 GPT‑Live 来比是最自然的

全双工,而且跑在大型云数据中心上

全双工,而且跑在大型云数据中心上

OpenAI 新推出的 GPT‑Live 具有同样的核心优势。它边说边听,对打断做出反应,能接住自然的停顿,并且每秒可以多次决定是继续说话还是保持安静。

但 PersonaPlex 和 GPT-Live 的对比,只在语音这块成立,再往外就不适用了。GPT‑Live 是一个更大系统的一部分。它支持更长的对话、网络搜索、记忆和工具。当请求需要真正的推理时,它可以在后台将工作委托给像 GPT‑5.5 这样的前沿模型,然后将结果带回实时对话中。

PersonaPlex 可没人能帮它。它无法搜索网络、调用工具、将难题交给更强大的模型,也无法可靠地记住长对话(在我们的案例中是 4 分钟)。同一个 70 亿参数的模型,得自己搞定听、推理、维持人设和生成语音。

但换来的好处是,PersonaPlex 速度非常快。在我的体验中,尽管是本地运行,它远比 GPT‑Live 快。当然,这并不意味着它更聪明或更有用。它只是漂亮地证明了,一个自包含的模型能把响应速度做到什么程度。

PersonaPlex 是个精彩的示范

PersonaPlex 是个精彩的示范

PersonaPlex 并非成品,它就是个示范。它会忘事儿、跑偏、瞎编细节,聊久了还会把自己绕进死循环里。自定义语音也只是差不多的效果,而官方版本还是得配一块昂贵的 GPU 才行。

但如果你有条件,把它跑起来聊上两分钟。看看一个本地运行的模型怎么听、怎么说、怎么卡壳——全都发生得特别快。

话说回来,PersonaPlex 是完全开源的。NVIDIA 向社区展示了这类全双工语音模型是怎么运作的,接着又把代码和权重放了出来,让开发者自己改、自己集成到其他工作流里。PersonaPlex 本身并非成品,但它会成为很多成品的地基。谁知道呢——说不定 GPT-Live 这类系统也是从同样的思路里找到了灵感。