一、train_src是否应该填写.bpe文件? 根据模型介绍里预处理后得到的两个文件是train.en.tok.bpe&train.zh.tok.bpe。 configuration.json配置的train_src和train_trg应该是这两个bpe文件吧?看了下源码读取的就是填写的文件,但是预处理后生成的是bpe文件,有一点困惑。
二、train_max_len定义的是每一条训练数据的长度吧? 配置了自己找的语料库(4w+数据)后,训练完成执行测试总感觉没有任何效果。。不知道是不是哪个参数配置错误了,看代码应该是跑了,不知道是不是我的配置有问题。
附图是我训练时的执行结果。
您好,以下是针对两个问题的回复: 1.由于模型文件里包含的train.en和train.zh已经是经过tokenization和BPE预处理后的结果,所以配置文件里面的train_src和train_trg字段分别置成了train.en和train.zh。在使用的时候,用户需要将自有数据经过预处理,然后再配置这两个字段。 2. train_max_len定义的是训练集中每一条源文或译文的最大长度。从图片来看,可能存在一以下几个原因:(1)训练数据太少,基础模型是基于2亿+的双语数据训练完成,如果紧接用用4w+(非垂直领域)数据进行微调,可能看不出明显效果;(2)loss过大,可以排查一下预处理阶段是否有误,一般微调初始阶段的loss会在2-4之间(排除这4w+数据属于极特别的垂直领域、与通用场景差异较大的情况);(3)迭代步数过少,模型尚未收敛。