pytorch
文章平均质量分 79
pytorch基础技术
AIVoyager
这个作者很懒,什么都没留下…
展开
-
pytorch训练之DP和DDP
DDP比DP更快、更灵活。DDP所做的基本事情是将模型复制到多个gpu上,从它们收集梯度,平均梯度以更新模型,然后在所有K个进程上同步模型(数据并行)。原创 2024-04-03 16:31:34 · 438 阅读 · 1 评论 -
pytorch之多进程与分布式
无论是哪一种分布式技术一个核心的关键就是如何进行communication,这是实现分布式训练的基础,因此要想掌握分布式训练或当前流行的大模型训练务必对worker间的通信方式有所了解。如果用于GPU训练,这个数字需要小于或等于当前系统(nproc_per_node)上的GPU数量,并且每个进程从GPU 0到GPU (nproc_per_node - 1)将在单个GPU上操作。该方式下,使用 torchrun在每台主机上,为其创建多进程,其中:nproc_per_node 参数指定为当前主机创建的进程数。原创 2024-04-03 16:26:25 · 1275 阅读 · 1 评论 -
pytorch训练之EMA使用
在深度学习中用于创建模型的指数移动平均(Exponential Moving Average,EMA)的副本。通常,指数移动平均是用来平滑模型的参数,以提高模型的泛化能力。在训练过程中,通常会使用 EMA 模型来获得更稳定的预测结果,而不是直接使用训练过程中的模型参数。这样可以减少模型在训练数据上的过拟合,并提高模型的泛化能力。在这段代码中,model 是原始模型,deepcopy 函数用于创建模型的深层副本,避免共享内存。原创 2024-03-06 19:37:59 · 548 阅读 · 0 评论 -
pytorch训练之TP PP ZeRO
克服GPU内存限制。例如:适应非常大的模型 - 例如,t5-11b仅在模型参数方面就达到了45GB适应非常长的序列显著加快训练速度 - 例如,完成原本需要一年的训练工作只需几小时我们将首先深入讨论各种一维并行化技术及其优缺点,然后看看它们如何结合成二维和三维并行化,以实现更快的训练速度并支持更大的模型。将介绍各种其他强大的替代方法。三维并行化 - 网络效率非常高,但可能对建模代码产生很大影响,需要更多工作才能正确运行。原创 2024-03-12 11:47:20 · 376 阅读 · 1 评论