草庐IT

当GPT-4学会看图文,一场生产力革命已势不可挡

机器之心 2023-03-28 原文
「太卷了!」

在经历了 GPT-4 和微软 ​Microsoft 365 Copilot ​的连续轰炸后,相信很多人都有这样的感想。

与 GPT-3.5 相比,GPT-4 在很多方面都实现了大幅提升,比如在模拟律师考试中,它从原来的倒数 10% 进化到了正数 10%。当然,普通人对于这些专业考试可能没什么概念。但如果给你看一张图,你就明白它的提升有多么恐怖了:

图源:清华大学计算机系教授唐杰微博。链接:https://m.weibo.cn/detail/4880331053992765

这是一道物理题,GPT-4 被要求根据图文逐步解题,这是 GPT-3.5(此处指升级之前的 ChatGPT 所依赖的模型)所不具备的能力。一方面,GPT-3.5 只被训练用来理解文字,题中的图它是看不懂的。另一方面,GPT-3.5 的解题能力也很薄弱,鸡兔同笼都能把它难倒。但这一次,两个问题似乎都被解决得非常漂亮。

当所有人都以为这就是王炸的时候,微软又放出了一个重磅炸弹:GPT-4 这些能力已经被整合到一个名为 Microsoft 365 Copilot 的新应用中。凭借强大的图文处理能力,Microsoft 365 Copilot 不仅可以帮你写各种文档,还能轻松地将文档转换成 PPT、将 Excel 数据自动总结成图表……

从技术亮相到产品落地,OpenAI 和微软只给了大众两天的反应时间。似乎在一夜之间,一场新的生产力革命已经到来。

由于变革来得太快,学界和业界都或多或少地处于一种迷茫和「FOMO(fear of missing out,怕错过)」的状态。当前,所有人都想知道一个答案:在这场浪潮中,我们能做些什么?有哪些机会可以抓住?而从微软发布的 demo 中,我们可以找到一个清晰的突破口:图文智能处理

在现实场景中,各行各业的很多工作都和图文处理有关系,比如把非结构化数据整理成图表、根据图表写报告、从海量的图文信息中抽取出有用信息等等。也正因如此,这场革命的影响可能远比很多人想象得还要深远。OpenAI 和沃顿商学院最近发布的一篇重磅论文​对这种影响做了预测:约 80% 的美国劳动力至少有 10% 的工作任务可能会受到 GPT 引入的影响,而约 19% 的工人可能会看到至少 50% 的任务受到影响。可以预见,这里面很大一部分工作是涉及图文智能的。

在这样一个切入点上,哪些研究工作或工程努力是值得探索的呢?在近期中国图象图形学学会(CSIG)主办,合合信息、CSIG 文档图像分析与识别专业委员会联合承办的 CSIG 企业行活动中,来自学界和业界的多位研究者围绕「 图文智能处理技术与多场景应用技术」展开了深入探讨,或许能给关注图文智能处理领域的研究者、从业者提供一些启发。

处理图文,从做好底层视觉开始

前面提到,GPT-4 的图文处理能力是非常令人震撼的。除了上面那个物理题,OpenAI 的技术报告里还举了其他例子,比如让 GPT-4 读论文图:

不过,要想让这样的技术广泛落地,可能还有很多基础工作要做,底层视觉便是其中之一。

底层视觉的特征非常明显:输入是图像,输出也是图像。图像预处理、滤波、恢复和增强等都属于这一范畴。

「底层视觉的理论和方法在众多领域都有着广泛的应用,如手机、医疗图像分析、安防监控等。重视图像、视频内容质量的企业、机构不能不关注底层视觉方向的研究。如果底层视觉没做好,很多 high-level 视觉系统(如检测、识别、理解)无法真正落地。」合合信息图像算法研发总监郭丰俊在 CSIG 企业行活动分享中表示。

这句话要怎么理解?我们可以看一些例子:

和 OpenAI、微软 demo 中所展示的理想情况不同,现实世界的图文总是以充满挑战的形式存在,比如存在形变、阴影、摩尔纹,这会加大后续识别、理解等工作的难度。郭丰俊团队的目标就是在初始阶段把这些问题解决好。

为此,他们将这项任务分成了几个模块,包括感兴趣区域(RoI)的提取、形变矫正、图像恢复(如去除阴影、摩尔纹)、质量增强(如增强锐化、清晰度)等。

这些技术组合起来可以打造一些非常有意思的应用。经过多年的摸索,这些模块已经实现了相当不错的效果,相关技术已被应用于公司旗下的智能文字识别产品「扫描全能王」里。

从字到表,再到篇章,一步步读懂图文

图像处理好之后,接下来的工作就是识别上面的图文内容。这也是一个非常细致的工作,甚至可能以「字」为单位。

在很多现实场景中,字不一定会以规范的印刷体的形式出现,这就给字的识别带来了挑战。

以教育场景为例。假设你是一位老师,你肯定想让 AI 直接帮你把学生作业全部批改好,同时把学生对各部分知识的掌握情况汇总一下,最好还能把错题、错别字及改正建议给出来。中国科学技术大学语音及语言信息处理国家工程实验室副教授杜俊就在做这方面的工作。 

具体来说,他们创建了一套基于部首的汉字识别、生成与评测系统,因为与整字建模相比,部首的组合要少得多。其中,识别与生成是联合优化的,这有点像学生学习时识字与写字互相强化的过程。评测的工作以往大多聚焦在语法层面,而杜俊的团队设计了一种可以直接从图像中找出错别字并详细说明错误之处的方法。这种方法在智能阅卷等场景中将非常有用。

文字之外,表格的识别与处理其实也是一大难点,因为你不仅要识别里面的内容,还要理清这些内容之间的结构关系,而且有些表可能连线框都没有。为此,杜俊团队设计了一种「先分割,后合并」的方法,即先把表格图像拆分成一系列基础网格,然后再通过合并的方式做进一步纠正。

杜俊团队「先分割,后合并」的表格识别方法。

当然,所有这些工作最后都会在篇章级别的文档结构化和理解方面发挥作用。在现实环境中,模型所面临的文档大多不止一页(比如一篇论文)。在这一方向,杜俊团队的工作聚焦于跨页文档要素分类、跨页文档结构恢复等。不过,这些方法在多版式的场景下还存在局限性。

大模型、多模态、世界模型…… 未来路在何方?

聊到篇章级别的图文处理与理解,其实我们离 GPT-4 就不远了。「多模态的 GPT-4 出来后,我们也在想能不能在这些方面做些事情」,杜俊在活动现场说到。相信很多图文处理领域的研究者或从业者都有此想法。

一直以来,GPT 系列模型的目标都是努力提高通用性,最终实现通用人工智能(AGI)。此次 GPT-4 所展现出的强大的图文理解能力是这种通用能力的重要组成部分。要想做出一个拥有类似能力的模型,OpenAI 给出了一些借鉴,也留下了不少谜团和未解决的问题。

首先,GPT-4 的成功表明,大模型 + 多模态的做法是可行的。但大模型要研究哪些问题,多模态的夸张算力需求如何解决都是摆在研究者眼前的挑战。

对于第一个问题,复旦大学计算机学院教授邱锡鹏给出了一些值得参考的方向。根据 OpenAI 之前透露的一些信息,我们知道 ChatGPT 离不开几项关键技术,包括情景学习(in-context learning)、思维链(chain of thought)和指令学习(learn from instructions)等。邱锡鹏在分享中指出,这几个方向都还有很多待探讨的问题,比如这些能力从哪里来、如何继续提高、如何利用它们去改造已有的学习范式等。此外,他还分享了对话式大型语言模型构建时应该考虑的能力以及将这些模型与现实世界对齐可以考虑的研究方向。

对于第二个问题,厦门大学南强特聘教授纪荣嵘贡献了一个重要思路。他认为,语言和视觉存在着天然的联系,二者的联合学习已经是大势所趋。但面对这波浪潮,任何一个高校或实验室的力量都显得微不足道。所以他现在从自己就职的厦大开始,尝试说服研究人员将算力整合起来,形成一个网络去做多模态大模型。其实,在前段时间的一个活动上,专注于 AI for Science 的鄂维南​院士也发表了类似看法,希望各界「敢于在原始创新方向上集中资源」。

