We're sunsetting PodQuest on 2025-07-28. Thank you for your support!
Export Podcast Subscriptions
cover of episode EP97 对话常扬:LLM盛行时代,专门的OCR模型还有意义吗?

EP97 对话常扬:LLM盛行时代,专门的OCR模型还有意义吗?

2025/3/25
logo of podcast 硬地骇客

硬地骇客

AI Deep Dive Transcript
People
常扬
赛博朋克
Topics
常扬: 我认为大模型和小模型没有绝对的量化标准,主要区别在于参数量和任务泛化性。参数量少于1B或0.1B的模型通常被认为是小模型;而任务泛化性强,能解决各种通识性问题的模型则被认为是大模型。Mistral OCR并非真正的OCR领域SOTA,而是基于其多模态模型微调而来,在中文表现较差。大模型目前在OCR等专有任务上精度和效率不如专有模型,但可以通过小成本微调实现一定OCR能力。大模型和小模型的合作模式是能力上的协同,而非算力上的协同,前者在认知阶段,后者在感知阶段。 在文字识别专用模型中,卷积神经网络(CNN)和Transformer的优劣势各不相同。CNN擅长提取局部图像特征,适合处理结构规整的文档;Transformer擅长捕捉长距离特征,适合处理复杂排版的文档。Transformer类型的模型在文字识别中逐渐成为主流,但CNN在处理局部细节复杂的场景仍具优势。Transformer模型在文档识别中可能出现幻觉问题,其处理方法包括通过视觉提示来限制幻觉生成。CNN-based OCR模型处理复杂排版(如多列、表格)的策略是先进行结构检测,再进行文字检测,最后将文字放置到合适的结构中。广义的OCR包含文字识别和信息抽取,针对特定场景(如车牌识别、化验单)的信息抽取可以通过规则或模型训练实现。处理PDF中印刷体和手写体的混合场景,需要先检测并区分印刷体和手写体,再分别进行OCR识别。目前采用单一大型OCR模型,涵盖多种场景,但对于极少数特殊场景(如螺丝钉上的文字)仍需构建专有模型。2B和2C场景的难度和投入度取决于场景的规模和泛化性,而非单纯的B端或C端属性。OCR是将物理世界图像转化为电子信息的第一步,后续可进行信息抽取、RAG等操作。语音识别和OCR的本质不同:语音识别是语义模型,需要理解发音的上下文;OCR是图像重建,忠于图像信息,不存在同音异字问题。在RAG技术应用中,如何保证结果的关联度及平衡成本与效果是两个关键问题。成本问题可以通过优化模型架构和算法来解决,例如提高预测效率。 赛博朋克: 在文字识别专用模型中,卷积神经网络(CNN)和Transformer的优劣势各不相同。Transformer类型的模型在文字识别中逐渐成为主流,但CNN在处理局部细节复杂的场景仍具优势。Transformer模型在文档识别中可能出现幻觉问题。基于CNN的OCR模型通常针对特定场景(如金融票据、车牌)进行专项训练,以提高识别率。处理PDF中印刷体和手写体的混合场景,需要先检测并区分印刷体和手写体,再分别进行OCR识别。在OCR模型构建策略上,可以采用单模型或多模型策略,取决于场景和数据量。2B和2C场景的难度和投入度取决于场景的规模和泛化性,而非单纯的B端或C端属性。RAG技术在PDF文档处理中的应用,需要考虑如何提高关联度和平衡成本与效果。

Deep Dive

Shownotes Transcript

大家好,欢迎收听尼海克,我是赛头,我是异象

我是龟龟本期节目由 Podwise 赞助播出 Podwise 是一款为播客听众制作的 AI 学习软件产品的 slogan 是 Read Before ListenPodwise 通过 AI 对播客内容进行转录提取总结分析等一系列操作帮你掰开了揉碎了硬核的播客内容同时与 Notion、Readwise 等平台的打通嵌入知识管理工作流协助您的其他包括新闻 Newsletter、Vlog 的内容帮你打造第二大脑

PODWISE 也为本期听众准备了三个五折优惠码针对本期在小宇宙与我们互动的精选回复欢迎大家踊跃来玩好的那开始我们本期的节目吧最近各大厂商自 DeepSeek R1 发布之后啊都在备战这一轮的 IOM 的军备竞赛但我有注意到欧洲的全村的希望啊 Mistral 团队最近却发布了一个 OCR 的一个模型号称做到了文字识别领域的 SOTA 啊

这让我也突然意识到一个问题就是在多摩台大模型大型起到的今天类似 OCR 这种小模型还有它存在的意义吗那为了探究这个问题我们今天也请到了文字识别领域深耕多年的常阳老师来跟我们一起聊一下 IM 跟专有模型之间的关系那欢迎常阳老师来到我们节目你可以稍微介绍一下自己还有你之前工作的领域

Hello,大家好,印第海克的朋友们,大家好我是核心系,然后做 AI 产品研发的负责人同时我也是复旦这边人工智能的博士而我研究的方向一直是人工智能的小模型和大模型相关的一些工作

那我现在的一些工作领域是在智能文字识别智能文档处理相关的领域涉及到了文字的感知和认知的部分所以也是藉由在我们这样的一个平台呢可以给大家分享一些现在的一些大小模型的一些变化包括现在大模型一些趋势上一关的一些内容还是很高兴能够见到大家

好的 那我们再次欢迎一下常友老师您刚才有提到说大模型跟专有模型嘛对吧 那我就想问一下大模型跟专有模型是怎么区分的就是有没有一些量化的标准其实大模型和专有模型它并没有一个绝对意义上的标准比如说就是现在更多的认知是小于 1B 或者小于 0.1B 的模型我们都认为是小模型

