字号:TTT

原华为“天才少年”4万字演讲,谈谈天才眼中的AI


大家可以看到,这里面的很多需求都是挺复杂的,如果要程序员在 GUI 上开发这些需求,一个人估计至少得搞一周。而且 ERP的开发是一个从需求到设计、实现、测试、发布的流程,整个流程走下来,不知道多久过去了,而且中间产品经理的信息传递可能还存在误差。

因此传统 ERP 行业的本质挑战就是各行各业无穷无尽的定制化需求和有限的开发人力之间的矛盾,开发 ERP的产品经理和程序员不懂行业 know-how,这些宝贵的行业 know-how 就很难通过流程的方式沉淀下来。大模型有望通过“意图驱动” 也就是 “所想即所得” 的方式彻底改变 ERP 的产品逻辑。

未来每个程序员都有大模型辅助之后,需求描述能力、架构设计能力和技术表达能力一定是最重要的。因为每个程序员可能都相当于一个架构师+ 产品经理 + committer,指挥着一堆 AI Agent 作为 “基层 AI 程序员”,给这些 AI Agent布置需求、设计架构、验收代码,还需要跟真人同事和上级沟通和汇报工作。

我发现很多基层程序员恰恰是在需求描述、架构设计、技术表达这几方面存在欠缺,只会闷头写代码。特别是技术表达能力,每次任职资格答辩都不能用What-Why-How 的方式有条理的讲清楚自己做的东西。私下里还觉得万般皆下品,唯有代码高,把技术表达能力强的同事称为 “PPT专家”。那未来真的是有被淘汰的风险。

点击图片看原样大小图片

第三个有用 AI 的例子是大模型采集数据。

收集数据是一件非常麻烦的事情。比如,如果要收集一个实验室里每个教授和学生的信息,例如需要包括如下信息:

姓名

照片(如果有,就下载下来,注意网页上的图片不一定是人的照片)

E-mail

职称(例如:教授)

研究方向(例如:数据中心网络)

简介

专业的数据采集公司是用正则表达式或者 HTML 元素路径匹配页面中固定位置的内容,每个版式不同的页面都需要 1小时左右的开发时间来定制爬虫,开发成本很高。对于每个院系、实验室、老师主页格式都不相同的情况,开发这种匹配页面中固定位置的爬虫,有时还不如手工一个一个页面访问,复制粘贴快。

而且还有一些网页上有反爬机制,例如把邮箱写成 bojieli AT gmail.com这种格式,虽然通过正则表达式也能匹配出其中一些情况,但总是无法穷尽所有情况。

大模型采集数据其实就是让大模型模拟人去点击网页,读网页中的内容,提取网页中的内容,网页中的每个字都经过大模型的 “大脑”读了一遍。因此,大模型采集数据本质上就是利用了大模型阅读速度比人快这个特点。

具体来说,就是自动找到网页中的所有链接,访问链接,将网页内容转换成文本,调用 GPT-4判断是否是教师或学生主页,如果是的话,就用 JSON 格式输出姓名、E-mail 等信息。然后解析JSON,存入数据库。对于老师照片,可以使用 GPT-4V对网页中的图片进行分析,判断是否是单人照片,如果是单人照片就保存下来。

大模型提取网页中的内容有什么缺点呢?如果用 GPT-4,缺点就是成本高,读一个网页的成本大约需要 0.01~0.1美金。而传统爬虫的数据采集方法,一旦写好爬虫脚本,爬一个网页的 CPU 和带宽成本只有万分之一美金,几乎可以忽略不计。

好在这种姓名、邮箱等基本信息提取并不需要 GPT-4 这么强的模型,GPT-3.5级别的模型就足够了。识别图片是否包含单张人脸,也有传统 CV 的人脸检测算法。要获取其他照片并做标注的话,MiniGPT-4/v2这样的开源多模态模型也足够了。这样读一个网页的成本就是 0.001~0.01 美金。

如果我们觉得 GPT-3.5 Turbo 读一个长网页的 0.01美金还是太高了,可以先截取网页中开头的部分,如果识别出确实是教师主页,但内容中缺失具体信息,再去读后续的网页内容。这就像人肉数据采集一样,大多数教师主页中想要的数据都在开头部分。这样读一个网页的成本可以控制在0.001 美金,就完全可以接受了。

点击图片看原样大小图片

第四个有用 AI的例子是手机语音助手。这个领域叫做RPA(机器人流程自动化),听起来这里面有个机器人,但其实不一定需要有具身智能那种机器人,Robotics是个很广阔的领域。

传统的 RPA 都是程序员写好流程去操作固定的 app,比如按键精灵,还有 Siri 之类的语音助手。但是 Siri目前的能力还非常有限,只能完成系统预设的简单任务,不能完成任意的复杂任务。

基于大模型的手机语音助手可以自动学习各种手机 app 的操作,是一个通用的能力。比如腾讯的 AppAgent,可以自动学习操作Telegram、YouTube、Gmail、Lightroom、Clock、Temu 等多款 app,不需要人去教它怎么用。

