1

我正在尝试估算完全连接的模型所需的 VRAM,而无需在 pytorch 中构建/训练模型。

我非常接近这个公式:

# params = number of parameters
# 1 MiB = 1048576 bytes
estimate = params * 24 / 1048576

这个示例模型有 384048000 个参数,但我已经在具有不同参数大小的不同模型上进行了测试。

结果相当准确。但是,估计只考虑了 pytorch 会话 VRAM,而不是驱动程序/cuda 缓冲区 VRAM 量。这是估计(使用公式)与经验结果(在构建/训练模型后使用 nvidia-smi)

ESTIMATE BEFORE EMPIRICAL TEST: 
VRAM estimate = 8790.1611328125MiB

EMPIRICAL RESULT AFTER BUILDING MODEL: 
GPU RAM for pytorch session only (cutorch.max_memory_reserved(0)/1048576): 8466.0MiB
GPU RAM including extra driver buffer from nvidia-smi: 9719MiB

关于如何估计 nvidia-smi 输出中显示的额外 VRAM 的任何想法?

4

0 回答 0