File size: 1,668 Bytes
2651102
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
## 项目目标

基于扩散模型的翻译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行