不过,GPT-4 所走的路就一定会通向通用人工智能吗?对此,有些研究者是存疑的,图灵奖得主 Yann LeCun 便是其中之一。他认为,当前的这些大模型对于数据、算力的需求大得惊人,但学习效率却很低(比如自动驾驶汽车)。因此,他创立了一套名为「世界模型」(即世界如何运作的内部模型)的理论,认为学习世界模型(可以理解为为真实世界跑个模拟)可能是实现 AGI 的关键。在活动现场,上海交通大学教授杨小康分享了他们在这个方向上的工作。具体来说,他的团队着眼于视觉直觉的世界模型(因为视觉直觉信息量大),试图把视觉、直觉以及对时间、空间的感知建模好。最后,他还强调了数学、物理、信息认知与计算机学科交叉对这类研究的重要性。

「毛毛虫从食物中提取营养,然后变成蝴蝶。人们已经提取了数十亿条理解的线索,GPT-4 是人类的蝴蝶。」在 GPT-4 发布的第二天,深度学习之父 Geoffrey Hinton 发了这样一条推文。

目前,还没有人能够断定这只蝴蝶将掀起多大的飓风。但可以肯定的是,这还不是一只完美的蝴蝶,整个 AGI 世界的拼图也尚未完成。每位研究者、从业者都还有机会。

