long-context-attention

把超长上下文注意力切到多卡上,训练推理都能跑更长

开源 🏷️完全免费 🔧 仅开源项目,无在线服务,需自行部署 模型训练 🍴 复刻 87 🐛 待处理 15 👀 关注 5
GitHub ↗
GitHub 星标 ★ 696
维护状态 维护中
是否开源 开源
定价模式 🏷️完全免费 开源免费,无在线服务

项目预览

long-context-attention 项目界面预览图
图片来源:GitHub 官方仓库名片

项目数据

分类模型训练
开发团队feifeibear
定价模式🏷️完全免费
价格说明开源免费,无在线服务
访问状态🔧 仅开源项目,无在线服务,需自行部署
是否开源是
开源协议Apache-2.0
主要语言Python
技术栈/模型attention-is-all-you-need,deepspeed-ulysses,llm-inference,llm-training,pytorch,ring-attention
GitHub 星标★ 696
上线时间2024-03-27 00:00:00
代码更新2026-09-16
仓库体积4.8 MB
本站数据更新2026-11-04
维护状态维护中
收录时间2026-09-19
浏览次数2

项目介绍

long-context-attention 是面向长上下文 Transformer 训练与推理的序列并行注意力实现,核心是 USP(Unified Sequence Parallelism),把 DeepSpeed-Ulysses 式的头维切分与 Ring-Attention 式的序列维切分统一成 2D 混合并行方案。它解决的是单卡显存装不下超长序列、而单一并行策略在扩展性和通信效率上受限的问题:通过在不同并行维度上同时切分注意力头与序列块,让模型在数十万 token 的上下文长度下仍能保持较高 GPU 利用率,并兼容训练与推理两种流程。项目以 Python/PyTorch 实现,提供可直接替换的注意力接口,便于接入现有 Megatron/DeepSpeed 类训练框架,同时支持因果与非因果注意力,适合需要处理长文档、长代码库或长对话历史的大模型团队。

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-09-19 · 当前星标 ★ 696

使用教程

ℹ 本教程由 AI 依据该项目 README 整理,个别步骤可能需要按你的环境微调。

难度:高级 约 80 分钟 部署方式:本地安装 4 步

环境要求

  • 多卡 GPU
  • PyTorch 2.x
  • flash-attn 或 flashinfer

安装与启动步骤

  1. 1确认用途

    这是序列并行的注意力实现,把两种分布式注意力结合起来,用于超长上下文训练。

  2. 2装依赖

    需要特定版本的 flash-attn 与分布式后端,环境不对会在导入阶段就失败。

  3. 3单测多卡通信

    先用 torchrun 起小规模测试,确认 all-to-all 通信正常。

    torchrun --nproc_per_node=4 ./test/test_hybrid_attn.py --sp_ulysses_degree 2 --causal
  4. 4接进自己的模型

    按同样参数替换原始注意力层,先短序列验证数值一致再拉长。

如何确认成功

测试脚本在指定并行度下跑通,输出与单卡一致

注意事项

  • 并行度必须能整除 head 数,否则直接报维度错。
  • 换 ring 实现要同步改参数,混用会算错结果。

核心亮点

  • 统一 Ulysses 头并行与 Ring 序列并行,兼顾扩展性与通信效率
  • 同时覆盖训练和推理,接口可替换现有注意力模块
  • 基于 PyTorch 实现,便于接入 DeepSpeed/Megatron 生态

不足之处

  • 693 星属早期项目,生产环境验证案例有限
  • 依赖特定并行框架版本,跨框架迁移需额外适配

适用场景

  • 长文档理解模型的预训练与微调
  • 长代码库或长对话历史的大模型推理
  • 需要超长上下文的科研实验与并行策略对比

替代项目

DeepSpeed-Ulysses、Ring-Attention、Megatron-LM

上一篇:ai8x-training

下一篇:Primus

同类项目推荐

prismaquant 开源

按层敏感度自动分配量化精度,省显存不掉点

Mixed-precision quantization for LLMs. Every layer refracts into a different format ···

★ 106 2026-10-31
cevahir-ai 开源

一站式搭建语言模型,从分词到聊天全流程

Full-stack open-source AI engine for building language models — tokenizer training,···

★ 277 2026-08-09
STEPQuant 开源

定位循环状态量化误差,让低比特 LLM 更稳

STEPQuant: When and Where Errors Matter in Delta-Rule Recurrent State Quantization

★ 101 2026-10-31
runbooks 开源

在K8s上声明式微调LLM,一键跑通训练全流程

Finetune LLMs on K8s by using Runbooks

★ 169 2026-08-09
dreambooth-keras 开源

用 TensorFlow 微调 Stable Diffusion,实现个性化图像生成。

Implementation of DreamBooth in KerasCV and TensorFlow.

★ 88 2026-08-09
sd-webui-bayesian-merger 开源

自动调参合并模型,告别手动试错

opinionated bayesian optimisation for stable diffusion models block merge

★ 120 2026-08-09
mergekit 开源

拖拽式合并大模型,轻松融合多个模型能力

Tools for merging pretrained large language models.

★ 7430 2026-08-09
xTuring 开源

拖拽式微调开源大模型,几分钟打造你的专属 LLM

Build, personalize and control your own LLMs. From data pre-processing to fine-tunin···

★ 2677 2026-08-09