原贴链接

大家好,我们想分享一下我们在AstraMind.ai所做的一些工作。我们最近在寻找一个用于异步和同步生成的高效语音合成(TTS)引擎,但没有找到太多,所以我们就想自己实现一个并采用Apache 2.0协议开源,于是Auralis就诞生了。Auralis是一个TTS推理引擎,它可以通过并行处理请求让用户获得高吞吐量的生成结果。Auralis能够同步和异步地进行流生成,以便在各种管道中使用。在输出对象中,我们插入了各种实用程序,以便在输出从引擎一出来就能使用。这个过程促使我们去优化XTTS - v2,这是一个由Coqui开发的很棒的模型。我们的目标是让它更快、更节省资源并且在异步情况下安全运行,这样它就可以在保持高音频质量的同时无缝处理生产工作负载。这个TTS引擎可以与许多TTS模型一起使用,但目前我们只实现了XTTS - v2,因为我们发现它在这个领域仍然有很好的发展势头。我们使用了一系列工具和技术来进行优化(如果您想了解更深入的解释,请务必查看我们的博客文章!https://www.astramind.ai/post/auralis):1. vLLM:用于高效服务XTTS - v2类似GPT - 2核心的工具。虽然vLLM在处理多模态模型方面相对较新,但它让我们显著加快了推理速度,不过我们得使用各种技巧才能在其中运行修改后的GPT - 2。2. 推理优化:消除冗余计算,复用嵌入,并使工作流适应推理场景而非训练场景。3. HiFi - GAN:作为声码器,它将潜在音频表示转换为语音。我们对其进行了原地操作优化,大大降低了内存使用。4. Hugging Face:重写了分词器以使用FastPreTrainedTokenizer来提高兼容性并简化分词。5. Asyncio:引入异步执行,使管道在实际使用场景中无阻塞且更快。6. 自定义Logit处理器:XTTS - v2的重复惩罚对于大型语言模型(LLM)来说异常高([5 - 10]对比大多数语言模型中的[0 - 2])。所以我们必须实现一个自定义处理器来处理这个问题,同时避免vLLM中的硬限制。7. 隐藏状态收集器:XTTS - v2生成过程的最后一部分是在GPT - 2模型中的最后一次传递以收集隐藏状态,但vLLM不允许这样做,所以我们实现了一个隐藏状态收集器。https://github.com/astramind - ai/Auralis

讨论总结

原帖分享了AstraMind.ai对XTTS - v2的优化工作,包括创建Auralis这一TTS推理引擎及其采用的技术手段。评论者们从多个方面展开讨论,有对技术细节的好奇,如使用的GPU类型、模型差异、兼容性等;也有对成果的评价,既有认可其速度提升等优点,也指出如缺乏情感、存在口音等不足;还有涉及安装问题、示例展示期待、功能支持询问以及对许可协议的质疑等,整体氛围积极且专注于技术探讨。

主要观点

  1. 👍 对原帖成果感兴趣,尤其是Auralis看起来很有用
    • 支持理由:如评论者ironcodegaming表示“Awesome! This looks very useful!”,原帖中的优化成果在TTS领域有一定价值。
    • 反对声音:无
  2. 🔥 成果存在不足,需要改进口音和增加情感等方面
    • 正方观点:a_beautiful_rhind提出“It needs to lose it’s british accent and be more emotional”,认为目前成果在口音和情感表达上有欠缺。
    • 反方观点:DeltaSqueezer认为英国口音是加分项“DeltaSqueezer:No! The British accent is a plus! :)”
  3. 💡 Auralis支持基础模型的微调并且在自述文件中有说明
    • 解释:Kwigg询问微调兼容性,Similar_Choice_9241回复表示支持,并提到自述文件相关内容,Kwigg之后表示看到改变打算尝试。
  4. 👍 原帖中的优化成果在速度方面表现不错
    • 支持理由:evia89根据自己的经验推测优化后的引擎速度较快并表示认可“evia89: Original engine is 6x realtime for me with 3070. So yours is 8 * 60 / 10 = 48x realtime? Pretty good”。
    • 反对声音:无
  5. 🔥 对Auralis与其他相关技术或产品存在比较性疑问
    • 正方观点:如有人询问与realtimetts相比Auralis的优势,还有人关注XTTS - v2与闭源产品在声音自然度方面的比较。
    • 反方观点:无

