Skip to content

本项目探索并实现超越传统 Transformer 架构的高效序列建模方法,重点关注状态空间模型(SSM)Mamba 和线性注意力机制等新型架构。项目基于Pytorch框架,从零设计实现了一套完整的模型训练、评估、记录和可视化方案,并完成 GLUE Benchmark 和 LRA 的适配工作。

License

Notifications You must be signed in to change notification settings

lk-aa/Professional-Integrated-Practice

Repository files navigation

高效序列建模新范式:超越 Transformer 的探索

项目概述

本项目探索并实现了超越传统 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                       # 项目说明

实现任务

基础任务

  1. 基线复现

    • 实现了标准的 Transformer 模型(Encoder-Decoder 架构)
    • 支持多种序列任务(文本分类、机器翻译等)
    • 详细文档见 doc/Baseline_Transformer_Report.md
  2. 核心实现

    • 实现了 Mamba 模型的核心序列混合机制
    • 实现了基于线性注意力的模型变体
    • 详细文档见 doc/Mamba_Model_Report.md
  3. 性能与效率对比

    • 在相同任务和数据集上进行对比实验
    • 评估指标包括准确率、Perplexity、BLEU等
    • 计算效率指标包括训练/推理速度、内存占用等
  4. 架构融合与创新

    • 实现了 SSM 与 Attention 机制的融合模型
    • 改进了 SSM 的状态表示与更新机制
    • 详细文档见 doc/fusion_model.md

创新拓展

  1. 超长序列优化

    • 实现了针对超长序列的优化策略
    • 包括并行计算、近似计算和内存优化技术
    • 详细文档见 doc/Ultra_Long_Sequence_Report.md
  2. 模型压缩与加速

    • 实现了量化、剪枝等模型压缩技术
    • 针对高效序列模型的硬件加速优化
    • 详细文档见 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 基线模型

  • 基于标准的 Transformer Encoder-Decoder 架构
  • 支持可配置的模型参数(层数、维度等)
  • 适用于多种序列任务

Mamba 模型

  • 实现状态空间模型(SSM)的核心机制
  • 支持线性复杂度的序列处理
  • 适用于长序列建模任务

融合模型

  • 结合 SSM 和 Attention 机制的优势
  • 支持可配置的融合策略
  • 适用于需要同时处理局部和全局信息的任务

技术文档

项目架构与设计

模型实现

优化与创新

工具与组件

性能指标

  • 准确率:在 GLUE 基准测试上的性能
  • 效率:训练和推理速度、内存占用
  • 可扩展性:处理超长序列的能力

许可证

本项目采用 MIT 许可证。详见 LICENSE 文件。

About

本项目探索并实现超越传统 Transformer 架构的高效序列建模方法,重点关注状态空间模型(SSM)Mamba 和线性注意力机制等新型架构。项目基于Pytorch框架,从零设计实现了一套完整的模型训练、评估、记录和可视化方案,并完成 GLUE Benchmark 和 LRA 的适配工作。

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published