请教一个Modelscope问题,为什么出现图中的情况?
模型自身有内存泄漏
有些模型在做推理时存在bug,会导致内存一直增长而不释放。这是最有可能的情况。
模型有缓存不释放
有些模型在推理时会有一些cache,但这些cache在下一次推理时没有清除,从而导致显存累加。
Python循环泄漏
在Python循环推理时,每次循环都新建变量但不释放,导致对象数量越来越多。
硬件错误
极少数情况,GPU本身可能有问题,报告冗余的显存占用。
要定位问题,你可以尝试:
对比模型不同版本,看是否有变化
使用profiler查看模型推理过程中,内存使用变化
在模型推理前后,打印对象数量,查看增加与否
将模型转移到其他GPU卡上,检查是否出现同样情况
将推理代码包装在一个函数中,多次调用,观察显存变化
将单个推理变为批量推理,观察变化情况
上报问题给模型开发者,获取更多支持
如果您在 ModelScope 中发布模型时一直处于 "发布中" 的状态,可能是由于以下原因之一:
模型大小:如果您的模型非常大,可能需要更长的时间来上传和处理。大型模型可能需要更多的时间进行传输和处理,因此可能导致发布过程较长。
网络连接问题:发布模型需要与 ModelScope 服务器进行交互,如果您的网络连接存在问题,则可能导致发布过程变慢或失败。请确保您的网络连接稳定,并尝试重新发布模型。
服务器负载:如果 ModelScope 服务器的负载较高,可能会导致发布过程变慢。这可能是由于大量用户同时访问服务器或其他资源限制引起的。您可以等待一段时间后再次尝试发布。
配置错误:检查您发布模型时提供的配置是否正确。确保指定了正确的模型文件、名称、版本号和其他相关参数。如果配置有误,可能导致发布过程出现问题。
他们都是包装自transfomers库,所以,这样就不存在 其他安装包了-此回答整理自钉群“魔搭ModelScope开发者联盟群 ①”