Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Transformer 翻译任务

项目描述

本项目从头实现了一个完整的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.txt

训练模型

python src/train.py

消融实验

python src/ablation_experiments.py

实验结果

训练完成后,结果将保存在 results/ 目录:

训练/验证损失曲线和困惑度、BLEU曲线

消融实验曲线

实验结果

训练完成后,结果将保存在 results/ 目录:

训练/验证损失曲线和困惑度、BLEU曲线

消融实验曲线

部分实验结果:

训练:

training_curves_bleu

消融实验:

ablation_bleu_comparison

About

这是一个基于 PyTorch 实现的 Transformer 模型,用于英中机器翻译任务。项目包含完整的训练流程、消融实验和评估指标。

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages