快速结论:该报错通常出现在使用 Faster Whisper 加载 Whisper 模型到显存时,显存容量不足以容纳所选模型(例如 large),从而触发 CUDA OOM。优先排查显存容量与模型体量是否匹配,而不是尝试把模型“部分留在内存”。
适用环境:Issue 中确认的场景为 Docker Compose 部署 openai-whisper-asr-webservice,使用 Faster Whisper 引擎、大型模型 large、NVIDIA GTX 1650 显卡,并带有 nvidia GPU 驱动能力声明。
最快修复方案:Issue 中已验证的处理方向是使用更小的模型,或改用 device="cpu" 在 CPU 上运行。该结论由维护者/回复者明确给出。
注意事项:Issue 中没有给出具体的可用显存数值,也没有给出通过量化、分片或共享内存来运行 large 模型的已验证方案。使用 CPU 运行虽然避免了 CUDA OOM,但推理速度可能明显变慢;更换更小模型则需要在识别质量和资源占用之间取舍。
问题场景
用户在更换服务器后,使用 Docker Compose 运行 onerahmet/openai-whisper-asr-webservice:latest-gpu 镜像,配置 ASR_ENGINE=faster_whisper 并希望加载 large 模型。运行过程中出现 CUDA 显存不足,无法加载模型。
报错原文
CUDA failed with error out of memory error
原因分析
可能原因是 Faster Whisper 在使用 CUDA 时会尝试将模型加载到显存中,而用户所用的 NVIDIA GTX 1650 显存容量不足以容纳 large 模型。Issue 讨论中明确否定了“把模型下载到本地后无需全部载入内存即可运行”的思路,说明当前实现仍需要将模型放入可计算设备的内存/显存中,无法仅靠系统内存与显存共享来绕过 large 模型对显存的要求。
环境排查
- 确认宿主机或容器可用的 NVIDIA 显卡型号与显存大小,例如 GTX 1650 的显存容量。
- 确认 Docker Compose 是否正确声明了 GPU 资源,Issue 中使用了
driver: nvidia、count: 1、capabilities: [gpu]。 - 确认
ASR_ENGINE设置为faster_whisper,且ASR_MODEL为当前尝试加载的模型尺寸。 - 确认镜像标签是 GPU 版本还是 CPU 版本,例如
latest-gpu与latest会影响默认运行设备。 - 如计划改用 CPU,确认宿主机或容器可用的系统内存是否足以加载所选模型。
解决步骤
- 优先尝试将
ASR_MODEL从large改为更小的模型,例如small或其他低于显存容量的尺寸。 - 如果必须使用 CPU 运行,可将运行设备切换为 CPU,或使用不强制 GPU 的镜像配置;Issue 中给出的建议是
device="cpu"。 - 若继续使用 GPU,重新评估所选模型与显存是否匹配;Issue 中未提供通过共享内存解决 large 模型 OOM 的可行方法。
- 如果改用 CPU 镜像,例如
onerahmet/openai-whisper-asr-webservice:latest并设置ASR_MODEL=small,其效果是绕过 GPU 显存限制,但仍需确认 CPU 推理的性能和内存占用是否满足使用需求。
验证方法
调整模型大小或运行设备后重新启动服务,并再次提交转写请求。如果不再出现 CUDA failed with error out of memory error,且服务能够完成语音识别任务,则说明问题已缓解。若仍然 OOM,需要继续降低模型尺寸或完全改用 CPU。
参考来源
AI 工具推荐
想把多个 AI 模型放在一个入口?
GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。
推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。
这个方案解决了吗?
可以继续搜索完整报错,或查看同一工具的其他排查指南。


