ACL2020SpellGCN / SpellGCN

SpellGCN
https://arxiv.org/abs/2004.14166
241 stars 63 forks source link

代码如何实现多卡训练 #12

Closed zsf123456 closed 3 years ago

zsf123456 commented 4 years ago

如题,想问下代码如何实现多卡训练,一块2080不够大小,是使用horovod吗?

qq596588073 commented 4 years ago

@zsf123456 请问您解决这个问题了嘛

zsf123456 commented 4 years ago

看样子模型自带hovord那个框架可以(没试),我是用tf. distribute做的数据并行,然后bert优化器使用标准adam,因为bert自身优化器不支持gpu并行。但是我用两张2080ti跑出效果很差,不知道为什么

zhanqiuzhang commented 4 years ago

我用了 hovord 框架,在 2080ti 上还是会 OOM。请问 @zsf123456 是加了271k数据集之后跑的吗?我在 CPU 上直接运行这个repo的脚本,测试F1几乎为0.

zsf123456 commented 4 years ago

2080ti单卡的batch我设16,用了271k数据以后,cpu没了解过

zhanqiuzhang commented 3 years ago

@zsf123456 请问您现在解决并行的问题了吗?我现在怀疑作者就没有用 horovod 做并行,只是借用了之前的框架。现在给的 run_spellgcn.sh 的参数里明显是没有做并行的。

zsf123456 commented 3 years ago

没啊,作者确实没并行,bert代码优化器要改,不然不能并行。我两张卡distribute效果出来不好,也许我代码有问题吧

wead-hsu commented 3 years ago

horovod是遗留代码,没有测试过,训练是单卡的。