我对 Hugging Face 存储库上的语言模型微调代码有疑问。BERT 模型的 forward 方法似乎将一个名为attention_mask的参数作为输入。
文档说注意掩码是在将序列批处理在一起时使用的可选参数。该参数向模型指示应该注意哪些标记,哪些不应该注意。例如,tokenizer 编码方法返回这个注意掩码,一个二进制张量,指示填充索引的位置,以便模型不注意它们,这是有道理的。
但是,如果我没记错的话,我在语言模型微调的代码中看不到这个注意掩码的用法。实际上,在前向传递期间,只有输入 id 作为输入给出,参见此代码。
我的问题是:这是否意味着我们不会在训练期间消除对填充标记的关注?将它们考虑在内是否有意义?或者也许我错过了代码中的某些内容?
非常感谢您的回答 :)
编辑
我注意到 Hugging Face 构建数据集的方式根本不需要填充(请参阅此代码)