Closed ldsheng1998 closed 8 months ago
你好,
感谢你对我们项目的关注。Boundary smoothing 的文档在这个链接:https://github.com/syuoni/eznlp/blob/master/docs/boundary-smoothing.md
'--ck_decoder'参数有四个不同的选择:['sequence_tagging', 'span_classification', 'boundary_selection', 'specific_span'], 我发现对这三个参数('--ck_decoder'、'--use_interm1'、'--use_interm2')进行不同的设置会产生不同的模型组合,我想请问这三个参数如何设置可以让模型分别成为 Baseline 和 Baseline+BS。
- Baseline 需要设置:
--ck_decoder boundary_selection --use_interm2
- Baseline + BS 需要设置:
--ck_decoder boundary_selection --use_interm2 --sb_epsilon 0.1
- 其他参数请查看上述链接
我不懂'span_classification'、'specific_span'有什么区别
span_classification
实现的是 Eberts et al. (2020) 中实体识别的模型specific_span
实现的是 Zhu et al. (2023) 的模型(这篇也是我们的文章,文档在https://github.com/syuoni/eznlp/blob/master/docs/deep-span.md)- 两者都跟 Boundary smoothing 那篇文章没直接联系
还有一个问题是,对于数据集conll2003,我将'--doc_level'参数设置为True,并进行了截断之后,数据变成了文档级别的,每条数据很长,我的显卡不支持我将batch_size设置为48,因为一个batch的数据太多了,然后我就减小了batch,请问对于conll2003数据集,得到您的论文中的相应的结果,此时的实验的batch_size是48吗?
- 降低
batch_size
之后,你可以对应增大num_grad_acc_steps
通过梯度累加来模拟更大的 batch(batch_size
和num_grad_acc_steps
的乘积是实际的 batch),这样就可以避免 OOM- 根据我个人的实验经验,设置一个较小的 batch size 能得到略微更好的实验结果
References
你好,我想请教您: '--ck_decoder'参数有四个不同的选择:['sequence_tagging', 'span_classification', 'boundary_selection', 'specific_span'], 我发现对这三个参数('--ck_decoder'、'--use_interm1'、'--use_interm2')进行不同的设置会产生不同的模型组合,我想请问这三个参数如何设置可以让模型分别成为 Baseline 和 Baseline+BS。我不懂'span_classification'、'specific_span'有什么区别。我目前在conll2003数据集下尝试。
'--bert_arch':'RoBERTa_base'、'--ck_decoder': 'specific_span'、'--use_interm1':True、'--use_interm2':False、 '--enc_arch':‘LSTM’。这些参数的组合是Baseline吗?
还有一个问题是,对于数据集conll2003,我将'--doc_level'参数设置为True,并进行了截断之后,数据变成了文档级别的,每条数据很长,我的显卡不支持我将batch_size设置为48,因为一个batch的数据太多了,然后我就减小了batch,请问对于conll2003数据集,得到您的论文中的相应的结果,此时的实验的batch_size是48吗? 抱歉问题有点多。