RPA 的主要难点是学习使用 app 的过程,比如一个修图的 app,怎么找到 app 中打马赛克的功能在什么位置。因此 RPA需要一个探索学习的过程,首先尝试使用 app中的各种功能,并记录下来操作序列。在后续使用的过程中,先想要用哪种功能,再按照操作序列去操作。

点击图片看原样大小图片

手机语音助手,或者更广泛的说 RPA,有两条技术路线:视觉方案和元素树方案。

腾讯的 AppAgent 用的是视觉方案。它的核心逻辑是基于视觉大模型的,围绕着屏幕截图进行自动操作:

打开指定的 app,截图;

将截图和任务当前的执行状态文本输入到视觉大模型里,大模型决定下一步应该怎么操作;如果大模型判定任务已经完成,就退出;

模拟点击执行对应的操作,回到步骤 1。

视觉方案的优点是仅依赖屏幕截图,通用性强。

视觉方案的缺点是由于视觉大模型的分辨率限制,细小屏幕组件,比如一些checkbox,可能识别不准确;由于视觉大模型本身不擅长处理大块文字,就像我们在多模态大模型部分讲的一样,大块文字识别需要 OCR辅助;最后就是成本较高,特别是对于需要滚动才能显示完整的界面,需要截屏多次才能获取完整内容。

考虑到以上缺点,一些手机厂商和游戏厂商用的是元素树方案。手机厂商是想做类似 Siri 的系统级语音助手。而游戏厂商做的是游戏陪玩NPC。

手机 App 的界面就像网页的 HTML一样,都是一棵元素树。元素树方案就是从系统底层直接获取到这个元素树的内容,交给大模型处理。

元素树方案的优点是识别准确率高,成本较低,无需 OCR 和视觉大模型。

元素树方案的缺点是需要操作系统底层 API权限,因此基本上只有手机厂商能做。由于通用大模型的训练数据中几乎没有元素树,缺少元素树的理解能力,因此需要构造数据做继续预训练或微调。此外,元素树往往较大,有可能导致输入上下文过长,需要筛选可视部分输入到大模型。

两种方案对比,视觉方案可以快速发布产品,不需要手机厂商的支持,而元素树是长期来看更根本、效果更好的解决方案。这就是为什么我认为创业公司不要轻易去碰手机语音助手,手机厂商有明显的优势。我跟Midjourney 的人聊,他们最担心的不是其他创业公司,而是苹果哪天内置提供了图片生成功能怎么办?

点击图片看原样大小图片

最后一个有用 AI 的例子是会议和生活记录器。

比如我们在开会的时候摸鱼,正好被老板 cue到,就一脸懵;还有会上老板一下子布置了一大堆任务,没有来得及记下来,会后就忘了。

现在腾讯会议和 Zoom 都已经有了 AI会议助手的功能,包括将会议语音内容实时转录成文字;根据实时转录的文字,将会议所讲过的内容做总结;根据实时转录的文字,用户提出问题,大模型给出问题的回答。这样,参加会议的人不管何时加入会议,都能知道会上都讨论了些什么内容,再也不用担心错过关键的会议内容了。

但是,现在腾讯会议和 Zoom的语音转录中,由于缺少背景知识,可能存在一些错误,例如专业名词识别错误、人名前后不一致。如果通过大模型对语音识别结果进行修正,大部分识别错误的专业名词都可以被纠正,前后的人名也能保持一致。

语音识别的准确率还可以进一步提升。会议中往往会共享一些 PPT,我们不仅希望把这些 PPT 保存下来,这些 PPT内容中往往也包含了关键的专业名词。把从 PPT OCR 出的内容作为参考文本,让大模型修正语音识别结果,可以进一步提升准确率。

除了会议记录,AI Agent 还可以做生活记录。

我是一个喜欢把生活中的一切都记录下来的人,比如我维护了一个 2012 年以来,我走过的城市公开记录。虽然各类 App都记录了很多个人数据,比如聊天记录、运动健康、点外卖记录、购物记录等,但这些App 的数据是烟囱化的,无法导出,也就无法聚合各类App 的数据来做分析。

AI Agent 给我们提供了新的可能,可以通过 RPA 或 Intent-based API 方式收集生活记录。

现在 App 一般不提供 API,生活记录器可以用前面手机语音助手讲到的 RPA 方法,相当于一个干活很快的秘书在从各个 App里面把数据一条条抄录出来。以往这种爬数据的方式可能会违反 App 的用户协议,甚至可能构成破坏计算机系统罪,但如果 AI Agent收集了数据只是供用户个人使用,大概是没有什么问题的。AI Agent 的行为在法律上怎么界定,会是一个很大的挑战。

未来手机助手成为标配之后,App 一定会提供面向手机助手的 Intent-based API,AI Agent说清楚想要什么数据,App 就把对应的数据吐出来,这样就彻底解决了 App 数据烟囱化的问题。当然各大 App厂商是否愿意配合,这就是一个手机厂商和 App 厂商之间的商业问题了。我对当前互联网的烟囱化很失望,非常希望 AI能让每个人重新掌握数据的所有权。