这是一个从参数档角度另外一个角度是说做专有任务的模型就叫专有模型做通识性的泛化性的任务的模型就是大模型这个部分就是在模型的能力上的一个宽度的方向上比如说 OCR 人脸识别语音识别真人物我们认为专有模型像现在这些能解决翻译摘要总结包括各种各样逻辑数学问题的一个泛化性的模型就认为是大模型

所以说如果从量化标准上我认为就是两个点一个是参数上的问题另外一个就是它的任务的一个泛化性

OK 了解那我就想问一下你看现在像 ChatGPT Gemini 还有 DeepSeek 其实他们本身好像都是支持文档识别的至少我可以传一个 PDF 进去嘛对那为什么就是 Mistro 他还要去发布一个 Mistro OCR 这样的一个专有模型我想问一下就是 OCR 的这个专有模型跟我们在大模型里边直接去上传一个 PDF 让他去识别这个本质上有区别吗

其实 Metcher OCR 这个模型所谓号称的 SOTA 其实更多是我们这边自媒体的一个自嗨其实本身它这个 OCR 的本质就是基于了它一个叫 Picture 12B 的多模态的模型对于 OCR 这样的专有任务做了微调实际上这是这个

模型的一个本质所以其实它并不是一个在我们号称是文字领域的搜查实际上它的训练数据多半都是英文的文档它在中文上我们自己测下来还是比较糟糕的但它也有一些漂亮的工作比如说在于数据上的处理和训练架构上的调整但客观来说它并不是 OCR 的这个

然后呢大模型和专有模型的本质区别就是实际上像 OCR 这样的模型它是一个微条模型刚才也有一个我可能再补充一下就是 DeepSync 其实它本身是不支持多模态的它的多模态是外接了一个 OCR 的小模型所以说

那这两个本质就可以看到它们的区别就是大模型像 OCR 这样的模型它做不到专有模型这样的精度这样的效率所以说那整个大模型还是在泛化意义上就是能力更强为什么要有 OCR 这样的 Metro OCR 这样的专有模型呢是

所以我们用小量的成本基于这样的大模型就可以做一个具备一定 OCR 能力的模型但是如果我们要到生产的领域目前依然还是做不到专有模型这样的能力的所以它们的区别也是刚才讲到的它们的任务的泛化性和专有程度的区别

OK 你刚才有讲说这个泛化跟专有程度的区别那我能不能透过我用一个 IOM 的这个大模型然后去做模型压缩或者蒸馏然后用这种方式然后把它变成一个专有模型或者小模型然后来在替代那个专有模型里边在速度跟精准性上面的优势这个有没有可能首先说大模型实际上无法替代专有模型的原因就是因为精度所以这个问题其实是

在速度上我觉得是可以讨论但是精准度上实际上蒸馏前的大参数的大模型精度已经是不能满足专有的模型的场景的需求的所以这个蒸馏和压缩更无从谈起了所以现在关注点其实就是大模型什么时候能够在垂直的领域上具备这些小模型的精度那这个时候我们可以再讨论在压缩和蒸馏上能不能将它的效率和成本上做到生产需求

OK 那看起来就说这两个东西比如说大模型跟小模型就未来还是合作大于竞争的这种感觉了我感觉就有点像我们讲大模型的这个云跟端比如 Apple Intelligence 对吧它端侧跑一个小模型但是云端它还是要用 ChatchPT 来处理一种复杂场景是这个意思吗就说您能帮我分享一下就是这种大模型跟专有模型它的合作模式吗其实和 Apple Intelligence 还不太一样

因为 Apple Intelligence 这个端测和云端它其实是物联网的一个概念我在一个简单任务下我用端测的小算力计算云端用大算力实际上是一个算力解决不同复杂问题的区别但现在的问题是大模型在 OCR 或者人脸识别或者是语音识别亦或是其他的一些场景下它的效果是不如小模型的

所以说那 Apple Intelligence 它是一个算力上的合作而大模型和小模型其实是一个能力上的合作也就是说 AI 它其实是有多个阶段有感知阶段有认知阶段有决策执行阶段就像小模型做的就是感知就让机器能够看到外物看到

外面的信息转化成电子信息但是如何去处理电子信息用逻辑性处理那这个是大模型的一个能力所以它的能力其实是认知和感知的结合我们机器能够看到东西又能够理解东西又能够生成东西这是它们的合作所以和 Apple Intelligence 还稍微有点不一样 Apple Intelligence 其实处理的是相同的问题只是复杂度不同而已

嗯对就说 Apple Intelligence 其实它是一个同构只不过因为算力的分配问题然后还有云跟端的这个区别有点像端测的叫做 Edge Computing 对吧类似于这样子的一个模式来去处理的对这个其实是两种工作模式的处理其实他们在处理不同的任务对吧对是的其实就是一个算力的分布式和一个能力分布式的区别

理解理解理解对那我就想聊回我们讲的这个文字识别这件事因为我们都知道在卷积神经网络时代这个可能算是前 AI 时代了就是我们当前这个大模型的前一个时代了在这个文字识别这件事上其实它是属于 AI101 级别的这个项目了就是比如说 TensorFlow 也好然后 PyTorch 也好在第一个产品可能都是说

我利用卷积神经网络然后去做一个手写体识别对吧那我就想问一下就是在现阶段的这个文字识别的这个专用模型上面就主流还是用卷积神经网络去做吗因为我有看到 Hugging Face 上面有一些它其实已经是基于 Transformer 在做的一些视觉模型了

