forthezero's picture
Upload 28 files
2651102 verified

项目目标

基于扩散模型的翻译AI,实现两种语言的互译。

  • 并行生成:非自回归,同时生成所有token
  • 推理效率:通过DDIM加速,减少采样步数

要求:

  1. 首要确保最终能够训练出来
  2. 最好提升训练和推理速度
  3. 其次提升效果

架构设计

分为两个部分:中文处理和英文处理

中文处理 ←→ 英文处理
中文源语言/翻译后语言 ←扩散/逆扩散→ 噪声 ←扩散/逆扩散→ 英文源语言/翻译后语言

以中文翻译成英文为例,先将中文通过中文翻译部分进行扩散为噪声,同时中文和英文部分识别这个噪声谁更加接近,但英文部分识别到接近英文比例大于中文时,切换英文部分逆扩散,也就是通过扩散在两种语言之间相互转换

扩散可以是将一个字符扩散为更多,也可以更少,也可以改变相对位置,也可以增删

交互

训练:命令行操作,带进度条,可看到数据集训练进度,可以看到预计时间和速度,可以随时暂停和停止训练,停止训练后保存权重

先做一个用少量数据训练的模式确保可用,再让我在另一个终端做完整的训练

运行:也是命令行操作,每一步扩散都要输出一行,可以看到每一步

数据集

  • ../_dataset/tatoeba.tsv:tsv文件,一行一个句子,格式为:编号(不用管)\t中文\t编号\t英文
  • ../_dataset/cveto/train.en../_dataset/cveto/train.zh:一行一个干净的句子,两个文件相同行号对应相同含义句子,即trian.en的第123行对应train.zh的第123行