本项目从头实现了一个完整的Transformer模型,用于翻译任务(英语→中文)。
- ✅ 完整Transformer架构(编码器+解码器)
- ✅ 多头自注意力机制
- ✅ 位置编码(绝对和相对)
- ✅ 残差连接和层归一化
- ✅ AdamW优化器 + 余弦学习率调度
- ✅ 梯度裁剪
- ✅ 训练曲线可视化
- ✅ 模型保存
- ✅ 消融实验支持
transformer-assignment/
├── ablation_experiments.py(消融实验)
├── model.py
├── train.py(训练代码)
├── data_loader.py(加载数据)
├── checkpoints/ (自动创建)
├── results/ (自动创建)
└── dataset/en-zh/ (数据集)
├── train.tags.en-zh.en
├── train.tags.en-zh.zh
├── IWSLT17.TED.dev2010.en-zh.en.xml
└── IWSLT17.TED.dev2010.en-zh.zh.xml温馨提示:在开始运行前推荐在代码中修改本地路径,防止运行路径错误
sh scripts/run.sh
conda create -n transformer python=3.10
conda activate transformer
pip install -r requirements.txtpython src/train.pypython src/ablation_experiments.py训练完成后,结果将保存在 results/ 目录:
训练/验证损失曲线和困惑度、BLEU曲线
消融实验曲线
训练完成后,结果将保存在 results/ 目录:
训练/验证损失曲线和困惑度、BLEU曲线
消融实验曲线
训练:
消融实验:

