编码器和解码器模型的BOS令牌



我使用T5-base为我的模型,当我做model.generate时,它似乎正在生成一些合理的东西。但我的问题是怎么做到的?

这个模型的解码器部分需要一个开始令牌来开始解码,不是吗?它是如何知道第一个令牌应该是什么样子的呢?

或者我在应该包含令牌的地方做错了训练?

如果需要,这里是一个代码示例,我使用model.generate

编辑1

除了下面的答案,我发现有一个model.config.decoder_start_token_id。这不一定是<bos>。在T5/Flan-T5的情况下,它最终是<pad>

这已经在generate方法中完成了,该方法是在Huggingface Transformers的PyTorch部分中使用GenerationMixin实现的。即使为生成提供了前缀,也会显式添加BOS(序列的开头)令牌。默认的生成算法是波束搜索。

最新更新