本项目探索并实现了超越传统 Transformer 架构的高效序列建模方法,重点关注状态空间模型(SSM)和线性注意力机制等新型架构。这些方法在处理长序列时具有线性计算复杂度,有望在保持高性能的同时显著提升效率。
Transformer 模型在序列处理中取得了巨大成功,但其处理长序列时的二次方计算复杂度限制了其应用。状态空间模型(SSM)如 Mamba 及线性注意力等新型架构,以其线性复杂度展现出巨大潜力,有望在保持高性能的同时显著提升效率。本任务旨在探索、实现并优化这些前沿的高效序列建模方法。
.
├── assets/ # 项目资源文件
├── dataset/ # 数据集存储目录
│ ├── glue_data/ # 原始 GLUE 数据
│ └── glue_data_std/ # 标准化后的 GLUE 数据
├── doc/ # 项目文档
├── models/ # 模型实现
│ ├── transformer/ # Transformer 相关模型
│ └── efficient/ # 高效模型实现
├── trainers/ # 训练器
├── evaluators/ # 评估器
├── tokenizer/ # 分词器
├── utils/ # 工具函数
├── scripts/ # 运行脚本
├── test/ # 测试代码
├── tools/ # 辅助工具
├── ultra_long_sequence_explore/ # 超长序列探索模块
├── __init__.py # 项目初始化
├── run.sh # 运行脚本
├── test.sh # 测试脚本
└── README.md # 项目说明
-
基线复现
- 实现了标准的 Transformer 模型(Encoder-Decoder 架构)
- 支持多种序列任务(文本分类、机器翻译等)
- 详细文档见
doc/Baseline_Transformer_Report.md
-
核心实现
- 实现了 Mamba 模型的核心序列混合机制
- 实现了基于线性注意力的模型变体
- 详细文档见
doc/Mamba_Model_Report.md
-
性能与效率对比
- 在相同任务和数据集上进行对比实验
- 评估指标包括准确率、Perplexity、BLEU等
- 计算效率指标包括训练/推理速度、内存占用等
-
架构融合与创新
- 实现了 SSM 与 Attention 机制的融合模型
- 改进了 SSM 的状态表示与更新机制
- 详细文档见
doc/fusion_model.md
-
超长序列优化
- 实现了针对超长序列的优化策略
- 包括并行计算、近似计算和内存优化技术
- 详细文档见
doc/Ultra_Long_Sequence_Report.md
-
模型压缩与加速
- 实现了量化、剪枝等模型压缩技术
- 针对高效序列模型的硬件加速优化
- 详细文档见
doc/Model_Compression_Report.md
项目支持以下数据集:
- Long Range Arena (LRA):评估长距离依赖能力
- GLUE Benchmark:自然语言理解任务
- PG-19 / BookCorpus:长文本语言建模
# 创建虚拟环境
python -m venv venv
source venv/bin/activate # Linux/Mac
# 或
.\venv\Scripts\activate # Windows
# 安装依赖
pip install -r requirements.txt# 下载 GLUE 数据集
python tools/download_glue_dataset.py
# 统一数据格式
python tools/unify_glue_format.py# 提取语料库
python tokenizer/extract_glue_corpus.py
# 训练分词器
python tokenizer/train_tokenizer.py# 运行基线 Transformer 实验
python scripts/run_baseline.py
# 运行 Mamba 模型实验
python scripts/run_mamba.py
# 运行融合模型实验
python scripts/run_fusion.py模型训练脚本集合查询:
# 运行训练 Transformer / Mamba 模型脚本
bash run.sh
# 运行训练 Fusion 模型脚本
bash test.sh- 基于标准的 Transformer Encoder-Decoder 架构
- 支持可配置的模型参数(层数、维度等)
- 适用于多种序列任务
- 实现状态空间模型(SSM)的核心机制
- 支持线性复杂度的序列处理
- 适用于长序列建模任务
- 结合 SSM 和 Attention 机制的优势
- 支持可配置的融合策略
- 适用于需要同时处理局部和全局信息的任务
- 项目代码架构报告 - 详细说明项目的整体架构和模块设计
- 数据模块文档 - 数据加载、处理和预处理的详细说明
- GLUE 数据集下载指南 - GLUE 数据集的下载和处理说明
- Transformer 基线模型报告 - 标准 Transformer 模型的实现细节
- Mamba 模型报告 - Mamba 状态空间模型的实现和优化
- 融合模型报告 - SSM 与 Attention 融合架构的设计与实现
- 分词器技术报告 - 自定义分词器的设计与实现
- 准确率:在 GLUE 基准测试上的性能
- 效率:训练和推理速度、内存占用
- 可扩展性:处理超长序列的能力
本项目采用 MIT 许可证。详见 LICENSE 文件。