金句与有趣评论

  1. “😂 教育差距5867:The mobile formatting of this website is pretty bad.”
    • 亮点:直接指出原帖相关网站存在的问题,与其他技术讨论形成对比,增加话题的多样性。
  2. “🤔 Kwigg: Possibly a dumb question - this is an inference engine for standard xtts - v2 models, right? So any fine - tunes of the base model should be directly compatible?”
    • 亮点:虽然自谦为可能是愚蠢的问题,但实际上引出了关于Auralis推理引擎与基础模型微调兼容性的重要讨论。
  3. “👀 a_beautiful_rhind:It needs to lose it’s british accent and be more emotional but some extra speed is nice. We need a bark 2.0.”
    • 亮点:简洁地指出成果的优缺点,并提及对类似bark 2.0的需求,反映出对TTS技术的综合期待。

情感分析

总体情感倾向是积极的。主要分歧点在于对成果的评价,例如在口音是否是问题上存在不同看法。可能的原因是评论者的个人需求和对TTS技术的不同侧重点,有些人更注重情感表达和口音纯正,而有些人则更看重速度提升等其他方面的优化。

趋势与预测

  • 新兴话题:关于Auralis是否会在功能上进行更多拓展,如支持mac或mps,以及能否实现像vLLM在LLMs中对LORAs的用法等方面可能会引发后续讨论。
  • 潜在影响:如果Auralis进一步发展完善,可能会对TTS领域产生积极影响,如提高语音合成的速度和质量,改变相关开发的模式和思路等。

详细内容:

《优化 XTTS-v2:10 分钟内为《哈利·波特》第一部配音,仅需约 10GB VRAM》

在 Reddit 上,一篇关于优化 XTTS-v2 的帖子引起了众多用户的关注。该帖子由 AstraMind.ai 发布,介绍了他们在 TTS 领域的创新工作。此帖获得了大量的互动,包括众多评论和点赞。

帖子主要内容是介绍了他们研发的 Auralis 这一 TTS 推理引擎,旨在提高 XTTS-v2 的效率、资源利用率和异步安全性,使其能无缝处理生产工作负载,同时保持高音频质量。并详细阐述了为实现优化所采用的一系列工具和技术。

讨论的焦点主要集中在以下几个方面: 有人好奇用于实现 10 分钟内完成任务的 GPU 型号,得知是 3090;有人质疑 XTTS 是否仅用于非商业用途,得到回复称他们的代码遵循 Apache 许可,模型权重遵循原始许可;有人询问这是否适用于标准 XTTS-v2 模型的微调,得到肯定答复;有人指出网站的移动格式不佳,但对开源 TTS 的改进表示称赞;有人提出安装 Auralis 的相关问题,得到了详细的安装指导;有人对声音的口音和价值提出看法,产生了不同观点;有人询问与其他类似产品的差异;有人关心是否能为新手提供安装指南,以及后续出现的安装问题和解决办法;有人询问是否有更多参考声音和示例音频;有人探讨是否支持 Mac 系统、能否用于生成同步音频配音轨道、能否 100%本地化、是否容易导出到 ONNX 格式等问题。

例如,有用户分享道:“我昨天还在通宵工作将一本书转换为有声读物,要是有这个技术会快得多。”

在讨论中,大家对于 Auralis 的优势和不足各抒己见。有人认为它速度快、资源利用率高,有人则对一些细节和兼容性问题提出了疑问。

总之,这次关于优化 XTTS-v2 的讨论十分热烈,展现了大家对这一技术的浓厚兴趣和期待,也为技术的进一步发展提供了丰富的思路和建议。