就能不能跟我们分享一下我们以往去用 TensorFlow 用 PyTorch 去做的这种 CNN 的卷积神经网络的这种技术去做数学识别跟现在用 Transformer 去做视觉识别这两种背后有没有什么区别或者有没有他们自己的优劣势

其实这个挺有意思我更想从本质上来去讲这件事就是说 CNN 卷积神经网络它其实是对于一张图我们开了一个小窗口这个窗口我一直去关注这张图每个的局部所以可以理解就是 CNN 更擅长的是拿到局部的图像特征比如我们一张图上我们文档中的文字它可以一行一行一个字一个字的去看

但问题就在他并没有办法去看全局的一个内容比如说我们一张图我左上角有一个文字和右下角文字他们之间的联系或者他们之间的结构其实 CNN 是并不擅长的

所以我们可以理解 CNN 像一个放大镜一样我拿着放大镜去看图但是我这个整个图全部的信息我是拿不到的所以说在以往卷积神经网络是很难处理阅读一个长的文本的因为我们知道长文本它的信息永远在第一段和最后一段结合才有所以这就是

这个 CNN 的一个特点那这种特点下你会发现它其实对于比较规整的文档识别效果是很好的因为它的顺序是比较固定的但是如果它的顺序不太固定它的结构比较复杂比如说像一些双列的文档或者无线表有线表复杂的文档它就不行了所以 Transformer 它就特别擅长去关注到长距离之间的特征我们叫注意力机制啊

它可以关注一个字和它很远的字或者很远的结构之间的关系

所以说这种在自然场景下效果就很好比如说我们夜间随便出去拍一张夜景的商店的牌子包括我们的报纸复杂的牌坝这些它的效果就很好但是它的算力相对来说要求会高一点然后它的结果也是端到端的就是说我 Transformer 是可以直接从将图像中的文字和结构都拿出来但 CNN 我只能拿到文字

文字的排列是需要再做一个实序的建模才能输出的所以这个是不同的区别

那这样区别下我们明显可以看到那我又能看到全局的又能看到局部的模型一定是未来的方向这也是 Transformer 在 NLP 领域代替的这个卷积神经网络之后又在图像领域代表又在视频领域代表又在现在大模型理解领域代表它的观念还是它可以关注到长距离之间的关系那这个是这个技术本质的一个区别

了解那我能理解其实像您刚才介绍的现在 Transformer 类型的这种我们讲文字识别其实现在逐渐会成为未来的主流吗 CNN 它是一个关注局部感受也的就是说我们如果信息是要关注一个图像局部的很复杂的或者有多重背景的文字那我们用 CNN 在关注局部的效果其实是会高于 Transformer 就像有时候就像我们健保一样我们其实就想看小的细节

那如果我们想看全局的话那 Transformer 就是更擅长的所以说长期来看我又能关注到全局和局部的 Transformer 会代替掉 CNN 但是在这个过程中 CNN 依然有一些它自己的场景做的效果还是比较不错所以说技术其实本身没有所谓的优劣和好坏只是它们的特点不同

OK 了解那我想问一下就是像现在这种 transformer based 的这种大模型就我们其实都知道说他们在文字处理领域其实会有幻觉问题吗那现阶段在文档识别等等之类的就是他有办法能处理这种幻觉问题吗就是因为我为什么想这个问题就是因为毕竟

我们讲单字准确度这个是一方面嘛就是我看到了这个东西它能不能帮我识别出来是哪个字母这是一方面还有另外就是整体文档的识别输出那如果说它在输出的这个过程里边可能出现了一部分幻觉可能自己在那里就就开始乱打了就是这样的话可能效果就会不太好嘛就不确定说在这个层面上面现在有没有很好的办法处理这个幻觉还是说其实它不太会有这个问题嗯

其实 Transformer-based 我觉得这是要分两部分就是 Transformer-based 的模型和视觉大模型就是说本身 Transformer-based 的模型比如 VIT 它其实它的本质是对图像进行重建就是说将一张图进行严格地将它的结构和文字进行还原出来那这种模型实际上就没有环境问题和我们传统的检测模型没有区别

那另外一个视觉大模型它的核心就变了它不是对图像进行重建它是补全下一个字就是说它是根据图像的这个特征来补全我下一个部分最有可能出现的文字所以它确实会出现这样的一个幻觉因为它是要拿最大的输出概率的这个和它自己的训练的数据有关和图像的一些特征也有关系所以说

那这样的幻觉其实像这样 OCR 模型也会尽可能去避免避免的方式我觉得大家都能理解就是靠 promote 就是说靠视觉的 promote 来去限制它幻觉生成但它一定会有这是区别所以针对这个问题我觉得大家一定要区分 Transformer 它是有检测的纯粹的检测模型的检测和识别模型的也有大模型它的底层机理不一样就会有些呢造成幻觉有些不会

嗯了解我就很好奇啊就是因为我们知道在大模型出现以前其实大家都是用卷积神经网络去做 OCR 的嘛就您刚才有讲到说其实 CNN 比较难处理这种多列排版还有类似表格这样的东西我其实还挺好奇的我自己在脑子里面想啊我就感觉说这个里面就涉及到一个类似于地归识别的问题就是您刚才讲说其实我不太好识别说它是双列或者说它是一个表格

因为我都是看局部嘛所以说这个里面我感觉工程复杂度会比较高我有点好奇我想请您帮我介绍一下就是这个 CNN base 的这种 OCR 是怎么处理这种复杂排版的

