|
最近在搞一点LLM的应用工作,前期主要是对PDF进行文字识别和信息抽取。前者靠OCR软件,后者靠LLM。
OCR部分,试用了OlmOCR、Tesseract OCR(及二次开发版OCRMyPDF)、商业PDF软件、Grobid、PDF2TXT等。
在这些模型当中,OlmOCR、是基于视觉大模型模型的,必须用显卡。Grobid可以CPU可以GPU,用GPU效果更好一点。商业PDF软件只用钱,效果因厂商而异。PDF2TXT是一个轻量的Python库,只适合抽取最简单的文档。
对相同的百篇文献的实测效果中,OlmOCR >> Grobid GPU ~ 商业PDF软件中较好的那些 >= Grobid CPU ~ Tesseract OCR ~ >> PDF2TXT ~ 商业PDF软件中较差的那些
追求最高质量优选OlmOCR(https://olmocr.allenai.org/,有个免费demo),是热乎的新开源项目(2025)。能够非常精准地抽取文字和表格,能够忠实地还原文本的顺序、结构,对于数学公式在大部分情况下也是准的。支持若干种语言(至少我试了中文、英文、日语、西班牙语、德语都没问题),效果最佳。但是OlmOCR在批量处理时极其吃显存和内存,我直接吃到了74G显存+100G内存。想稳健使用需要H800(租卡13.5元/小时),一个小时可以抽取数千至万页。
我不知道官方是怎么号称20G显存能跑的,可能做了参数量化+flash attention?不过不进去改模型调用代码是改不了的,外部命令行参数改了也并不能减少多少消耗。官方说成本是$1.9/万页,和我算着差不多。需要注意依赖库有10G,模型参数也有16G,从pip和huggingface拉取模型参数时需要代理优化,或者通过pip镜像/hf-mirror镜像。转出来是jsonl格式。
追求最高速度、本地使用,能够接受失败率,优选Grobid CPU版本。需要注意Grobid产生的是一种xml文件,后面需要自己(AI)写个python脚本转一下txt。我用它抽了大概2.5万篇论文,主体内容都还可以,参考文献和公式有时比较难绷,偶尔会因为分栏、小文本框出现位置错乱。总体而言95%的情况下能用,2-5%的文档比较失败的。优势在于部署非常方便(docker),消耗也少,笔记本四线程并发消耗16 G内存,一小时抽取数万页。而且自己带一个API服务。
商业软件非常一言难尽,好的其实确实不错,网页端点开即用,可以在线自己修改小错误、重切等。就是价格来到50-100元每万页,资料少、比较重要的话可以手操。烂的你很难想象,竟然跟PDF2TXT这个只有kb级的python库一个档次,甚至还不如,充斥着一个公式切成30行的窒息结果。结果这还要几刀一小时的云服务/容器。
|
评分 Rate
-
查看全部评分 View all ratings
|