在训练或者推理模型的时候,经常会报内存溢出out of memory。

很多小伙伴第一时间会想到增加GPU,增加机器配置。没错,这是最简单直接的解决方案,但是。。。。。这个会花费很多的money。

那么,为什么会爆内存溢出呢,GPU都被哪些资源占用了呢,今天我们就简单梳理一下。

这也是面试中经常会问到的问题。

1.训练阶段

    1)模型权重

    2)输入数据

    3)激活值(存在内存中加速计算效率)

    4)梯度(模型参数的grad属性中)

    5)优化器(动量、自适应学习率、均方根梯度)

2.推理阶段

    1)模型权重

    2)kv cache(中间量)

    3)  其他(输入数据,缓冲区)

  

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