LongNet
LongNet 是一款专为突破大模型上下文长度限制而设计的开源工具,它实现了论文《LongNet: Scaling Transformers to 1,000,000,000 Tokens》中提出的核心算法。传统 Transformer 架构在处理超长文本时,往往面临计算资源爆炸或性能下降的难题,而 LongNet 成功将序列处理能力扩展至惊人的 10 亿个 token,同时确保在短序列任务上的表现不受影响。
这一突破主要得益于其独特的“膨胀注意力”(Dilated Attention)机制。该技术通过巧妙的稀疏化策略,让模型能够以极低的计算成本捕捉长距离依赖关系,从而轻松应对整本书籍、长篇法律文档、海量代码库或超长视频帧序列的分析需求。
LongNet 非常适合 AI 研究人员、大模型开发者以及需要处理极端长上下文数据的企业技术团队使用。对于希望探索下一代长序列建模能力,或正在构建需要理解海量信息应用的专业人士来说,LongNet 提供了一个即插即用的高效解决方案。只需简单的安装与调用,即可将强大的长文本处理能力集成到现有项目中,助力解锁更多人工智能的应用场景。
使用场景
某大型法律科技团队正在构建智能合同审查系统,需要让 AI 一次性读取并分析长达数百页的历史诉讼案卷与合同条款,以识别潜在的法律风险。
没有 LongNet 时
- 上下文严重丢失:受限于传统 Transformer 的上下文窗口(通常仅 4k-32k tokens),系统被迫将长文档切割成碎片处理,导致跨章节的关键逻辑关联(如前言定义与附录条款的矛盾)被彻底切断。
- 检索精度低下:为了弥补截断问题,团队不得不引入复杂的向量检索(RAG)机制,但这往往只能找到局部关键词匹配,无法理解全文宏观叙事,漏报率高。
- 推理成本高昂:维持长上下文需要极高的显存占用和计算开销,处理一份百页文档不仅速度慢,还经常因显存溢出(OOM)导致服务崩溃。
- 开发维护复杂:工程师需花费大量时间编写额外的数据分块、重叠滑动窗口及结果拼接代码,系统架构臃肿且难以调试。
使用 LongNet 后
- 全篇无损理解:借助 LongNet 支持的十亿级 token 上下文能力,系统可直接将整个案卷作为单一序列输入,精准捕捉跨越数十页的法律逻辑链条。
- 端到端精准分析:无需再依赖外部检索模块,模型直接基于完整上下文进行推理,显著提升了对于隐蔽性法律风险的识别准确率。
- 线性扩展高效运行:利用其稀疏注意力机制,即使处理超长序列,计算资源消耗也保持在线性增长范围内,大幅降低了单次推理的延迟与成本。
- 架构极简部署:开发者只需替换标准的注意力模块为
DilatedAttention,即可实现“即插即用”,省去了繁琐的分块逻辑代码,系统稳定性显著提升。
LongNet 通过突破序列长度瓶颈,让 AI 真正具备了像人类专家一样通读并理解海量长文档的核心能力。
运行环境要求
未说明
未说明

快速开始
LongNet:将Transformer扩展至10亿个标记

这是论文《LongNet:将Transformer扩展至10亿个标记》(作者:丁家宇、马书铭、董莉、张星星、黄绍涵、王文辉、魏福鲁)的开源实现。LongNet是一种Transformer变体,旨在将序列长度扩展到超过10亿个标记,同时不牺牲短序列上的性能。
安装
pip install longnet
使用方法
安装LongNet后,您可以按如下方式使用DilatedAttention类:
import torch
from long_net import DilatedAttention
# 模型配置
dim = 512
heads = 8
dilation_rate = 2
segment_size = 64
# 输入数据
batch_size = 32
seq_len = 8192
# 创建模型和数据
model = DilatedAttention(dim, heads, dilation_rate, segment_size, qk_norm=True)
x = torch.randn((batch_size, seq_len, dim))
output = model(x)
print(output)
LongNetTransformer
一个完全可训练的Transformer模型,包含带有层归一化的前馈网络、SWIGLU以及并行Transformer块的扩张注意力层。
import torch
from long_net.model import LongNetTransformer
longnet = LongNetTransformer(
num_tokens=20000,
dim=512,
depth=6,
dim_head=64,
heads=8,
ff_mult=4,
)
tokens = torch.randint(0, 20000, (1, 512))
logits = longnet(tokens)
print(logits)
训练
- 要在enwiki8数据集上运行一个简单的训练任务,请先克隆仓库,安装
requirements.txt中的依赖项,然后运行python3 train.py。
LongNet 简介
在大型语言模型时代,序列长度的扩展已成为关键瓶颈。然而,现有方法要么面临计算复杂度问题,要么受限于模型表达能力,从而限制了最大序列长度。本文提出了LongNet,一种能够将序列长度扩展到超过10亿个标记的Transformer变体,且不会降低短序列上的性能。具体而言,他们提出了扩张注意力机制,该机制随着距离的增加呈指数级扩大注意力范围。
特点
LongNet具有显著优势:
- 其计算复杂度为线性,且与标记数呈对数关系。
- 可作为分布式训练器用于极长序列。
- 其扩张注意力机制可以直接替代标准注意力机制,能够无缝集成到现有的基于Transformer的优化框架中。
实验结果表明,LongNet在长序列建模和通用语言任务上均表现出色。他们的工作为处理超长序列开辟了新的可能性,例如将整个语料库甚至整个互联网视为一个序列来处理。
引用
@inproceedings{ding2023longnet,
title={LongNet: Scaling Transformers to 1,000,000,000 Tokens},
author={Ding, Jiayu and Ma, Shuming and Dong, Li and Zhang, Xingxing and Huang, Shaohan and Wang, Wenhui and Wei, Furu},
booktitle={Proceedings of the 10th International Conference on Learning Representations},
year={2023}
}
待办事项
- 修复ParallelTransformer Block的前向传播,使其使用扩张注意力
- 在enwiki 8数据集上进行训练并测试
- 实现多头注意力机制
版本历史
0.4.82023/08/100.4.32023/08/100.4.22023/08/020.4.12023/07/170.4.02023/07/140.3.92023/07/140.3.82023/07/140.3.72023/07/120.3.62023/07/120.3.52023/07/120.3.32023/07/120.3.22023/07/120.3.12023/07/120.3.02023/07/120.2.92023/07/120.2.82023/07/120.2.72023/07/120.2.62023/07/120.2.52023/07/100.2.42023/07/10常见问题
相似工具推荐
openclaw
OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
gemini-cli
gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。
markitdown
MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器