我觉得你这问题特别好就是说如果你做 AI 我觉得也是一个很好的工程师因为你的逻辑就是 CNN 当时的逻辑就是说 CNN 只能关注局部那我们关注局部的时候那我整体怎么办呢所以其实就是在 CNN 之前我先有一个检测模型就像我们人眼去看一个文档一样那我比如说我先眯着眼睛看的话我看到的是结构

是看到双列多列是看到它的表格我看到结构之后我的眼睛逐渐在去清晰的看每个细节然后我再把每个细节填到我整个结构里面所以其实就是三步我先将整个的结构检测出来然后再将所有的文字检测出来然后再把文字放到合适的结构里面实际上就是你刚才说的地归识别或者叫工程的复杂度高就是 CNNbase 的这种文档解析就是这么处理复杂拍板的

但是你会想到这有一个问题,就是说这样一个复杂排版的输出其实是人工去对它定义的规则比如我们像我现在主流的一些文档解析它是人工定了我的每一页有哪些块,每个块呢可能这一块也有左右的关系,也有上下的关系

每个块里面可能是表格也可能是段落每个段落里面有可能是有很多的很多段文字也有可能是那种 item list 嗯

那这样就是人工去设定它但是这种情况就幻化性就比较差比如说针对这个报纸啊针对我们的外面的海报啊或者是夜景的文字啊等等实际上它的排版就会处理的非常糟糕但是呢我们真正的 OCR 其实在前十年落地的场景中那多半高价值的文档也都是这种标准化的排版的这些文档啊所以其实呃

就是原来的欧西亚依然在这些问题上表现好不是因为表现好是因为场景我们就选择的是这种高价值的简单场景去完成的那 Transformer 的话它就可以解决因为我们知道它可以刚才讲到了就是它可以全局的事业

然后在全局试验的时候他可以关注到整个的结构和文字而且他的输出是端到端的什么意思就是他不需要中间我刚才讲的那么多过程他在整个训练的过程就是包含了结构和文字的统一输出

所以像 LayoutRM 像 Donata 这些模型都是可以比较好的做到这种端到端的文档解析和 OCR 的输出而这样的模型就是 Transformer based 的模型但它不是 Transformer based 的大模型所以是这样了解所以说就是利用 Transformer 去做了一个类似 OCR 的专有场景然后去用它再去做训练它的泛化程度就比较高对吗

是的它其实就是因为 CNN 本身关注不到结构就是它必须你得用工程化或者 Pipeline 你要用多个模型去组合才能完成但是 Transformer 它是端到端的我可以把结构和文字我所有的这种 Token 的所有的信息都交给模型去理解它就一次性直接将它全部理解和输出所以这就是两个的区别

了解对我觉得这个就特别好刚好也帮我解决了一个问题就是因为我自己在我们去聊这期节目的时候我也有去调研了一些 OCR 的一些产品然后我就有看到像百度他们自己开源的这个 Paddle OCR 然后他们自己本身在产品在框架层面上面他们会定义一些产品的场景

比如说他说这个是金融票据对吧可能是一个报销单等等之类的对吧还有就是可能现在用的比较多的那种车牌识别还有就是医院化验单啊等等之类的就是他这个东西是因为他用了相关的数据去做了训练对吧因为用 CNN 来做的他犯坏程度比较低所以说他就用这些专有数据去单独训练这些场景然后导致他的这个就是识别率会比较高在这些场景下面识别率会比较高对吗然后我就想问一个问题就是比如说嗯

在以往的 CNN 的这个场景下面大家基本上都是这种 PDF 文件等等之类的就是它的排版是比较规整的但是很多 PDF 文件里面它可能会有人可能手写体啊等等之类的它会混合混入比如说有人在 PDF 里面记了笔记等等之类的我不确定说这种场景在以前 CNN 里面你们是怎么处理的我感觉这个处理起来挺麻烦的因为你没法训练说有手写体而且手写体

让它不一样再结合之前的那个 PDF 正式的那个文件然后再去做我确定这个你们是怎么做的我挺好奇的

其实首先是这样我先回答你第一个问题就是说区分场景来定义产品其实像我们也是这样就是除了开用的文字表格识别之外那身份证识别银行卡包括金融票据车牌等等其实这个它不是 OCR 产品的分类或者说它不是一个狭义 OCR 产品的分类它其实是一个信息抽取的任务就是说我将文字识别出来之后比如我的车牌识别我并不希望看到

车牌之外的比如说车标啊这些包括车名字等等比如小鹏小米这种我其实只想要它的数字那你的化验单其实我想要的是个结构化的信息我不想要知道哪个字在哪个地方我只想知道我的各种指标它的数字是多少它是不是超标了对吗所以其实

广义的 OCR 可以包含的就是文字识别加上信息抽取所以你刚说的场景那就是信息抽取那当然信息抽取是跟

这个场景肯定有关呀它的这个每个字段是不一样的但说模型我们需要每个单独训练吗不一定因为我 OCR 做完了之后我可以根据语义的一些鲜艳知识直接去提取啊比如我就提取我在车牌的场景中我看到了哎按照这个一个车牌的一个固定结构化的数据我拿出来就好了啊所以这是第一个问题啊

OK 那当然了有一些复杂的场景比如咱们的增值税发票啊小票啊这种结构不是很固定的我们依然会采用我刚才讲到的就是我们用结构和文字同时做训练来去完成所以它的

你既可以去做训练你也可以基于文字识别去做一些规则这两个方式都可以然后 PDF 的印刷体和手写体是这样还是回到你刚才那个 Pipeline 的逻辑就是说我们先要去看结构再要去文字识别再把文字放到固定的结构里所以我们要做印刷体和手写体的识别的话那我们需要在标注的时候就将一个 PDF 文件中哪些是手写体去标注出来

