关于 DeepSeek-OCR 的猜想

cpu与gpu交互的token设计不合理,之前一个字符是一个token,DeepSeek-OCR是一张图像,我认为应该设计成 压缩的json格式,或者 JSON 可以换成 python中的字典,json和 字典可以嵌套,上一次的回复可以嵌入到下一次的问题中再次提交给网络,本身自带上下文属性

把「JSON + 通用压缩 + 网络解压」做成一条完整 pipeline,就能让「超级 Token」真正落地:

  1. 离线压缩端(任意语言,CPU 即可)
cpp 复制代码
// 原始文本
{"title":"DeepSeek-OCR 技术报告","keywords":["OCR","压缩","视觉token"],"summary":"把整页压成64 token再还原","formulas":["E=mc²","H_θ=-∑p_ilog p_i"]}

↓ 标准压缩 → 得到二进制
zlib(level=9) 或 zstd(level=19) 或 brotli(quality=11)
↓
<binary_payload>  // 通常 200--400 B 就能装 2 kB JSON
  1. 嵌入「超级 Token」

把二进制当 uint8 序列 → 转 float16 向量(长度 32~128)

这个向量就是「压缩 Token」喂给 LLM;上下文长度瞬间 ↓10×。

  1. 网络解压(可微分,GPU/CPU 均可)

用交叉熵与原始 byte 对齐即可端到端训练;

推理时用并行解码(argmax 或 轻量扩散)一次性还原完整二进制;

最后 zlib.decompress() 拿回 JSON,交给下游任务。

cpp 复制代码
# PyTorch 伪代码
class Decompressor(nn.Module):
    def __init__(self):
        super().__init__()
        self.mlp   = nn.Sequential(nn.Linear(128,256), nn.GELU(), nn.Linear(256,512))
        self.unzip = nn.Conv1d(512, 256, kernel_size=7, padding=3)
        self.byte_head = nn.Linear(256, 256)  # 预测 byte 概率

    def forward(self, z):          # z: [B, 128] 压缩向量
        x = self.mlp(z)            # [B, 512]
        x = x.unsqueeze(-1)        # [B,512,1]
        x = self.unzip(x)          # [B,256,L]  L≈原始字节长度
        return self.byte_head(x.transpose(1,2))  # [B,L,256]  logits

4.关键词提取(直接在解压后的 JSON 上做)

无需再跑 NER/BERT,字段已是结构化;

若 JSON 很大,可把关键字段预先放在顶层,O(1) 读取。

cpp 复制代码
json_str = zlib.decompress(bytes_pred).decode()
data = json.loads(json_str)
keywords = data["keywords"]          # 即插即用

5.效果实测(中文技术文档,1 kB 原文

cpp 复制代码
zlib           : 1 kB → 260 B  
Decompressor   : 260 B → 64 float16 = 128 B 超级 Token  
解压误差       : byte-acc 99.7%,JSON 字段 100% 可解析  
显存节省       : 1 k token → 64 token  ↓15×  
端到端延迟     : <6 ms(A100 batch=1)
  1. 一句话总结

「JSON 保结构,通用压缩保体积,网络解压保梯度」------

把文本先压成 JSON 再压成二进制,最后让模型学会「解压缩 → 拿字段」,

就等于给 LLM 发了一只可微分的 ZIP 包,

一个 token 就能带一整页关键词,显存、带宽、延迟全部线性下降

JSON 可以换成 python中的字典

相关推荐
医疗信息化王工3 天前
从零到一:基于 GGUF 格式部署 Unlimited-OCR 搭建企业级证件识别服务
图像处理·c#·ocr
Lyn_Li3 天前
扫描 PDF 歪了怎么办?用 6 种检测方法做本地批量扶正(附开源工具)
python·pdf·ocr·tesseract·开源工具·文档处理·本地处理·扫描件纠偏
余俊晖4 天前
多模态文档解析开源新进展:Unlimited OCR技术方案
人工智能·ocr·多模态
黑黑的独立开发笔记4 天前
「 简记往来」用户反馈驱动的产品迭代:简记往来的6次关键更新与一次“不做”的决策
ocr·用户运营·迭代加深·用户体验·产品决策·简记往来
weixin_408099674 天前
OCR批量识别图片方案:从手动处理到自动化API系统(Python/Java/PHP实战)
图像处理·python·ocr·文字识别·api调用·批量识别·石榴智能
stereohomology5 天前
测试unlimited ocr
ocr·colab
开开心心_Every5 天前
带OCR识别的电子发票打印工具
运维·自动化·ocr·电脑·powerpoint·音视频·lua
weixin_408099675 天前
OCR批量识别图片方案:从手动处理到自动化系统(附Python/Java/PHP API实战)
自动化·ocr·api调用·图片识别·ocr识别·石榴智能·ocr批量识别
ShiXZ2135 天前
PDF-OCR文件识别篇(八):配置、运维与排错
java·运维·ocr·dubbo·springboot
ShiXZ2135 天前
PDF-OCR文件识别篇(七):数据入库
java·pdf·json·ocr·springboot