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行