DaDaMrX / ReaLiSe

A Multi-modal Model Chinese Spell Checker Released on ACL2021.
MIT License
145 stars 18 forks source link

统一回复一些复现上的问题 #12

Open Neutralzz opened 2 years ago

Neutralzz commented 2 years ago
  1. 首先不要装官方的transformers库,因为我们魔改过代码,实验前请一定pip install --editable .
  2. ACL anthology的supplementary matrrial里也有我们开源的代码和模型,也有README讲解怎么评测;
  3. 模型训练过程中,虽然有每1000 step保存一次模型,但报的指标仍然是训练结束后最终的模型(直接取最后一个checkpoint,没用test set去挑)。论文中讲到的每个实验细节均是真实的。另外,我们有持续关注该任务,intern搞baseline时有对ReaLiSe在V100 (以前是P100) 上用相同的脚本进行重新实验,也能复现出 detection 79 F1, correction ~78 F1的指标结果,并进一步提升了ReaLiSe
  4. 关于标点符号的问题,预处理是有的,另外一些中文标点会被识别为UNK,为此我们修改了模型的vocab.txt(具体看google drive OR supplementary)
  5. 拼音编码器的预训练语料和fine-tune数据一样,只是objective不同。拼音和图像encoder的预训练模型是根据下游任务指标去挑的。
Neutralzz commented 2 years ago
  1. 训练数据有个小trick:Wang271K + 2倍的SIGHAN

建议直接用我们处理好的 trainall.times2.pkl

weitajinjucha commented 2 years ago
  1. 训练数据有个小trick:Wang271K + 2倍的SIGHAN

建议直接用我们处理好的 trainall.times2.pkl

您好,请问这个2倍的SIGHAN具体是指?直接用Wang271K + SIGHAN差别大吗?复现出来和论文结果有一定差距。

Neutralzz commented 2 years ago
  1. 训练数据有个小trick:Wang271K + 2倍的SIGHAN

建议直接用我们处理好的 trainall.times2.pkl

您好,请问这个2倍的SIGHAN具体是指?直接用Wang271K + SIGHAN差别大吗?复现出来和论文结果有一定差距。

@Zhouyuhao97 就是将SIGHAN训练数据copy成2份,和wang271k放一起用到每轮的训练。

跟直接用的训练结果差别是有点大,当初实验的文档已经没了,印象有1到2个点的差距。这个trick本身是从spellgcn里发现的,当初hengda同学复现spellgcn时也苦于其复现不出来。

至于为什么那么做能带来提升?应该还是数据分布的修正带来的效果,毕竟wang271k是伪数据。

weitajinjucha commented 2 years ago
  1. 训练数据有个小trick:Wang271K + 2倍的SIGHAN

建议直接用我们处理好的 trainall.times2.pkl

您好,请问这个2倍的SIGHAN具体是指?直接用Wang271K + SIGHAN差别大吗?复现出来和论文结果有一定差距。

@Zhouyuhao97 就是将SIGHAN训练数据copy成2份,和wang271k放一起用到每轮的训练。

跟直接用的训练结果差别是有点大,当初实验的文档已经没了,印象有1到2个点的差距。这个trick本身是从spellgcn里发现的,当初hengda同学复现spellgcn时也苦于其复现不出来。

至于为什么那么做能带来提升?应该还是数据分布的修正带来的效果,毕竟wang271k是伪数据。

感谢回复,今天尝试了一下确实有一些提升。