在 WebGPU 上, Whisper ASR 流程每 30 秒段丢失约 650 MB 的 GPU 内存(两种 `return_timestamps` 模式)
作者: maboa创建于 2026年8月3日更新于 2026年8月3日
QQ 系统信息
@huggingface/译者 4.2.0
1.26.0(被钉住)
浏览器 Chrome 150, macOS 15, 苹果硅 (24 GB 统一内存)
在Chrome 150/151、Windows 11(Iris Xe)和Linux上也观察到了这一点。
(RTX 3060 12 GB,驱动器580,Vulkan)——参见下游报告.
型号为 onx- community/ whisper- small timestamped 的
设备"WebGPU", dtype {encoder model:"fp32",decoder model commerd:"q4"}说明
通过ASR管道转录长音频,单调地增长出GPU内存——大约为650 MB每30秒块,并带有 " 低声小声 " ,只有在页面被关闭或重新装入时才恢复。 采样Chrome的GPU-进程内存脚印,在下面的最小回放中每3 s: 1.6 GB在输入后 ~ + 8.1 GB在转录了300 s的音频** (10块,134 s的墙钟)后,仍然7.8 GB在后休. 在12 GB RTX 3060上,一个较长的文件以"未能呼叫OrtRun...[无效缓冲]"(下游:hyperautio/hyperautio-lite-editor#462)而中途失效.
‘回回-时间戳':"字'和‘回回-时间戳:真实'以同样的速度漏出,所以这并非具体到符号-时间戳/DTW路径.
- 复制
自足的一页——漏出发生在单个"管子"(())内调用:
时间轴 :
(简体中文)
(任何~5分钟的演讲录音都会复制. 在macOS上,观看Chrome GPU过程的*memory film *——平地RSS没有显示这些分配. ).
与#1734的关系
看上去是同一个家族——GPU从一代开始的缓冲器从未被处理过,但那里"keepCacheAlive"机制只覆盖了""字"模式(chunk模式取去非字迹路径,其"past key values.disppose ()"确实运行),两种模式都同样被泄露出,因此似乎还有另外一种机制. PR #1737只修复了Chatterbox的包装.
4.2.0(未经核实)
- 在以下2seq路径中, " 编码器-输出 " 按 " 基因() " 调用生成,从未以两种方式处理。
- 在`GetPastKeyValues' (`modeling utils.js')中,在`is encoder pkv &&' 过KeyValues'再利用路径上,每一步骤重新返回的`decoderResults[name]'缓冲器被丢弃,而不再为缓存的缓冲器。
. . . . . . .内容来源: huggingface/transformers.js