让模型先具备检测的能力就是我能检测哪个是印刷的哪个是手写的然后我在 OCR 然后我再把 OCR 里面的和手写体的框中的文字我再输出到手写体里面实际上它还是一个工程的 pipeline

OK 了解这个挺好的对我想再回问一下刚才那个车牌识别那个问题您刚才讲说在 OCR 本身这个过程里边其实我识别那张图片里边可能会包含除了车标之外的其他信息嘛所以说当我真实识别出来那个内容的时候实际上我我举个最简单的例子我用个正则把车牌取出来是吗就可以了是的

OK 了解对所以说其实您刚才讲说这个结构化这个事包括金融票据包括医院化验单等等其实您做这个结构化是为了让最终识别出来的内容它变成结构化的比如说能够存储能够干嘛的它类似于变成一个数据结构对吗去做这样的事对 是的是做信息收取的了解而且这个领域它其实你刚刚讲到了一种方法就是政责那有的时候它政责没有办法做到那我们可能先去比如说

比如说我们的车拍得很远那我可能先去定位到那个区域会是车牌所以这就又包含了一个检测我检测完了之后再做文字识别

如果说我们的车牌种类很多你的政策无法足够的涵盖我们可能把它的结构也加到我的模型训练里面比如就用 Transformer 我标注了这个结构就是我的车牌它自己会学习结构的知识学习文字的知识同时把这两件事都做了所以说这些都是这个里面还是刚才讲的工程的 Pipeline 可以根据场景来去做组合

对我觉得跟您聊了之后我发现就是一个小小的这种 OCR 识别其实它里边的工程化里边它的复杂度还是挺高的因为各种各样的场景对吧各种各样的鸡脚嘎啦的那些东西都得去处理而且又有各种金融票据车牌识别其实背后可能最终你们可能还要对接到别人的系统里面去对吧做这种企业服务的时候可能要直接比如我扫了一个票据可能用了你们的产品 OCR 的产品但最终可能是直接对接到了医院的一个信息化系统里面去对吧

对 是的所以这也是大模型小模型的区别就是每个的垂直场景看简单场景都很容易但是我们真正做深的时候就会发现这里面的鲜艳知识这里面的 know-how 还是特别重要对

对还有刚才就是我们讲的这个 PDF 里面手写跟混合体的这个问题实际上就是说我要先在前面检验的这个部分里面然后把手写体跟印刷体本身就要先区分开对吧然后我用手写体的方式去识别手写体用印刷体方式识别印刷体

对吧我觉得这个也是就是很工程化的东西就是以前我们觉得说一个 OCR 感觉就很简单这个图这个图给进去之后然后你就帮我识别每个字每个字出来但实际上真正你要把这个准确度检测的这种精确性然后给它提上去其实里边的里边的那种小的优化点还是蛮多的嗯

对而且其实度过了几个阶段就是说你刚才讲到了 OCR 是 OCR 这个受写体受写体就是印刷体和受写体识别模型不同其实现在识别模型也是相同的

就同样的模型又能识别印刷又能识别文字它只是放在了不同的一个文字的区域因为它这个里面文字的背后还加着标签比如加着它是手写底还是印刷底它加着它的颜色加着它是否有下滑线它是否有鞋体一个实体它有非常多的属性就是现在其实做的事就是把这种不文本的或者是说有多种属性都抓取出来按照不同的场景需求我们再做下一步的工作

OK 了解那我能问一下你们自己本身内部的 OCR 模型你们会去区分说这个是金融票据的 OCR 训练好的模型这是车牌训练好的 OCR 模型还是说其实你们里面是一个我们刚才不是讲大模型专有模型但是你们是一个大的专有模型所有都能识别的还是说其实你们是根据不同的场景去给别人部署不同的 OCR 模型其实是相同的

对因为它是这样就是说原有的你在最初的阶段肯定没办法做到相同因为你没有办法做到分类那么精准然后你会想着那我每个场景都做一个专有模型它一定是效果最好的

但是随着这个模型和算法结构的提升呢就是我们发现就多种的文字场景下只要我们的数据量足够大其实我们现在的 OCR 模型也是一个所谓在 OCR 领域中的大模型对它包含了非常巨大的去年数据和泛化的这些场景很多的特点场景数据都有那就是这样但是呢你说剩下 0.1%的场景我举个例子其实你刚说的车牌这些都已经解决了可以识别的很好

那比如说像一个螺丝钉工业上一个螺丝钉它这个螺丝钉螺旋的里面会印着文字它的文字并不是平面的它是螺旋印在了一个 360 度的螺丝钉上那你这样的一个识别你可能拍的一个侧面它是包含了文字的弯曲形变的而且甚至你需要一个 360 度的全景图来去拼接这个文字

那这种情况下它就需要一个再做一个专有模型因为它的文字的逻辑和我们正常逻辑区别是比较大的 OK 但是现在 99%以上的这个我们人类正常的判断下的文字场景其实都是一个大模型就是一个大的 OCR 模型了

OK 了解所以说你们现在因为自己有线上产品然后肯定还会进到企业内部去就刚才你讲的螺丝的肯定是一个企业给你们提出的场景所以说你们本身在去帮企业去做企业服务的过程里边还是会进到企业里面去收集别人的需求然后回来之后可能你们的产品团队会帮他们去做我们刚才讲的螺丝层面上面的数据训练然后模型定制等等之类的还会做这些事对吗

对 是的其实我们模型的驱动从我们自己的团队对于世界文字的理解这是第一步然后就是我们自己的鲜艳知识然后更多还是

