发帖
 找回密码
 立即注册
搜索
1 0 0
前沿技术 151 1 昨天 10:27
我花了太多时间试图打造一个成熟的实时语音对语音人工智能,不得不说,如今这东西实际上已经能用了。与人工智能进行流畅、自然的对话,这已不再只是一个未来概念;当下就有人在着手实现它。我想为其他也在钻研这个领域的人快速总结一下目前的进展情况。最大的障碍:端到端延迟这仍是主要难题。要让对话感觉 “真实”,从你说完一句话到听到人工智能回复之间的总延迟必须尽可能短(大多数人认为在300到500毫秒这个区间为宜)。这种 “端到端” 延迟由以下三个部分组成:语音转文本(STT):转录你的语音。大语言模型推理(LLM Inference):模型思考回复内容。文本转语音(TTS):生成回复的音频。改变游戏规则的因素:惊人的推理速度我们能探讨这个话题,很大程度上得益于新硬件的速度。Groq的LPU(Light Processing Unit,光处理单元)经常被提及,因为它在大语言模型处理环节速度极快,几乎消除了这个瓶颈,让整个系统响应速度奇快。不只是延迟,还有流畅性这才是真正有趣的部分。低延迟是一方面,但一场真正自然的对话还需要巧妙的设计:语音活动检测(VAD):人工智能得能立刻知道你什么时候停止说话。像Silero VAD这类工具在这里就很关键,能避免出现尴尬的沉默。打断处理:你得能打断人工智能。要是你开始说话,人工智能应立即停止它的文本转语音播放。这一点要做好出奇地难,但却是让对话感觉真实的关键。常用的技术组合人们会混合搭配各种服务来构建自己的系统。目前看来,有两种流行方案:高性能云服务组合:Deepgram(语音转文本)→ Groq(大语言模型)→ ElevenLabs(文本转语音)全本地部署组合:whisper.cpp(语音转文本)→ 通过llama.cpp运行的快速本地模型(大语言模型)→ Piper(文本转语音)未来会怎样?未来看起来更有前景。像微软宣布的VALLE 2这类模型,只需几秒音频就能克隆声音并添加情感,这将把文本转语音的质量提升到一个全新高度。总结:打造实时语音人工智能的工具已然存在。主要挑战已从 “能否实现” 转变为精心设计对话流程,在每一步都尽量减少延迟。你们有什么经验?常用的技术组合是什么?是打算完全本地部署还是使用云服务?很想听听大家都在做些什么!
──── 0人觉得很赞 ────

使用道具 举报

谢谢,这很有趣。有没有关于本地堆栈的有趣的 GitHub 仓库?
说得有道理,我没考虑到这一点。有一些修改版本(如ONNX、GGUF等),它们在CPU上可能行得通,也可能不行,但说实话,这些我都没试过。主要是,我喜欢它的质量。  
不能使用你自己的栈是什么意思?你可以自己运行这个模型,挑选你需要的东西,还是说你指的是别的意思?顺便说一句,我和 Ultravox 没有关联,只是个好奇的旁观者 :)  
看看我的仓库:https://github.com/dnhkng/GlaDOS我已经优化了推理时间,你能得到你确切需要的东西。Whisper太慢了,所以我重写并优化了Nemo Parakeet自动语音识别模型。我还使用了一些技巧,让所有推理都能并行完成(在进行文本转语音推理的同时流式传输大语言模型内容)。最后,它是可中断的:当系统正在说话时,你可以打断它说话!它完全本地化,使用40系或50系GPU,你可以轻松实现低于500毫秒的语音到语音响应。  
我个人并不在乎是否存在200到300毫秒的延迟。与人类交流时,延迟往往要大得多,因为大多数时候我们都需要时间思考。这些微小的延迟和停顿可以很容易地通过其他用户界面技巧来填补和掩盖。延迟并不是这里的主要问题。关键问题在于对话的质量、流畅度以及准确性。  
是的,它会。但我们无法提供检索上下文窗口。
很晚才参与这个对话,但Pipecat可能正是你在寻找的东西。
您需要登录后才可以回帖 立即登录
高级模式