尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
SR-SWA无限视野解析原理:Unlimited-OCR-2如何让千页文档显存保持恒定
人工智能计算机视觉OCR多模态大模型【免费下载链接】Unlimited-OCR-2项目地址https://ai.gitcode.com/hf_mirrors/baidu/Unlimited-OCR-2点击查看免费下载Unlimited-OCR-2 是百度开源的长文档 OCR 模型它用一套名为SR-SWASparse Reference Sliding Window Attention稀疏参考滑动窗口注意力的机制让千页级文档在解析时单步解码延迟与显存占用几乎保持恒定。本文面向新手用最少公式讲清楚三件事长文档 OCR 为什么总被显存卡住、SR-SWA 的原理如何对应到仓库里的具体文件、以及最快两步跑通推理的方法。一、为什么长文档 OCR 总是被显存和延迟卡住传统视觉语言模型处理文档时文本 token 与视觉 token 之间的注意力是全量的计算量随序列长度平方增长100 页 PDF 拼成 3 万 token 的序列后每生成 1 个新 token 都要和前面所有 token 做一次注意力耗时随文档页数快速膨胀KV 缓存线性膨胀上下文越长缓存越大最终触发 OOM显存不足常见的分页切块方案虽然省显存却会丢失跨页上下文——跨页的表格、公式、连续段落被硬生生切开解析质量明显下降。Unlimited-OCR-2 的目标就是同时避开这三点整份文档一次请求解析保留跨页上下文同时让单步成本不随页数增长。二、SR-SWA 核心原理把全文压缩成 512 Token 的固定工作集SR-SWA 的思想可以用一个比喻理解一个读者手里只有一块固定长度的笔记本读再厚的书笔记本上始终只保留当前最相关的 512 个 token而不是把整本书抄一遍。具体到 Unlimited-OCR-2机制分三步分块整个长序列按固定大小切成 32 token 一个的块sparse_block_size32打分一个极轻量的索引器单头、128 维给每个块打分快速判断哪一块与当前 token 最相关选择每个查询 token 只看4 个紧邻的局部块128 token 滑动窗口12 个被选中的远端块合计 16 块 512 个 token 的工作参考集。于是无论文档是 10 页还是 1000 页每个 token 每步的注意力预算都锁定在 512 个 token——这正是无限视野Unlimited-Horizon名称的由来模型的有效视野不再受上下文窗口上限约束。SR-SWA 的关键参数一览全部来自 config.json 的sparse_attention_config参数取值作用sparse_block_size32序列分块粒度token/块sparse_local_block4局部滑动窗口 4×32 128 tokensparse_topk_blocks16每查询总预算 16×32 512 tokensparse_num_index_heads1索引器仅用 1 个头开销极小per_page_image_tokens273base 模式下每页图像压缩为约 273 个 tokenmax_position_embeddings131072位置编码上限支持超长序列三、原理到代码SR-SWA 的四个关键部件原理落到仓库里就是下面这些文件1️⃣ 轻量索引器 DeepseekV2Indexer位于 _sparse_base_impl.py。它用一对低维128 维Q/K 投影给每个块打分并做 top-k 选择只花一杯水的成本换一整桶的检索能力。2️⃣ 页级感知约束page-awareOCR 场景里第 3 页的文本只该看第 3 页的图像块。为此模型采用page2d双轴位置编码页内偏移 页号与页感知图像块约束以PAGE标记划分页面查询页只能访问本页的图像块image_bucket_constrainttrue既省算力又避免跨页串扰。3️⃣ DASH 可微稀疏路由dash_attention.py 中的DashAttention用 1.5-entmax 生成稀疏且可微的块路由先验路由能从语言模型损失端到端训练无需额外蒸馏损失。4️⃣ Triton 融合内核sparse_gather_triton.py 与 sparse_gather_e2e_triton.py 实现只读选中块的融合注意力内核——没被选中的块直接跳过不做无意义计算这是恒定成本在 GPU 层面的最终落点。推理入口在 modeling_unlimitedocr.py 的infer/infer_multi多页提示自动拼成PAGEimage× 页数 的格式输出按页对齐。四、显存恒定的机制二次方复杂度去哪了把 SR-SWA 和全量注意力放在一起对比结论一目了然维度全量注意力SR-SWAUnlimited-OCR-2单步注意力计算O(序列长度)随页数爆炸O(16×32)512恒定单步激活显存随序列线性增长由固定块预算决定近似恒定KV 缓存线性增长仍线性增长线性增长可接受跨页上下文依赖分页切块易丢失整份文档单请求路由自动选块关键点在于SR-SWA消灭了平方项——文档从 50 页涨到 500 页KV 缓存只是线性变长而真正拖垮 GPU 的每步重算全部注意力被固定成了 512 token 的小窗口。服务侧还配合 SGLang 的页窗调度默认 10 页/窗口复用上一窗口的 KV 尾部进一步压低长文档的峰值显存配置细节见 README.md。五、实测效果几十页到上百页的 SOTA得益于 SR-SWAUnlimited-OCR-2 在两个层级同时刷新了长文档解析纪录MPDocBench数十页文档基准达到 SOTAMarathonDocBench项目同期发布的上百页基准同样 SOTA官方演示中一整本《Harry Potter》在单次请求内完成全书记忆解析回放。想深入数学推导与训练细节可直接阅读仓库内论文 Unlimited-OCR-2.pdf。六、新手上手最快跑通 Unlimited-OCR-2 推理方式一Transformers 快速验证5 行代码import torch from transformers import AutoModel, AutoTokenizer model_name baidu/Unlimited-OCR-2 tokenizer AutoTokenizer.from_pretrained(model_name, trust_remote_codeTrue) model AutoModel.from_pretrained(model_name, trust_remote_codeTrue, torch_dtypetorch.bfloat16).eval().cuda() pages [fyour_doc/page_{i}.jpg for i in range(1, 8)] text, n model.infer_multi(tokenizer, image_filespages) # 整份文档一次解析方式二SGLang 部署生产推荐仓库自带定制 wheelwheel/sglang-0.5.20.dev13g75b9b06b02-py3-none-any.whl安装后以 OpenAI 兼容 API 提供服务。几个影响显存的关键开关SGLANG_UOCR_EANABLE_DOC_LIMIT1开启页窗调度长文档分窗解析且复用 KV 尾部--mem-fraction-static 0.7权重 KV 的显存占比0.7 在 32 并发下稳定--max-prefill-tokens调小可线性降低 prefill 峰值显存。完整启动命令与环境变量注释都在 README.md 的 Inference 一节照抄即可。七、小结SR-SWA 用32 token 分块 索引器打分 16 块 top-k 选择把注意力预算锁定在 512 token单步延迟与激活显存与文档长度解耦页级 2D 位置编码 页感知块约束保证了跨页上下文不丢、页间不串扰对新手来说记住一句话即可文档再长模型每步只看 512 个 token——这就是千页文档显存保持恒定的全部秘密。赞分享人工智能计算机视觉OCR多模态大模型【免费下载链接】Unlimited-OCR-2项目地址https://ai.gitcode.com/hf_mirrors/baidu/Unlimited-OCR-2点击查看免费下载相关推荐为什么Unlimited-OCR-2能一次解析整本书揭秘SR-SWA无限视野技术原理为什么Unlimited OCR 2能一次解析整本书揭秘SR SWA无限视野技术原理 Unlimited OCR 2 是百度开源的超长文档 OCR 模型它的人工智能计算机视觉OCR多模态大模型多页文档OCR如何跨页续读Unlimited-OCR-2-bf16的cross_*/append_*机制详解多页文档OCR如何跨页续读Unlimited OCR 2 bf16的cross_ /append_ 机制详解 多页文档 OCR 识别时一个段落或表格被硬生生OCR计算机视觉多模态人工智能本地部署如何批量解析超长PDF文档Unlimited-OCR-2多页解析最佳实践如何批量解析超长PDF文档Unlimited OCR 2多页解析最佳实践 解析几百页的超长 PDF 一直是 OCR 的难题逐页识别会丢失跨页上下文塞进单一人工智能计算机视觉OCR多模态大模型上一篇Ctrl-C 也不怕agent-purge 崩溃安全文件交换与全程可逆设计下一篇【纯白嫖】如何将GB标准件快速插入CAD图纸机械CAD国标标准件图库完整指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

