![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
大模型
文章平均质量分 94
yangtuoni
这个作者很懒,什么都没留下…
展开
-
accelerate相关笔记
是指在 NUMA 架构下优化内存访问效率,以减少远程内存访问的次数和延迟,从而提升系统和应用程序的整体性能。当被问及是否要启用 NUMA 效率时,通常意味着系统可以应用这些优化策略,以便更好地利用硬件资源,尤其是在需要高性能和低延迟的环境中。是 Hugging Face 的 Accelerate 库中一个用于分布式训练的函数,主要用于在分布式环境中收集和聚合所有进程的评估指标(metrics)或数据。原创 2024-08-26 11:44:11 · 745 阅读 · 0 评论 -
单GPU高效训练笔记
Micro-batch 是指在训练过程中将大的 Batch size 拆分成更小的批次进行处理的策略,广泛用于优化计算资源、实现梯度累积以及支持分布式训练。它帮助在处理能力有限的情况下依然能够进行高效且稳定的模型训练。TorchDynamo 是 PyTorch 中一个重要的动态编译和优化工具,它通过捕获、转换和优化计算图,为深度学习模型提供性能提升。其透明性和兼容性使得用户可以轻松地在现有代码中应用它,从而在不改变模型逻辑的前提下获得更好的执行效率。原创 2024-08-26 11:41:56 · 1009 阅读 · 0 评论 -
大模型分布式训练技术(DP、DDP和FSDP)
本文主要讲解了大模型分布式训练并行技术的数据并行,并以Pytorch为主线讲解了DP、DDP、FSDP三种不同的数据并行方案。单进程多线程模式,由于锁的机制导致线程间同步存在瓶颈。使用普通的All-Reduce机制,所有的卡需要将梯度同步给0号节点,并由0号节点平均梯度后反向传播,再分发给所有其他节点,意味着0号节点负载很重。由于第二点的原因,导致0号GPU通讯成本是随着GPU数量的上升而线性上升的。不支持多机多卡。目前,由于性能问题,DP基本不用了。原创 2024-08-26 11:36:51 · 346 阅读 · 0 评论 -
大模型分布式训练技术概括
数据并行是最常见的并行形式,因为它很简单。在数据并行训练中,数据集被分割成几个碎片,每个碎片被分配到一个设备上。这相当于沿批次(Batch)维度对训练过程进行并行化。每个设备将持有一个完整的模型副本,并在分配的数据集碎片上进行训练。在反向传播之后,模型的梯度将会聚合(All Reduce),以便在不同设备上的模型参数能够保持同步。典型的数据并行实现:PyTorch DDP。原创 2024-08-26 11:34:21 · 996 阅读 · 0 评论 -
分布式训练通信原语
Parameter Server架构(PS模式)由server节点和worker节点组成server节点的主要功能是初始化和保存模型参数、接受worker节点计算出的局部梯度、汇总计算全局梯度,并更新模型参数(DP)worker节点的主要功能是各自保存部分训练数据,初始化模型,从server节点拉取最新的模型参数(pull),再读取参数,根据训练数据计算局部梯度,上传给server节点(push)。原创 2024-08-26 11:33:15 · 654 阅读 · 0 评论