同一个语音工具,放到 GPU 上跑,比在 CPU 上还慢一倍多。 这是 HN 上一个哥们贴的测试,被测的是 PyTorch 官方语音库 TorchAudio… · @tvytlx · TwKit
@tvytlx
同一个语音工具,放到 GPU 上跑,比在 CPU 上还慢一倍多。 这是 HN 上一个哥们贴的测试,被测的是 PyTorch 官方语音库 TorchAudio。 先说这玩意是干嘛的: 你有一段录音,也有逐字稿,想知道每个字在第几秒说出来。 字幕时间轴、歌词滚动、整理语音训练数据,都要用到,行话叫 forced alignment。 这个哥们嫌自己的流水线太慢,借助 AI 写了一套 CUDA 内核,就是直接给显卡跑的底层代码。 同一批 3500 多条测试数据,一张几年前的 RTX 3090: 他的版本:0.03 秒 表现最好的对手,一个多线程 CPU 方案:0.35 秒 TorchAudio:CPU 版 2.7 秒,GPU 版 6 秒 k2:6.3 秒 英伟达自家的 NeMo,调优后:28 秒 更有意思的是他对速度来源的拆解。 他做了两件事:一个能跳过大量计算的分块算法;再把最老实的标准算法,在 GPU 上批量跑好。 只用第二件,就已经比 TorchAudio GPU 版和 k2 快 100 倍左右。 那个聪明的算法,只再多贡献了不到 2 倍。 也就是说,绝大部分速度一直就摆在那儿。 TorchAudio 的接口一次只能处理一条录音,只能一条条排队喂给显卡,并行的优势根本发挥不出来。 一直没人捡,我觉得原因很朴素:写 CUDA 内核太贵了。 懂的人少,时间成本高,工具“能用”,就没人愿意动它。 现在 AI 把这个成本砍下来了。 一个只想让自己流水线快一点的人,顺手把几个知名工具甩开了两个数量级。 边界这个兄弟自己写得很老实: 测的是他自己搭的基准,单卡; 语音模型推理的时间不算在内,整条链路快不了这么多; 长录音上,分块算法有时反而输给标准算法; 跟人工标注的时间戳对比,还没做。 但方向我觉得挺明确。 很多基础软件慢,只是因为以前优化它不划算。 这个“不划算”,正在一个个失效。 你自己工作流里最慢、又一直没人管的那一环,可能就是下一个。 我看的时候,这个仓库 0 star,3 次提交。 他帖子最后一句是:AI 带来的加速越来越离谱了。 我回头看了眼电脑里那几个一跑就是一晚上的脚本。 以前我管这叫慢,现在好像得管这叫懒了。 https://news.ycombinator.com/item?id=50310134
曝光 292 · 评论 2 · 点赞 1 · 书签 0
查看原帖