关于 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中的字典

相关推荐
Xxtaoaooo1 天前
OCR文字识别前沿:PaddleOCR/DBNet++的端到端文本检测与识别
人工智能·ai·ocr·文本检测·dbnet++
Jump 不二1 天前
百度 PaddleOCR 3.0 深度测评:与 MinerU 的复杂表格识别对决
人工智能·深度学习·百度·ocr
GPUStack1 天前
0.9B PaddleOCR-VL 登顶 SOTA!GPUStack 高效推理部署实战指南
大模型·ocr·paddleocr·多模态模型·模型推理
你板子冒烟了2 天前
JJJ:SD 卡中的 OCR(Operating Conditions Register)寄存器
ocr
扶尔魔ocy2 天前
python程序打包成win的exe应用(以OCR应用为例)
python·ocr·中文识别
rannn_1113 天前
【学以致用|python自动化办公】OCR批量识别自动存为Excel(批量识别发票)
python·ocr·excel·财务
momo_al3 天前
Umi-OCR制作双层PDF
pdf·ocr
余俊晖4 天前
多模态大模型OCR幻觉缓解思路:DianJin-OCR-R1通过“再看一眼”图像减轻幻觉
人工智能·ocr