最优(SOTA)的深度学习模型往往需要占用巨大内存。许多GPU通常没有足够的VRAM来存储并训练这些模型。
在这篇文章中,将对现有不同型号的GPU进行测试,给出在不超过它们显存的条件下,可以支持训练SOTA的语言/图像模型大小进行测试;还将对每个GPU的训练性能进行基准测试。给需要采购GPU进行可以和工程部署的朋友一些建议。
截至2020年2月,以下GPU可以训练所有SOTA语言和图像模型:
· RTX 8000: 48 GB VRAM, ~$5,500.
· RTX 6000: 24 GB VRAM, ~$4,000.
· Titan RTX: 24 GB VRAM, ~$2,500.
以下GPU可以训练大多数(但不是全部)SOTA模型:
· RTX 2080 Ti: 11 GB VRAM, ~$1,150. *
· GTX 1080 Ti: 11 GB VRAM, ~$800 refurbished. *
· RTX 2080: 8 GB VRAM, ~$720. *
· RTX 2070: 8 GB VRAM, ~$500. *
以下GPU不适合训练SOTA模型:
· RTX 2060: 6 GB VRAM, ~$359.
*标指在这些GPU上的训练需要采用mini-batch方式,因此降低了模型精度。
RTX 2060 (6 GB): 适合个人业余时间探索深度学习。
RTX 2070或2080 (8 GB): 适合想要深入学习深度学习,但GPU预算是600-800美元。8gb的虚拟内存可以容纳大多数模型。
RTX 2080 Ti (11 GB): 适合想要深入学习深度学习,并且GPU预算是1200美元左右。RTX 2080 Ti比RTX 2080快约40%。
Titan RTX和Quadro RTX 6000 (24 GB): 适合于想要研究各种SOTA深度学习模型,但没有足够预算来购买RTX 8000。
Quadro RTX 8000(48GB): 投资于未来,甚至可能有幸在2020年研究SOTA深度学习模型。
显存支持的最大Batch-Size
*表示GPU没有足够的内存来运行模型。
性能,以每秒处理的图像数量来衡量
*表示GPU没有足够的内存来运行模型。
显存支持的最大Batch-Size
*表示GPU没有足够的内存来运行模型。
性能
*表示GPU没有足够的内存来运行模型。
图2 .针对Quadro·RTX 8000的训练吞吐量。左图:图像模型。右图:语言模型。
语言模型比图像模型从更大的GPU内存中获益更多。注意右边的图比左边的更陡。这表明语言模型更受内存限制,而图像模型受计算限制更多。
具有更高VRAM的GPU具有更好的性能,因为使用更大batch size有助于使CUDA内核饱和。
具有更高VRAM的GPU支持成比例的更大batch size。背后结论产生合理的结果:具有24 GB虚拟内存的GPU可以比具有8 GB虚拟内存的GPU适合大约3倍大的batch size。
对于长序列来说,语言模型的内存过于密集,因为注意力是序列长度的二次函数。
https://lambdalabs.com/blog/choosing-a-gpu-for-deep-learning/