通我们的客户 通我们的用户来驱动告诉我们原来这个世界上的文字还可以在各种各样的情况下比如我们也做了甲骨文 金文我们也做了螺丝我们也做了很多很多这样的场景现在的情况就是我们通过这种场景驱动来优化我们的模型

这是我们现在在做的事就是我们本身优化就是通过我们客户给场景我们用户给场景包括自己挖场景来去完成对我觉得你们这个生意模式很好因为客户给过来的所有的这些训练数据最终都会导致你们的这个 OCR 模型越来越好可能这个就形成壁垒了是的实际上我们就是是一家

比较纯粹的技术公司就是说我们的目标还是一个做所谓叫世界领先的文字识别也好文档的处理能力也好那这个方向那其中我们无论是做 2C 还是 2B 的产品都是我们希望达到我们的一个技术目标来在这条主线上去做的来做选择吧

了解那回过头来我就想问一下你们 2C 跟 2B 的这件事因为 2B 的场景里边我刚才有听到像那个罗斯的罗文上面的字母那个东西就很难去做嘛但是是不是在 2C 里边反倒比较容易做因为你们比如说有类似名片啊一些简单单据啊就是我不确定你们自己在内部怎么区分 2B 跟 2C 的这个难度或者说你们自己在公司里面的投入度上 2B 多一些还是 2C 多一些嗯

实际上我觉得这要看不同事情的视角所以这个也和一个企业的使命价值观也好或者说对于技术未来的愿景也好就是说我们的技术团队实际上在他们那里是不太会区分这个 2B2C 的商业价值的它更多的区分是这个场景下它的规模大小来去判断它的优先级

那即使是一个 2C 的领域一个低价值的一个场景需求但是我们的技术判断它的泛化性是很强的我们依然也会优先级很高那同样一个 2B 场景可能这一个客户他的给到我们的预算很高但是我们判断这个技术场景它的场景很小它可能就这一家企业非常特殊的一种文字的排版和需求那我们可能依然也是会

会再多考虑的啊所以说商业是商业的考虑那是 2B 和 2C 的业务团队但是技术的迭代是按照技术本身自己的路线来做了解那我们刚才有有聊到说 OCR 过后其实还要做一个结构化吗不管是我去啊

给到一个停车场里边对吧我做了车班识别然后去给他寄费也好然后我给到医院也好对吧其实这个 OCR 它其实只是一个中间结果其实我通过 OCR 拿到结构化的数据之后剩下的其实还有很多事要做然后我不确定说你们自己这家公司做到结构化为止剩下的其实就是业务系统的事了是吧就是你们其实是不会去做后续的事情的

因为这个业务系统就千奇百怪了嘛对吧其实这里我想到一个特别好玩的我觉得可能稍微有点偏题啊我就举一个例子让大家可以翻善思考就是我们人类的

成长我们从一个狩猎的阶段逐渐成长我们现在人类其实成长的就是我们的肢体成长是优于我们的文字或者信息的成长的我们先是肢体进行成长然后发生了文字发生了这样的文化但是我们发现我们做 AI 的话是我们的文字是第一步但是我们现在的巨声就是说我们机器人的行动它反而是现在做不到的

我们现在文字已经做得非常强了像大模型具备很强的能力了但是我们的身体可能才刚刚开始其实我觉得蛮有意思的就是为什么我们这两个是反向的我也不给答案我觉得我就提一下这个思考

然后那文字呢其实核心就是我们人类信息和知识的高密度载体也就是我们人类自从有了文字自从可以将文字记录在假片上记录在石壁上我们的人类的文化才得以流传才得以我们可以拿着先人的经验去往前做所以说 OCR 其实是将物理世界的图像将物理世界的文档转化成一个文字信息或者电子信息的第一步

那之后呢可能会做信息抽取啊做 reg 的知识问答呀包括大模型的训练语料包括 agent 可能获得文字信息之后下一步操作比如说出国旅游我们拍了外文的一些商品之后我们需要翻译我们需要去理解这个商品是干嘛的

在这些情况我们自己会做一部分比如说我们的新一收取我们会做我们这个刚才讲到了 RAG 我们自己也有产品就是说我们其实并不是把和和去约束在一个只做认知层的公司其实和和是一个做人工智能的公司但是我们很明确的是我们以文字作为我们的核心载体我们认为第一步是我一定是要让机器能够看到文字

我看到文字然后我再看到文字的结构我能够理解结构化的文字信息那我理解之后 OK 我们发现有些任务是能做到商业化的比如说信息抽取比如现在基于大模型做 reg 问答那我们之后呢也依然会持续的去做这种文字的理解和文字生成类的工作啊

我觉得做这一条线的人也都是这样想的就是我们都是做文字这一块的一个研究那文字的研究就是包含了感知包含了认知包含了生成所以这是这样的一个步骤了解我这里就突然想到一个比较有意思的事儿因为

我们自己其实在做的一个产品叫 Polarize 我们是在处理音频的我们做音频的转录其实跟你们这个有点像你们是图片的文字我们是音频的文字其实本质是一致的对然后我就想到一个很有意思的事就是因为在音频里面尤其是中文啊就是它有很多同音不同字的它跟图片还不太一样图片的话就是我可能比较容易能够区分当然图片可能有很字型很相似的

可能会认错当然在中文这边会有同音不同字还有就是各地方言啊等等之类的然后你会发现说包括一些专有名词有中文的专有名词是特别容易在语音识别里面出问题的对然后我们之前就想到一些说哎我能不能用现在的大模型 iOM 来去纠正那个语音识别的东西说实话用它去纠正一下之后其实效果还蛮好的因为它可以把同音不同字的字给它纠正对

