#20 梯度量化方法(BinarySGD+TrinarySGD)

Open
created 1 year ago by JinWang · 1 comments
JinWang commented 1 year ago
任务目标: * 基于pytorch实现BinarySGD、TrinarySGD梯度量化方法,并在ViT、ResNet等模型上进行对比验证
JinWang commented 1 year ago
Owner
**2022-06-24:** * 1、学习Pytorch中DDP模块的通信hook实现机制,参考完成BinarySGD代码编写,存在问题是:Pytorch中没有1bit数据类型 * 2、研究学习DeepSpeed中的1bit-Adam原理和实现源码,其中1bit数据采用了基于CUDA实现的cupy多维数组库来实现,将梯度压缩实现在优化器类中,不确定是否支持基于Bucket的梯度聚合 **存在问题:** (1)1bit通信实现问题:继续参考DeepSpeed的实现方法进行 (2)目前设计的梯度量化方法中,m,v等中间变量采用的是每张卡本地的状态值,而不是全局的状态值,是否影响模型收敛还有待验证,下面是BinarySGD、TrinarySGD方法和DeepSpeed中1bit Adam的算法设计对比 ![图片](/attachments/722b3d9c-bd1d-4183-a95a-40e227af4e39)
271 KiB
Sign in to join this conversation.
No Milestone
No Assignees
1 Participants
Notifications
Due Date

No due date set.

Dependencies

This issue currently doesn't have any dependencies.

Loading…
There is no content yet.