GPU
文章平均质量分 83
AliceWanderAI
北邮自动化学院,研究方向:图像处理,机器学习
展开
-
Tensorflow模型优化训练思路
问题现状随着深度学习模型越来越大,数据集越来越大,模型的训练变得越来越慢。这对于想要快速验证算法的研究人员来说,是个比较麻烦的问题。那么一般来说,我们会想要优化模型训练,以期更快验证模型效果。无论是使用Tensorflow还是Pytorch来搭建模型,基本的训练优化思路都是一致的,只是由于框架的不同,某些优化细节有些差别。这里探讨的是模型在GPU上的训练优化。基本的训练优化思路Step 1 优化模型在单机单卡上的训练 Step 2 优化模型在单机多卡上的训练 Step 3 优化模原创 2021-02-23 22:30:21 · 1121 阅读 · 2 评论 -
混合精度训练-Automatic Mixed Precision
双/单/半精度浮点数在尽可能减少精度损失的情况下利用半精度浮点数(FP16)来加速训练。以下简单对比双/单/半精度浮点数:双精度浮点数:FP64(64bits=8bytes)单精度浮点数:FP32 (32bits=4bytes)半精度浮点数:FP16 (16bits=4bytes)可以看到,双/单/半精度浮点数表示的范围不同,因此存储它们所需要的硬件内存也不同了。其中,一个FP16浮点数占用内存是FP32的一半,但是它所表示的范围也大大减少,因此,纯粹使用FP16进行原创 2021-02-22 20:33:53 · 1226 阅读 · 0 评论 -
深度学习模型的并行训练:数据并行VS模型并行
数据并行由于训练数据集太大,而无法一次将其全部载入内存。因此将数据集分为N份,分别装载到N个GPU节点中去进行梯度求导,然后将所有节点的求导结果进行加权平均,再sync update给所有节点(对于每个节点来说,我们使用相同的模型参数进行前向传播。)。然后继续进行下一步的训练,直到模型收敛或者提前停止训练。如上图所示,GPU1和GPU2上都装载有完整的模型,但是它们使用不同的子数据集Batch进行训练,每次每个节点的推导结果进行加权平均然后sync到所有的GPU节点上,再继续下一步迭代。.原创 2021-02-21 22:21:43 · 6720 阅读 · 0 评论 -
link-register spilling
https://developer.download.nvidia.cn/CUDA/training/register_spilling.pdf原创 2020-11-17 10:35:19 · 356 阅读 · 0 评论