Rewind.AI 的录屏和录音吊坠是我很喜欢的产品,Rewind 可以回放任意时间的录屏。Rewind还可以根据关键字搜索之前的录屏,Rewind 是把录屏里面的文字做了OCR,这样就可以根据文字搜索到之前的录屏。但是目前只支持英文,不支持中文。Rewind 还支持 AI智能问答,问它某一天都做了什么事情,访问了哪些网站,能给总结的非常好。Rewind的能力真的强到可怕,可以用来做自己的记忆助手,看看之前干了什么。也可以用来自己做时间管理,看看有多少时间浪费在无用的网站上。

Rewind 更可怕的是可能被老板用来监控员工,以后都不用员工自己写日报周报了,直接让 Rewind写,保证公正客观,干了啥就是啥。其实现在一些大厂的信息安全已经用了类似的录屏或者定时截屏的机制,在公司电脑上搞小动作,事后很容易被追溯。

Rewind 最近还出了一个吊坠,这个吊坠就是个录音笔 + GPS记录仪,会全天记录你去了哪,说了什么话。我还不敢随身带录音笔,因为未经同意就对私人交谈录音不太好。但是我的确带着个迷你 GPS记录仪,每分钟打一个点,可以轻松记录我的足迹。之所以不用手机是因为手机一直开着 GPS 太费电了。

对于我这种喜欢记录生活的人,以及用了 Rewind 这类产品的人,隐私是最大的顾虑。现在 Rewind的很多数据会上传到云端,就让我不太放心。我认为本地化算力或者隐私计算是解决隐私问题的必由之路。本地化就是在个人设备本地运行,目前一些高端手机和笔记本已经可以跑相对较小的大模型了。隐私计算是另一种方法,就是用密码学或者TEE 的方法保证隐私数据可用不可见。

解决复杂任务和使用工具

点击图片看原样大小图片

前面在有趣的 AI 部分,我们介绍了 AI Agent 慢思考的记忆和情感方面。记忆是有趣和有用 AI都必须具备的公共能力。情感是有趣 AI 需要的。而解决复杂任务和使用工具更多是有用 AI 所需的能力,因此我们在这里稍作讨论。

第一个例子是一道比较复杂的数学问题,一个人一秒钟也回答不出来。那我们只给大模型一个 token的思考时间,让大模型听完题目就马上回答,显然也是不可行的。

大模型需要时间去思考,token就是大模型的时间。我们让大模型写出思考过程,就是给它时间思考。思维链是非常自然的一种慢思考的模式,我一般把思维链通俗地称作“先想后说”,这是一种非常有效的提升大模型性能的方式。特别是对于输出很简洁的场景,一定要让大模型先写出思考过程再按照格式输出回答。

点击图片看原样大小图片

第二个例子是用多步的网络搜索去回答难题。比如这个问题,David Gregory 继承的城堡有多少层,直接上 Google搜索是无法在一个网页中得到答案的。

人类是怎么解决这个问题的?人会分多个子阶段去解决,首先搜索 David Gregory这个人,知道他继承的城堡是什么名字,然后搜索这个城堡,找到它有多少层。

在让 AI 学会拆分子问题之前,首先需要解决 AI 的幻觉问题。当它拿整句话去搜索的时候,也能搜索到一个 Wiki词条,其中也有一段提到了层数,AI可能就直接拿这个层数作为答案输出了,但这根本不是他继承的城堡。解决幻觉问题可以让它不要只是输出层数,而是先输出参考的这一段落内容,并比较与原问题的相关性,这样通过“先想后说” 和 “反思”,就可以减少一些幻觉。

如何让 AI 拆分子问题呢?直接告诉大模型就行了,用 few-shot方式提供几个拆分子问题的示例,让大模型把这个问题拆分成一个更简单的搜索问题。然后把搜索结果和原始问题输入到大模型,让它输出下一步搜索的问题。直到大模型认为根据搜索结果已经可以可信地回答原始问题。

点击图片看原样大小图片

多步网络搜索解决问题其实是一个更大问题的子集,这个更大的问题是复杂任务的规划和分解。

例如,我们给定一篇论文,问它的第二章相比某个相关工作有什么贡献。

首先,AI 怎么找到第二章的内容。如果我们没有长上下文,而是把文章切片之后用 RAG方式搜索,那么第二章内容的每一段不会写着第二章,RAG就很难检索出来。当然我做一个特殊情况的处理逻辑是可以的,但是一般情况下这种章节编号问题需要在 RAG索引的时候就添加进去元数据。当然如果模型有长上下文能力,并且成本可以接受,一次性把整篇文章都放进去是最好的。

第二,这个相关工作是在另外一篇论文里,怎么把这篇论文找出来,有时只用一个关键词是搜不到的,重名的内容太多,因此需要结合原文内容中的更多关键词去搜索。搜索到这篇相关工作之后还要总结这篇相关工作的内容,然后用大模型生成第二章和这篇相关工作的对比。

另一个复杂任务规划分解的例子是查天气。查天气看起来好像挺简单,点一下网页就行了。但是我们如果让 AutoGPT去查一个特定城市的天气,现在大多数情况是失败的。为什么呢?




还没有人评论



    还可输入500个字!
    ©2023 wailaike.net,all rights reserved
    0.029205083847046 is seconds