DeepSeek-OCR:一张图真的值一千个字吗?
不只是OCR工具,而是在探索vision-text compression的边界
DeepSeek昨晚开源了一个OCR模型。
几小时后,Andrej Karpathy在X上发了一条长推,说这篇论文"很有意思",然后开始讨论一个激进的想法:
能不能让所有LLM的输入都变成images,包括纯文本?
马斯克也跟了一条:
"长期来看,AI模型99%以上的输入和输出都会是photons。"
我读完论文,发现他们讨论的是同一件事。
DeepSeek-OCR表面上是个OCR模型,实际上在探索一个更大的问题:
1000个字的文档,最少需要多少个vision tokens才能让LLM理解?
论文给的答案是:100个。
压缩比10倍,准确率97%。
这不只是OCR的问题,而是在挑战一个基本假设:一张图真的值一千个字吗?
今天就跟你聊聊这个。
一、论文在探索什么?
DeepSeek-OCR的论文一开始就问了一个很关键的问题:
"For a document containing 1000 words, how many vision tokens are at least needed for decoding?"
1000个字的文档,最少需要多少vision tokens才能解码?
这个问题看似简单,但它在挑战一个基本假设:一张图真的值一千个字吗?
传统想法:
- 1000个字 = 1000个text tokens
- 一张包含这1000个字的图片,也需要差不多1000个vision tokens
DeepSeek的实验结果:
- 1000个字 ≈ 100个vision tokens
- 压缩比10倍,准确率97%
这就有意思了。
如果vision tokens真的这么高效,那为什么我们还要用text tokens?
能不能把所有文本都渲染成图片,然后用vision tokens输入LLM?
这就是Andrej Karpathy看完论文后,立刻想到的 问题。
二、量化的答案:压缩边界在哪?
论文做了一个很系统的实验,用Fox benchmark测试不同压缩比下的准确率。
结果很清楚:
| 文档字数 | Vision Tokens | 压缩比 | 准确率 |
|---|---|---|---|
| 600-700字 | 100 tokens | 6.7× | 98.5% |
| 700-800字 | 100 tokens | 7.5× | 97.3% |
| 900-1000字 | 100 tokens | 9.7× | 96.8% |
| 1000-1100字 | 100 tokens | 10.6× | 91.5% |
| 1200-1300字 | 100 tokens | 12.6× | 87.1% |
看到趋势了吗?
10倍压缩以内,准确率97%+,几乎无损。
超过10倍,准确率开始下降,但12倍压缩还有87%。
如果用64个tokens(Tiny模式):
- 1000字文档,压缩比15倍,准确率85%
- 1200字文档,压缩比20倍,准确率59%
核心发现:压缩比和准确率的关系不是线性的,而是有一个"甜蜜点"——10倍左右。
论文特别提到:实际准确率比测试结果还要高,因为测试时格式对不上(formatting differences)。
这是首次有人系统地量化vision-text compression的边界。