对但是反正就是花点钱嘛你如果你想效果好的话其实这个是很方便的一事我不确定说你们现在在做 OCR 的时候会用 LM 去做 OCR 的纠正吗其实是这样就这个还是因为我个人比较喜欢就第一性原理来去思考事情啊就是说语音模型它的本质其实还是一个语意模型

就是说你听到的语音它并不是一个文字它只是一类文字的发音然后你需要理解这些发音它的前后的信息来判断这是什么样的文字因为你单纯从一个发音的话你完全不可能知道这是什么样的文字对吧对所以它本质是一个连续的长序列的语义模型

那 OCR 有些不同因为 OCR 它是所见即所得的它其实是对于图像的重建它这个里面并不包含语义它纯粹就是将一个图像中的文字去进行重建为我们的电子文字

那这个文字至于是什么样的信息它并不 care 然后同时也不会存在同音不同字因为它其实是同字你可能叫它同字不同音它的字是完全的百分百还原的所以这个部分其实 OCR 是不能做大模型矫正的为什么因为它是要忠于图像的比如说我的图像可能像有很多的文字可能就是我们的用户写错了好

比如说有限公司他可能就是把限去掉了他就叫有公司但我依然必须得给他识别成有公司因为我如果有限的话那个东西就是幻觉了对

对但至于你说我下一步能不能进行纠正那这个当然可以比如我的图像写错了我传到大模型之后请说这个图像中是什么样的公司那大模型却可以给它纠正把这个线加上去但是第一步的输入它一定是要精准的因为 OCR 的本质就是对于对比人来说就是人的视网膜它的视网膜的信息是不能错是不能是要非常精准的但是我们的大脑是可以将它进行纠正的

但是语音不同因为语音它就是一个语音模型它是要根据我的文字之间的搭配文字之间的长序列的联系来去还原它的信息它做了一个信息转换而那个其实不是信息转换那个只是信息的匹配所以这是本质上的不同点

对我觉得这个讲的很透彻 OSR 本身是一个图片对吧其实我是要百分百还原的但是语音里边听出来其实我听到的是一个音但是音对应的那个字其实是不确定的包括英文里边也有很多就是它发音可能类似但是甚至一样但是它可能那个单词是不一样的对吧可能都会出现这样的问题所以说其实最终还是要通过语意通过上下文然后来判断它真正是什么

我觉得这个还是很不一样的你这个确实启发了我你刚才讲说 OCR 我看到了之后我是要忠实表达的比如说我看到了这个东西它就是有公司它不是有限公司

是的但实际上根据一整段话来讲的话它其实应该是有限公司所以说我们最终可能透过你第一步识别完整个 PTF 文件然后把它变成一个 OCR 识别过的那个文字的文本信息比如举个例子是一个 markdown 之后然后后续我们可能要针对那个 markdown 去问问题要去做 reg 要去做这些东西等等然后在这个里边我可能就可以透过大马星去做一些纠正了对吧对 是的

因为它其实就是不同的任务了它就是我刚刚说 AI 它是感知认知然后再进行生成或者叫执行这个部分就每个部分做自己的事情你的理解的部分你可以你就已经在对文字内容进行加工了但是在你的感知的部分你是不能去对它加工的你就是要看到什么就是什么了解了解了解

就像语音你最早看到的其实并不是文字你最早看到的应该是语音的那个声纹一个波状的声纹实际上你波状的声纹你不能在里面做事情他即使说我声纹说了有公司你不能在里面硬加一个线但是你在语你在这个对于声纹进行语音模型理解的时候那你可以加

所以你看这是不同的地方对确实是两个不同的阶段对因为我们之前前两期有聊到 Tree IDE 就是他们在做 AI IDE 我就跟他们聊说他们其实最核心的一个能力

其实就是透过 reg 来去找相关联的代码块我觉得这个事跟 pdf 去聊就是我们讲现在大家去跟 pdf 去聊天去抓 pdf 里面的重点也好对吧找相关材料也好其实它最终都是要透过 reg 嘛然后我跟 treeide 的人在聊就说他们其实是在透过 reg 来去呃

获取它相关联赛码块因为我如果直接把一个 repo 直接丢进去的话那很大嘛 context 存不下嘛所以说我需要透过 reg 来去找其实 pdf 应该也是一样的嘛对吧我其实也要透过 reg 来去找 pdf 里面相关的文件我就不确定说你们有没有什么技巧来保障就是它的关联度因为为什么想到这个问题因为其实这个东西跟最终的效果还是蛮有关系的如果你只是用单纯的文字匹配来去找的话它效果肯定不好嘛

可能要结合一点别的一些稍微有点奇迹英巧的东西才能保证它的效果会比一般的要好一些我不确定说你们自己内部有没有什么技巧对然后还有一个就是我想问一下就是你们的这个成本问题这个问题其实我也问过 Trey 相关团队就比如说如果我的 context 足够大的情况下其实理论上我塞的越多我的效果越好但是这个就涉及到另外一个问题就是假如我是对外提供服务的这里面就涉及到成本对吧那我如何平衡我的成本

跟我的效果的问题对吧那我作为一个商业公司我肯定要考虑这个问题我不是一个现在土 VC 的我要拿钱的对吧就是两个问题啊再总结一下两个问题就第一个是你们有什么技巧来保障你们的 RAG 的结果是好的然后第二个是你们有没有考虑过成本跟效果的平衡问题嗯