有关当GPT-4学会看图文,一场生产力革命已势不可挡的更多相关文章

  1. ruby - 使用 Ruby CSV 创建 Rails 记录,其中字符串字段不可查询 - 2

    我正在尝试将种子数据从CSV文件加载到我的Rails应用程序中。我最初安装了fastercsvgem,却发现从ruby​​1.9开始,fastercsv已被弃用,取而代之的是CSV库。所以在收到一个非常有用的错误告诉我切换后,我切换到CSV。然而,现在我遇到了最奇怪的现象,当我加载数据时一切看起来都很正常,但我似乎无法查询字符串字段。字符串字段由看似正确的字符串填充,但我无法访问它们。我可以查询任何数字字段,结果将返回,但不会返回字符串字段。我尝试使用引号的定界符,但无济于事。我什至从我的csv文件中删除了所有引号,但我仍然无法查询字符串字段。下面是我的代码,以及一些来自Rails控制

  2. ruby - IO::EAGAINWaitReadable:资源暂时不可用 - 读取会阻塞 - 2

    当我尝试使用“套接字”库中的方法“read_nonblock”时出现以下错误IO::EAGAINWaitReadable:Resourcetemporarilyunavailable-readwouldblock但是当我通过终端上的IRB尝试时它工作正常如何让它读取缓冲区? 最佳答案 IgetthefollowingerrorwhenItrytousethemethod"read_nonblock"fromthe"socket"library当缓冲区中的数据未准备好时,这是预期的行为。由于异常IO::EAGAINWaitReadab

  3. ruby-on-rails - capybara 错误:Selenium::WebDriver::Error::ElementNotVisibleError:元素不可见 - 2

    我正在使用TrixWYSIWYGeditor在我的应用程序中。对于我的capybara测试:我要填写编辑器。我找到了这篇文章:Howtotestbasecamp'stripeditor...这似乎很有希望。不幸的是,它一直给我这个错误:Selenium::WebDriver::Error::ElementNotVisibleError:elementnotvisible所以看起来Capybara发现元素没问题,但它只是没有与之交互,因为Capybara必须有一些默认设置才能不与隐藏/不可见元素交互。环顾四周后,我发现了这个Stackoverflow问题:Isitpossibletoin

  4. ruby-on-rails - 为什么 Array.count 在开发模式下可用但在生产模式下不可用? - 2

    对于最近的一个项目,我有几个View是这样的代码:这在开发模式下工作得很好......我将它推出到生产模式并且它爆炸了,说count不是Array的有效方法。我将每个实例都改为使用Array#length,它似​​乎可以正常工作。1)这种行为差异的原因是什么?2)我应该注意开发模式和生产模式之间的任何其他令人兴奋的差异吗?道德:确保您的生产托管环境使用与本地开发环境相同的Ruby版本。:)谢谢汤姆 最佳答案 count方法仅在Ruby1.9及更高版本中可用。我建议您使用与服务器相同版本的Ruby以避免此类问题-1.9中发生了很多变化

  5. 【云计算】私有云在VMware下虚拟机的创建与配置(图文教程) - 2

    【适用平台】私有云   说明:完成私有云部分是需要两台虚拟机的,分别为controller、compute两个节点,但我们只需配置一台,然后克隆就方便多啦!需要用到的映射文件:关于vm的安装我就不介绍的,毕竟挺简单的,下面让我们看看基于私有云模块中,虚拟机的搭建吧。1、创建新的虚拟机,这里一般我会选择自定义,毕竟后面的配置都要根据私有云相关来进行搭建,会比较复杂。(如果是基础的可以选择典型,典型的满足一般虚拟机的配置) 2、选择稍后安装操作系统会比较方便后续的选择,这里你也可以自己选择自己的映像文件(但不建议)  3、我们是基于Linux下操作的,所以选择Linux客户机操作系统,版本选择自己

  6. ruby-on-rails - 将配置文件模型的某些属性设置为对其他用户公开(可见)或私有(private)(不可见)的最佳方法是什么? - 2

    我有一个Profile模型,它有很多属性,比如电子邮件、图像、年龄、地址等。最终用户可以将某些属性设为私有(private),以便其他用户无法查看。我通过向表private_attr添加一列并将其序列化以存储哈希来解决这个问题:-{email:true,address:true,age:false}这里的属性作为具有值true的键被认为是私有(private)的,不会向除这些属性所属的用户以外的用户显示。我想知道这是解决这个问题的最好方法,还是有其他方法。提前致谢。 最佳答案 我认为您可以只序列化用户希望在数组中私有(private

  7. ruby - 如何删除 ruby 中的不可打印/不可见字符? - 2

    有时我在字符串中间有邪恶的不可打印字符。这些字符串是用户输入的,所以我必须让我的程序很好地接收它,而不是试图改变问题的根源。例如,他们可以有zerowidthno-breakspace在字符串的中间。例如,在解析.po文件时,一个有问题的部分是文件中间的字符串"heisamanofgod"。虽然一切看起来都是正确的,但使用irb检查它会显示:"heisamanofgod".codepoints=>[104,101,32,105,115,32,97,32,65279,109,97,110,32,111,102,32,103,111,100]我相信我知道什么是BOM,而且我什至能很好地处理

  8. 解决台式机麦克风不可用问题,只有音频输出,无音频输入 - 2

    解决台式机麦克风不可用问题戴尔灵越3880最近因为需要开线上会议,发现戴尔台式机音频只有输出没有输入,也就是只能听见声音,无法输入声音。先后尝试了各种驱动安装更新之类的调试,无果。之后通过戴尔支持解决~这里多说一句,专业的就是专业,问题描述过去,直接给了解决方案,可能是他们遇到的相似问题比较多了,但也告诉我们,有些时候是可以通过这些官方服务解决问题的,比起自己折腾效率要高很多。那就记录一下吧~问题描述:电脑只能输出声音,不能输入声音。1、前提需要准备一只带麦克风的耳机,将耳机插入面板。2、先确定是否可以听到声音,可以通过播放歌曲或者视频。3、然后确认麦克风是否可用,可以通过调用win自带麦克风

  9. ruby - 修复不可读的 ghostscript 字体 - 2

    我正在使用rubyScruffygem来创建一些图表。它依赖于RMagick来渲染文本和创建png。当我运行我的ruby​​脚本时,出现此错误。sh:gs:commandnotfoundsh:gs:commandnotfound/Users/natebird/.rvm/gems/ree-1.8.7-2011.03/gems/scruffy-0.2.6/lib/scruffy/rasterizers/rmagick_rasterizer.rb:15:in`from_blob':unabletoreadfont`/usr/local/share/ghostscript/fonts/n019

  10. ruby - 硬件不可能? : "Create a rock paper scissors program in ruby WITHOUT using conditionals" - 2

    我正在上介绍性软件开发课,我的作业是创建一个带有两个参数的剪刀石头布程序(石头,纸)等,并返回获胜的arg。现在,如果我可以使用条件语句,我会快速解决这个问题,但作业说我们需要知道的一切都在前三个ruby教科书的章节,这些章节不包括条件!没有它们是否可以创建这个程序?或者他只是希望我们足智多谋并使用条件句?这是一个非常简单的条件分配......我在想我可能在这里遗漏了一些东西。编辑:我正在考虑那个chmod数字系统,并认为通过该加法系统可能有解决方案...... 最佳答案 这是一个只使用哈希的方法:RULES={:rock=>{:r

随机推荐