首页 > 解决方案 > 了解模型 DEPTH 和 CUDA Out Of Memory 异常的依赖关系

问题描述

我一直在尝试分析为什么深度网络的某种训练会引发CUDA out of memory 异常。众所周知,当 GPU 由于内存溢出而无法应用某个操作时,就会出现此类错误。

一个简单而微不足道的原因是,如果有人试图在其上加载太大的数据。通常减少数据repr。暗淡和批量大小有帮助。第二个原因(很少提及)是应用过于复杂的操作时(通常在较大的度量上)。

现在给定一个令牌序列(馈入多层 Transformer),事实证明,只有在对其进行几次迭代之后,错误才会增加(每次迭代 GPU 内存都会线性扩展)。

我一直想知道为什么会这样。矩阵每次都是相同的形状,不再加载数据。可以将其视为多层 FNN。

标签: pythonmachine-learningdeep-learningpytorch

解决方案


推荐阅读