转引与二次引用:标注层级的三条判据,一条引文该落到哪一层

转引与二次引用:标注层级的三条判据,一条引文该落到哪一层

引一条自己没读过的文献,注脚里署原作者,还是署那本转手引用的著作?开题、预答辩、期刊审稿意见里这个问题被反复追问,回答却常停在「注明转引即可」。下面把标注拆成三个层级,给出三条可逐条套用的判据,再…

📅 2026/11/3 10:41:57
把一段文案变成数字人讲解视频:我开源了一个完整的数字人内容管理平台

把一段文案变成数字人讲解视频:我开源了一个完整的数字人内容管理平台

科普讲解、展厅宣讲、课程口播——这类内容最耗时间的不是创意,而是「写稿 录制 剪辑」的重复劳动。这个项目把这条链路做成了一个可运行的系统:写稿、审核、选形象、生成视频、沉淀问答,全在一个平台里完成。这是做什么的?简单…

📅 2026/11/3 10:36:50
SiemensPLC案例-自动小车(SCL)

SiemensPLC案例-自动小车(SCL)

一 创建项目二 添加新设备①控制器②HMI添加HMI设计界面(模板1)删除模板工具添加 矩形添加 图形视图添加 文字域添加 日期时间域设计界面(监控画面)重命名添加 矩形(导轨)复制 矩形(导轨&#x…

📅 2026/11/3 10:36:50
MORE NEWS

更多资讯

📰

回形针为什么能夹住纸?从材料力学到制造工艺的全面拆解

1. 写在前面:一枚回形针,凭什么值得专门拆解 说实话,我跟回形针算是老熟人了。办公桌上那一罐“paperclip”,我在无数个项目里见过它,但它真正让我停下来认真审视的,是一次整理抽屉的经历——我把一堆回形针…

📰

逆向拆解:从结果反推过程的高效学习法

1. 为什么"逆向拆解"比"正向学习"更容易出活 1.1 先看一个大家都有过的场景 这几年我观察到一个很有意思的现象:同一批人面对同一个优秀作品(无论是开源项目、漂亮的木工作品、一篇爆款文章,还是一个设计精巧的小程序&a…

📰

GD32F330单芯片方案:三相四桥臂逆变电源设计与实现

简介:面向电源工程师与嵌入式开发者的三相四桥臂逆变电源设计资料,围绕国产GD32F330微控制器展开,重点解决离网三相四线供电场景下的数字控制实现问题,适合具备一定电力电子与MCU开发基础、希望参考完整软硬件方案的中高级读者。资…

📰

如何制造buzz:从玄学到可复用的传播实操

“buzz”这个词,看着短,但在互联网语境里却非常重。它不是一个词,而是一种空气:你刷某条内容的时候,突然发现自己周围所有人都在讨论同一件事,短视频、聊天群、微信朋友圈、线下聚会的只言片语,…

📰

用Python打造热搜聚合工具:自动化追踪热点趋势与选题早报

“buzz”这个名字,来源于我每天早晨睁开眼后第一个动作——刷热搜。作为做了几年内容和运营的人,我一度陷入一种典型焦虑:打开微博热搜,看到四五十个词挂在上面,真正能作为选题灵感去深挖的只有零星几个,大…

📰

智能路面监测系统架构与关键技术解析

1. 路面状况监测系统概述在交通基础设施管理中,路面状况监测系统正逐渐成为道路养护部门的"数字眼睛"。这套系统通过分布在关键路段的监测站点,实时采集路面温度、湿度、积水深度、结冰状态等关键参数,为冬季除雪、雨季防汛等养护决…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