我其实觉得做 reg 还是那样一定要思考这个问题的本质就是说 reg 的本质是我们拿到一部分信息对它进行加工啊进行生成那这是这个的本质就像我们呃仿仿照人类所以我有一个不同观点就是说 context 不是越长越好不一定越好啊嗯

因为你就像人我如果是看三体的话我需要去总结整个的进展那我可能需要所有的信息因为只要有所有信息我才能去提取它的关键步骤但如果我是只问了一个产品的参数比如像一个咖啡它的一个组成部分

那你如果把整个的咖啡产地这些全部都给我那实际上这么长的 contact 对我来说反而是困扰的我反而容易出错的我想要的就是你告诉我这个咖啡包含了什么样的一些材料组成每个占比多少仅此而已

所以我觉得 context 的长度一定是跟场景的就像 tree 我觉得一定也不是越长越好而是越相关越好然后相关到一定程度的时候它会有一个临界点就是过多了没有意义了过少了就太少了所以大家一直在想找这个针对不同的问题最美的一个点最好的一个点

所以说我觉得这个第一个部分就是要保障它的关联度那这个关联度觉得问题的本质还是在于第一你的数据是要足够好的就像我们人类去回答一个书上的问题的话我们在我们远古的时代我们发现书是不够多的就那个时候可能家里有一些书卷这些人都已经是大富人家了那他们就会有信息优势相较于普通人但是现在互联网时代的话我会发现

比如我们要学一个知识我们往往不是说要去知识付费的网站啊或者是说 B 站啊或者是公众号这种信息我们往往是希望能够

找到最好的最好的问到最高密度的最适合的因为现在信息太爆炸了所以我觉得关联度一定是要找到最精准的数据所以第一是它本身数据的质量而且数据刚才我也讲到了我们为什么要把数据做一个完整的结构化我们要让它的

这个阅读顺序要准确然后包括我们希望整个数据是结构化的因为我们有时候找书的话我们会先看目录嘛所以我们希望整个的目录你是清楚的可以带多极索引的那这样一串的这样的信息是能够保障它的关联度是提高的所以我总结来说刚才讲了很多我觉得关联度最关键的一个地方就是它是一个工程任务它并不是某一块的算法任务它是你的语料要够好

你的这个语料的处理要够好同时你的检索模型呢要贴合你的场景你用户的问题呢也要足够的也要精准当然你中间也可以通过这个大模型来去找到用户的关键字或者是来进行多轮问答让用户搞清楚他最终想要什么所以这是一个工程上一整个 Pipeline 的一个内容它不是技巧它是一个苦功夫嗯

了解对然后第二就是 context 的长度问题我刚才已经讲到了不是说 context 一定要很长啊就是也是跟着任务的跟着场景的然后成本的问题我其实觉得越往后这个 context 长度的成本会解决的越来越好像 deep-seq 也做了一些原来是预测一个字它现在可以预测多个字所以说这个长度会随着模型的架构的优化而优化

然后这个部分其实我又想到了一个点就像我们人类现在老是觉得我们大模型就是 scale 嘛我的模型结构越大越好然后大家可能觉得我的就是算力对算力对数据其实我觉得结构依然是有很多可以做的事情的你比如说像一个蜻蜓它的大脑是非

非常非常小的脑细胞是要低于人类的非常非常多的但是它依然可以做非常好的空间判断但是我们现在即使最好的模型我们的空间判断的效率和瞬间的反应也是比不过蜻蜓的所以说我觉得整个的网络结构呢还是可以做很高的优化而这些事情的优化就会降低 contact 的长度为什么呢因为蜻蜓它整个大脑消耗的生物能量是非常小的

但是他又能做那么大的事情所以说明我们的架构算法还是不够优化

理解我觉得今天长阳老师讲的这个真的受益匪浅包括我们讲 RAG 包括整个 OCR 的这些东西对我今天收获特别多对反正今天也特别感谢长阳老师然后能来我们节目最后一分钟时间然后你可以给大家打打广告对这是我们常规时间好的好的谢谢其实我不太想打个广告我可能想

更多就是用最后一分钟讲述一下为什么我上面说的信息大家可以有一定的参考或者说加强一些吸引度因为我所在的公司是核信息一直十几年前做扫描权动网名片权动网这些 APP 识别名片识别文字图像做了十几年了所以在这个里面有一些匠心的部分其实上面的部分都是我们整个公司的团队所做的这么多年的一些思考

同时我刚才讲到 B 端我们也做了十几年服务了这些数千家的国内外企业客户所以其实想让大家记得的就是一个品牌叫 Testin

它的全称是 Text Intelligence 就是文字智能的一个英文 Text Intelligence 所以我们取了 Text T-E-X-T 以及 Intelligence 的 I-N 我们做了这样的一个文字品牌我们希望可以把文字搭载出智能所以如果大家可能对文字的识别感兴趣对卡证票据包括文档的解析理解这些感兴趣大家可以百度搜

就不用记别的就是文本智能的一个缩写我们后续可以有更多的一些交流吧我们也希望和咱们的听众呢有良好的长期的一些互动

好的这个广告结束了好的感谢长安老师今天的时间我觉得我们后续有时间可以再约一起对我觉得你身上的料还没有挖完我们的节目也很好对我们再约点时间看后续可以再聊一聊对那我们今天时间不早了我们今天就要不然就先聊到这里下期再见拜拜好的下期再见拜拜

以上就是我们本期播客的全部内容感谢大家收听也欢迎大家踊跃留言如果你喜欢我们欢迎点赞并分享给感兴趣的朋友如果你在用苹果播客收听也希望你花几秒钟给我们一个好评这会让更多的人了解到我们要是能再点击一下订阅那就再好不过了我们下周见