关于如何设计AI的方法变革——大模型的AI设计方法
- 如果你已经是一个AI设计人员,熟知基本的AI设计方法,可以直接跳到第三部分“三、大模型的AI设计方式变化”然后再与我探讨想法。
- 如果你只对大模型出现后的应用和前景感兴趣,不关心大模型的原理以及基于原理,也不想成为大模型或者行业应用的设计人员,可以直接跳到“理解大模型的应用与方向”和“建构大模型的生态”部分。
- 如果你不是一个AI设计人员,可以先读第一部分“一、大模型出现以前AI设计方式”了解下过去的AI设计,相信大部分设计方式都可以在平时工作找到对应。
本文定位是一篇AI从业者分享一些大模型对个人设计理念带来的冲击,对于大模型的技术发展更多给出一些二次思考内容,原始的技术文献不会直接搬运或者详细解释,不过谈及到的每个部分的技术都附带了文献来源,可供自行翻阅。
写这篇文章的动机之一是关于大模型的社群讨论偏于低质,而且从大模型出现到现在,有意义的文章大多都围绕模型本身的技术研究和工程复现进行,很少有人从非纯粹的技术层面探讨一些大模型对于设计理念和行业相关方巨变的思考,因此希望可以通过分享自己的思考吸引更多愿意深度思考这件长期机会的人。
这些对于目前的从业人士门槛、行业发展、应用场景都具有很大的影响。作为一个一直在AI行业中的参与者,我把自己更多从非技术研究层面的思考和实践经验记录下来,汇总成关于大模型时代AI的设计和看待问题的新方式。
本文视角其实更多的是站在AI设计的视角上探讨问题,关于商业模式、技术原理等等会简短讨论,本文更多的探讨基于当下的研究产生的一些思考,对于研究信息仅会提供一些引用链接,核心在于探讨下AI设计的方式以及未来展望的看法。本文计划集中分享以下几个问题的思考:
- 过去的AI设计是怎么做的?
- 关于收益估算、任务定义、级联模式、误差评估等等专业设计怎么做?
- 大模型对于设计方式产生了什么冲击?
- 大模型的哪些能力导致了这些冲击?
- 目前AI设计的门槛产生了什么变化?
- 消噪与序列预测到底带来了哪些可以发散想像的方向?
- 大模型本身的限制有哪些应用没有办法完成?
如果你是资深的AI行业设计人员,对于这些问题已经有了答案,希望你可以直接拉到文章最后,联系到我和我探讨下大模型对于你的设计方式产生了什么样的冲击和变化。如果你是非从业人员,看完我的思考之后,不知道你是不是觉得自己也理解了AI产品该如何设计,也可以开始做AI的设计工作了。
一、大模型出现以前AI产品设计方式
在大模型出现以前,结合过去的实践经验,我将AI产品的设计总结为四个阶段:目标定义阶段,收益估算阶段,设计阶段,迭代阶段,下面结合一些实践的案例分享一些个人思考。
1. 目标定义阶段
在讨论AI产品的目标定义时,实际上与其他类型产品的目标定义相差并不太大,因为AI产品本质上还是以一种更高效的方式在解决实际业务问题,因此这个方面就不重点谈到,会在下面环节的案例里穿插一些。
例如,针对面向消费者(To C)的产品,关注增长曲线是否达到自然传播率、产品是否跨越了技术采用生命周期等等。
而针对面向企业(To B)的产品,需要关注利益相关方的市场收益、客户认知,还有特殊的奢侈品和礼品类产品逻辑。
唯一的差异在于,过去AI的产品设计需要额外关注【技术可达性】,另一方面因为客户基本上完全不懂AI,不能指望客户提供关于他所在行业的AI设计思路,而是需要想办法先把自己变成客户行业的专家,告诉客户需要什么,就像拿着锤子找钉子,这一点和一般的设计有很大不同。
对于商业方面的目标设定问题,许多业界大咖已经在商业分析、OKR、增长等领域有深刻的时间和研讨,就不班门弄斧了,这里强烈推荐大家直接关注刘润老师,作为刘润老师的五年死忠粉,他对于商业思想和方法,尤其是早期的很多内容总能给我带来极大的启发和帮助。
2. 收益估算阶段
收益估算是在对于相关行业或者目标场景具有一定了解之后,决定是否要投入这块市场或需求场景,以及以什么样的投入力度进入,资深的设计者在估算收益之后,基本就已经确定好大致的设计方案了。一般来讲,收益估算会分为三个部分。
1)目标大盘估算
比如目标大盘的覆盖率、用户量、活跃率、交互量等信息,一般来说需要来源于市场研究与洞察,如果是C端会来源于用研或者数据分析(一般是session分析)。
比如我需要构建一个数据标注平台,我需要决策标注平台是要自建还是采购三方,那其实我就大概需要对这个市场的大盘做一个分析,评估其中的关键资源和关键利益相关方我是否能够撬动?多大成本能否撬动?以来决策这件事情是否值得做。例如我可以做如下分析:
1.标注任务类似滴滴打车,是典型的供给者(标注员)、平台、消费者(需求企业)的三方市场。
2.三方市场要做起来,评估需要先撬动哪一端,评估我的资源优势能够撬动标注员,还是撬动企业B端客户渠道,能否更加高效的获取客户,比如我具有很强的个人品牌、企业品牌、第三方背书等都可以显著降低获客或者渠道成本。
3.若要建设标注自研,一定是标注员的人均标注成本能够显著低于采购(对内部工具而言),或者能够以极低成本获取外部客户(对于做外部市场而言),如果我两者优势均不具备,或者生产成本显著高于外采,那就应该放弃自建。
4.当然如果是出于企业信息安全,或者绝密信息保护的需要,那就完全是另一种逻辑,完全不可以用投产比来衡量。
2)影响面估算
影响面决定打算开始做这件事的上限,就算技术持续发展,理想情况可以100%的解决问题,影响面也就是可能得最大收益了,当然随着要求效果的持续提升,需要的数据量和成本都会指数上升,而每次优化带来的收益会递减,经常很多AI产品做到差不多就不会优化了。
① 一般如果有线上数据的话,影响面估算主要来源于数据观察和现象抽象的总结,就是采用归纳法来分析,例如线上搜索数据的多样性不足,对线上日志分析后发现问题的占比可能在5%,或者线上用户有一些潜在情感交流诉求的比例在15%,这些都可以通过session分析的方式得到。
一般这种方式,TO B产品的数据分布相对比较固定,如果是TO C产品,会有两种典型问题:
1.新用户都有【能力边界试探现象】,会出现大量“无法理解”“闲聊”类的数据,而一般7天后则会收敛到设备可满足的一些交互领域,之后交互比例也会相对固定。试探类交互有可能并不是用户的真实需求。
2.因为TO C的AI类产品一般都很难像触控产品一样,把自己的能力边界直接在界面展示给用户看,因此产品能力会影响用户行为。因为新用户阶段用户除了试探外,更多会尝试自己未来希望产品帮自己解决的问题,而当产品无法解决问题的时候,慢慢用户就不再会发起这些需求,但是这些往往是设计者希望持续扩展的产品能力,所以很多新需求的挖掘往往要从新用户数据来。这个也是7天左右新用户需求收敛的原因。
② 如果是缺乏一些线上交互数据,则和一般产品设计相同,需要采用市场调研或者用户研究的方式开展调研,辅以逻辑推理和统计学的后向归纳,得到一些可靠结论,比如最近招募用研,我就很喜欢问如何验证数据可靠性以及推理相关性的问题。
3)收益估算
一般采用逻辑演绎方式估计收益,在过去,和算法合作经验丰富,经常阅读一些相关论文的资深AI产品,可以做到估算的相对较准(当然实际还取决于算法人员水准),这一点尤其在TO B业务的客户交流判断方案和可行性时尤其重要,也是区分资深和非资深的因素。诸如有监督的文本分类任务可以做到多少,无监督的文本聚类任务SOTA效果是多少,那些任务技术可达,哪些任务技术不可达。
实际业务里,收益的估算一般会更复杂一些,因为实际系统一般不会是一个任务就可以完成,甚至在大模型以前,很多因为单任务技术不可达,需要把一个任务拆解为多个任务组合才能实现,这样的收益估算就更加困难一些,和实际的偏差也会更大一些。
3. 设计阶段
AI产品的设计一般也是分几个阶段进行,我把这个总结成六步设计,包括【问题定义】【拆解问题要素】【制定路径/蓝图】【定义子任务】【定义子任务流程】【可行性推演】。以下主要结合两年前的一个实践案例,大致介绍下设计阶段流程,因脱敏需要,案例的前置估算和部分设计细节会被我省略,省略部分会尽量插入一些其他案例。
对于AI设计来说,逻辑基本素养尤其重要,在对于现实问题的抽象过程中,经常发现一些隐含的逻辑,而把这些逻辑全部抽象出来变成机器任务就是设计者的关键人物。经常碰到的问题有:
- 存在隐含的前提:比如某两个维度之间存在因果关系或者相关关系,比如趋势永远整体向上等等。这些很多都会被当成人工先验知识,在模型里设置,而不是让模型自己去学。或者比如我说“去把垃圾扔一下”,隐含的前提假设是“你知道家里垃圾桶在哪”&“你知道丢垃圾的垃圾车在哪”
- 假设需要明确定义:比如我们假设数据是离散的还是连续的,数据之间是否具有关联性。以丢垃圾的例子来说,可能是我假设“垃圾中没有什么超出你知识或者力量范围的需要处理的物品”
这一部分用一个复杂度相对较低的例子分享下一些思考。在两年前,业务部的老业务遭遇天花板,需要挖掘一些潜在的新业务出来。结合当时业务的交互量越来越大,提了一个目标是“从交互中发掘潜在需求”,对这个目标进行一个逻辑三段论的分析,会发现其实它其实隐含了一些没有被明确定义的前提,以下问题:
- 需要定义什么叫“潜在需求”?
- 交互中包含什么可以利用的信息?
- 如何进行发掘的流程设计?
介绍下AI设计中的我理解的“任务”概念,机器学习和人工智能的专业书籍上有很多关于这块的介绍,我主要从非算法人员视角,结合过去经验说下我的理解:
1.怎么理解任务:给AI明确边界和达成量化条件的课题工作,最需要关注的两个点也就是“明确的边界”和“明确的可量化完成状态”;
2.怎么理解子问题:根据具体的任务目标,拆解出需要解决的子问题,并且制定出大问题的解决路径,子任务可以不完全贴合机器视角,从逻辑推衍上看如何实现目标;
3.怎么理解子任务:子任务可以说是从AI的视角,由子问题对应到的具体算法任务,每一个任务需要用一套算法或者组合算法来解决,关于这一块,在后面的步骤中会详细谈一下;
4.一般任务的目标如何定义,由于目标是结合具体场景定义而来的,对于每个场景的深刻洞察我觉得才是设计者的核心能力,是一种把实际问题抽象化的能力,定义系统要解决的场景核心是什么设计目标,一般来说会有一些常见参考,例如精准,召回,多样,排序,相关等等,目标并不等同于指标,诸如F1、AUC等单纯评估模型性能的指标就不能算做设计目标,同样的更多的场景其实需要根据场景,设计独立的评价业务指标,过去基本每项任务其实都有根据业务目的设计的复合指标来衡量目的是否达到,知名的BLEU、ROUGE等也属于具体业务指标。
1)问题定义
① 问题是什么
本质上是重新审视问题,定义要解决的问题本质是什么,因为AI行业的客户需求是模糊的,客户无法定义到问题,所以需要把一个抽象的想法转变为定性或者定量的具象问题。
同时需要对需求场景进行分析,不同业务场景需要的目标差别很大,需要设计人员首先确定对于业务场景来说,最重要的是什么。这里面其实更多的考验的是设计人员对于文化、社会、行为、人类学、生物学、脑科学甚至心理学的理解(我不是很喜欢单纯靠心理学得出结论的方式)。
比如三年前我们重新考虑语音搜索场景的搜索引擎问题的时候,就发现这个场景和全文检索(百度搜索)有很大不同,对于精准的要求尤其高,但是召回数量上反而要求要少,因为大家都希望一句话直达播放。
另一个例子是因为扩散模型的火爆,有些人用来设计一些擦边福利图片,然后就对于这种应用场景进行了一些思考。
对于这种场景来说,其实多样性就是一个最重要的指标,提供的一定不能是单一女人,风格一致的女人或者真实世界存在的女人,因为从生物进化视角来说,幻想“性”和真实“性”一定要有差异,幻想不可以是真实生活可接触的一些特性,这一点花花公司老板海夫纳尤其懂得,《花花公子》上的女人的着装、行为、性格在现实生活不可能找到,这也就是海夫纳的生意经。
第三个想到的例子,是去年一直在做虚拟人的东西,本质上其实是在探索情感这种非刚需的价值。关于这一点,主要是参考了脑科学和心理学的交叉,包括心智系统、镜像神经元、边缘系统、海马体的构成,以及据此总结的共情与共感两类对外情感基础的形成。
这里因为我们业务目标希望虚拟人和用户之间建立情感信任,因此选择共情路线,这就代表整个会话系统设计目标是引起情感共鸣,和正常人人机会话、人和人的交流都显著不同。例如用户表达偏向情感类事件的时候,一般情况下会话情感设定上,都需要对用户表达赞同和理解,不论谈论内容如何。
关于这一部分,我的下一篇文章计划是就打算详细分享一下虚拟人设计的实践,调研和运用关于人的感性认知如何建立,文学小说撰写方法论及动画设计方法论等多学科领域知识,同时在交互上借鉴了【艾迪芬奇的记忆】,对于这款游戏的研究刷新了我对于人机交互设计的理解。
关于问题如何定义强烈建议可以看一下《你的灯亮着吗》,里面有大量启发性的案例,比如关于错误定义问题导致成本大量浪费,或者正确定义问题使得复杂问题一夜之间解决的例子。举个例子,书里有提到“解决电梯拥堵问题的一种方案,在每个上下班路上装上镜子,让过路人都停下来整理妆容,就可以很好的解决电梯拥堵问题。”
② 目标场景最关注什么
第二个是需要分析对于目标场景来说,最关注的是哪个维度。下图是一个抽象的曲线来描述这个问题,由于准召属于一堆跷跷板指标,在模型性能等同时候,往往是在根据业务场景在选择曲线上滑动选择一端的点作为能力输出。
这首先需要定义问题所处的用户场景中,是“精准”更关键还是“召回”更加关键。虽然对于模型来说,可以用AUC来衡量模型整体的性能情况的,但是在相同性能情况下,可以根据目标场景调整召回和精准的倾向性。在某些情况下,如果所在场景里,某个维度的重要性远超其他维度,即使模型整体性能下降了,最关键的维度显著提升,也可能是一次有意义的优化。
2)要素拆解
主要是拆分问题得到解决需要的一些关键要素,哪些是解决问题必备的关键要素,哪些是对于问题有增益但是不关键的要素,这样可以对后续的子任务拆分以及每个子任务的资源投入力度有一定的预期。熟悉TO C产品设计的应该都熟悉TO C的业务蓝图绘制方式,目的都是一样的,找到需要重资源投入解决的关键问题。
结合两年前“从交互中发掘潜在需求”的案例,首先对于“潜在需求”,我找了一些关键特性来描述这个概念,这些其实就可以算作这件事情拆分出来的要素。基于要素对应的问题,即可以找到系统设计的子任务,简单的子问题对应一般对应到一个子任务,这里需要保证的是拆分出的要素和对应的子任务是机器可以理解的。
对于这个案例来说,核心就是如何看待“潜在需求”,我们可以想到一些要素来尝试描述下理想中的潜在需求:
- 目前没有被满足:目的挖掘新的领域,而不是单纯的挖掘交互失败的case,毕竟挖掘已知需求或者已知需求的新表达范式并不是目标。
- 用户的需求是普遍的:毕竟是商业公司,肯定是希望优先做投入产出比最高的事。
- 未来有增长潜力:同样的,商业公司考虑持续收益,但是这件事可以推理出如果我要预测一两年后需求发展情况,做一个长周期时序预测,必然不确定性极高,完全不具备可商业性,这种问题就应当交给人解决。
从上面的三个要素,可以发现首先机器独立一定无法完成任务,这个任务一定是人机耦合的。其次前两个要素都有共性问题,就是AI还是无法直接完成,因为找不到这些要素和问题的边界和明确的量化完成状态,我就以“用户需求普遍性”要素为例,做一下要素拆解。
因为逻辑上来说我没法一步得到投产比这种复合结果,我可以先计算收益,收益这个概念其实分析下,也会发现其实是由【影响面】和【转化率】组成的复合指标,转化率这件事我认为机器是不可达的,也需要人工判断,那就只能进行【影响面】的挖掘和预测。因此到这里我们其实已经可以修正下我们的第一步的目标了。
目前来看,我们的目标实际上是设计一个“新需求领域的影响面挖掘系统”+“一套可视化后台用于人工结合市场知识判断新领域预期转化率”。
应该注意两点:
1.熟悉概率、统计或者信息论的都了解,实际上每一次拆分,或者用组合方式解决问题,都再次引入了误差,代表系统整体效率的下降,所以应当尽可能端到端的输入输出直接解决问题,避免过多的问题和任务分解设计;
2.对于很多问题实际上机器完全不可达,不可达原因可能是完全无法收集到数据、任务完全无法定义或者当前技术效果无法商用,这个时候经典的做法就是把问题交还给用户,采用人机耦合方式解决问题,这个时候系统设计的目标也应该从【直接解决问题】改变为【辅助提高人类的问题解决效率】,其实很多产品都可以看到这类影子,比如经典的“帮助中心”或者“客服中心”。
实际上到这一步,大致的可达路径其实心里已经大致有数了。
3)路径制定
以“从交互中发掘潜在需求”这个例子分享下我的一些思考,在最开始的拆解中,我分解了三个初始问题:
- 定义什么叫“潜在需求”?
- 交互中包含什么可以利用的信息?
- 如何进行发掘的流程设计?
在前面我做了第一个问题的分析,下面两个问题因为涉密用户和业务信息了,我就简要阐述下:
① 交互中包含的可以利用的信息
实际上这个是经典的信息论原理的利用,一般应用到的会包括以下两点,同样的我以非算法的视角阐述下我的理解:
A. 信息的输入一定要大于输出,存在冗余才能通过算法压缩输出需要的信息,并且还原信息。
通俗点,比如模型完全没有学习过小学数学,就不可能可以解决小学数学题。
像GPT这种大模型可以让你输入很短的几句话,就帮你写出论文,原因在于GPT本质上是一个语言模型,是语言模型训练过程输入压缩了相关的知识信息,因此才可以在很少输入的情况下,让语言模型补足需要的输出。其实从GPT计算小学内容经常出错也可以看出这个原理,因为这类信息不在GPT的训练数据中。
另一个直观的理解方式是,给定1的输入就最多只能有1的输出,不可能产生1.1,实际上AI需要冗余信息,才可以保证压缩传递后能够输出一样的结果,即10的输入产生1的输出,因为处理就一定会损失一些东西,有冗余才可以容忍更多处理空间。
B. 引入解决问题需要的更多维度,尤其是正交维度的信息,就可以显著提升模型效果。
其实这也是最常用的大幅优化效果的方式,例如在语音类的AI设计中,【用户输入的语音音频】和【用户的语言表达】就是两个不重叠的正交维度,即使一些纯粹的语音AI能力,例如声纹识别、语音合成,引入语言的维度也可以大幅提升效果,因此寻找需要解决场景的更多相关正交维度,就是一种最常见的优化方式。
当然信息论的原理有很多条,只是在这件事上,我主要应用了以上两条。因为AI的基础是信息论,即使是在大模型时代,信息论的基本原理就像物理学基本法则,属于目前基于统计的AI无法逾越的基本法则。
对于语音交互来说,一般寻找到的正交可利用信息维度类别有用户音频、用户文本、用户操作、交互周围环境、操作发生时间等等方面进行寻找,这个其实很简单我就省略了。
② 如何进行发掘的流程设计
对于这件事,其实本质上是检验逻辑链合理性和前提假设成立可能性,做过基本的逻辑学训练的人都可以做到,实际这件事我也是指导一个校招生就让他完成了,大致可以这么思考这件事:
A. 首先通过定义一些交互失败的特征,一般都是通过定义【显性正反馈】【显性负反馈】【隐性正反馈】【隐性负反馈】来实现交互失败的case判断,敏感原因我省略具体特征。但是其实这样无法区别几类问题:
- 效果有问题:因为算法效果问题、或者用户自身问题导致交互失败;
- 已有需求新的表达范式:例如【影视】新增“制片商说法方式”;
- 新领域需求:比如奥运会来了,我们需要重新定义一个奥运会领域。
对于这种边界很模糊的分类问题,AI基本无能为力,因此思路上只能并行构造两套系统,一套挖掘“效果问题”的case,一套挖掘“新需求/新范式”的case,一套设计上侧重利用已有知识挖掘关联性,一套侧重新需求发现。两套系统一定会有重叠,但是配合也可以解决问题。
一种典型的交互失败案例
B. 要实施挖掘,可以想到的逻辑链及匹配的前提假设有:
a. 假设线上用户的交互说法,同类的需求具备一些明显的共性,不同类的具有显著差异。
- a.i. 那可以直接尝试先进行无监督聚类,将数据划分成一堆类别,即可拿到比如,线上100w数据,有几类需求(比如天气1w,股票2w),当然没有先验知识注入的情况下我只能得到【category1】【category2】【category3】
- a.ii. 接下来第二步处理如何知道【category1】【category2】【category3】,分别是什么,可以想到最简单的方式是,假设我可以先给系统注入知识,告诉它什么样的数据叫“天气”那不就可以完成任务
需求挖掘流程的简单想法
b. 这种流程下,接下来的子任务定义就很简单,“聚类+分类”就可以实现,但是这中逻辑链存在明显的问题:
问题1:这个流程里无监督聚类的准确度是最重要的,因为后续的分类环节是基于已有聚类流程开展的,逻辑上第一个环节的效果就尤其重要,因为如果第一个环节效果只有50%,那基本后面就和抛硬币瞎猜一样了。
然而实际上,调研了下业界的无监督聚类SOTA,确实低的吓人,但是可以看到在加入一些知识做半监督之后,效果提升明显,但是与此同时却丧失了发现训练外的新需求的能力,这个对于我们业务场景来说是不可接受的。
直接处理全部数据聚类效果不可达,逆向思维,从单条数据开始找单条数据的近似类
如果目前想不到什么假设,或者对于场景没有什么了解,则需要先补充自己对于这块的了解,一般来说是从现网交互数据,或者线下用研中获取一些信息。
4)子任务定义
核心是把之前拆解的子问题和路径,转化成算法上的AI子任务,子任务定义从技术上来说可以说是决定整个系统效果上限的动作,定义错了子任务后面的算法结构再怎么优化,再怎么加高质量数据,效果也很难上得去。建议和算法负责人讨论完成,需要资深算法人员的深度参与,因为从这里开始已经要开始规划技术路线了,甚至我其实觉得算法才是起到主导作用。这部分我只是从非算法的视角结合案例谈一点粗浅理解。
从大类来说,AI可以分为两个大类任务【判别】和【生成】,其实这也分别标识了两条AI发展路线。除此以外AI我个人认为,主要需要了解的通用AI子任务有以下几类:
- 分类(Classification):将数据划分到预先定义好的类别中。
- 聚类(Clustering):根据相似性对数据进行分组。
- 回归(Regression):预测一个连续值变量。
- 排序(Ranking):对项目按照相关性或优先级进行排序。
- 检索(Retrieval):从大量数据中查找与查询相关的信息。
- 关联规则挖掘(Association Rule Mining):发现变量之间的关联关系。
- 时序分析(Time Series Analysis):预测基于时间序列数据的未来值或趋势。
- 异常检测(Anomaly Detection):识别数据中的异常或离群值。
其他的一些子任务很多是算法中间过程,例如超参优化、Embedding等等,这些我觉得非算法了解大致用途即可。或者是一些具体业务场景可能用到的,例如自然语言处理中的NER、句法分析、指代消解等等,这些根据业务场景需要补充对应知识。
这个方便理解重要性可以举一个四年前的案例。当时的背景是我们发现全文检索方案在语音场景的搜索中效果很一般,需要重新设计一个语音场景的搜索引擎,其中有一个子问题,当初我想首先必须了解用户表达的资源的结构化知识是什么样子的,例如《战狼》的主演是谁、出品公司是啥、角色哪些讨喜、情节是啥、舆论评价如何等等。这样我可以有更多维度的输入,最终的输出设计空间就很大。
针对这件事,我们觉得需要一个丰富的影视知识图谱,然后我们想到以下几个点:
1.比如豆瓣、猫眼、时光网这种三方网站,其实有大量的线上线下影视结构数据、影评数据等等,甚至微博、小红书、Twitter等等有相关舆论讨论;
2.比如腾讯、优酷、爱奇艺、Netflix、Hulu、HBO等等网站,每家有自己版权的影视,其中也含有不少独家影视知识信息;
3.当时和算法负责人合计把多个来源整合到一起,就可以得到一份最全的影视知识图谱,比如我们有豆瓣的《小猪佩奇》和HBO的《小猪佩奇》,把两边字段合并就可以得到更全的《小猪佩奇》知识。
4.然后合并这一步,我们想当然的认为,这是一个分类任务,因为我只要判断豆瓣的《小猪佩奇》和HBO的《小猪佩奇》是不是一个东西,是就合并到一起就可以了。
再把其他的子问题思考加入,到这里至少当初我们觉得逻辑上没有任何问题,结果做出来我们发现不管怎么优化模型结构和数据,效果都做不上去,甚至神经网络的效果和用来做demo对比的传统机器学习的效果基本一致。后来复盘我们才发现子任务定义错了,这个场景实际上是一个排序任务,因为《小猪佩奇》各个来源可能有上百部,以一个来源为基础逐一对比增加信息,实际上模型看不到其他来源的信息,如果是排序任务,模型就可以一次性输入全部信息比对。
子任务定义后需要注意以下几点:
- 子任务是否符合需求场景:即子任务定义是否正确。
- 子任务是否具备可行性:对于计算机来说不可计算任务,比如无法通过图灵机测试的;或者时间或者成本过高的任务,例如参数训练需要30台超级计算机计算3年(当然看公司经济实力),这些都可以认为不具备可行性。
- 子任务效果上是否ok:可以先调研下业界的子任务Sota,效果无法商用的也没有意义。
这里还是用上面的影视知识图谱举个例子,当时我们引入了影视海报作为额外正交维度,提升合并效果,这件事也犯过一个小的定义错误,最开始想当然认为比对图像相似度即可,后来发现实际任务要复杂得多,只是这次问题在设计阶段就纠正了。
当然除了调整子任务定义,上述问题还可以通过清洗数据解决,训练数据中的噪音对于AI来说会严重影响效果,即使是语音识别中的噪音环境中的识别,更多也是单独对固定频率的噪音建模,过滤这些噪音信号,训练数据的高质量是保证AI效果的关键。对于子任务定义,案例涉密的分析过程我就省略了,这件事确实很看水平。
5)子任务流程
子任务定义完成之后,就需要设计一套流程将其组合成完整的解决方案,这里除了逻辑上怎么把子任务关联起来以外,经验上来说有两种常用到设计模式:
① 级联结构:一个子任务的输出会被下一个子任务所使用。
经常在一些【分类子任务+其他子任务】的模式中使用,例如如果是一个购物网站,我们可以先把用户分类成“购物狂人”、“刚需购买”、“优惠券狂人”、“奢侈品爱好者”等等类型,然后对每个类型的用户分别构建模型,由分类模型判定后,每种模型分别打分,输出结果后吧结果抛给对应的推荐模型给出推荐结果。
② 中立类:在分类任务中比较常用,比如分类任务中经常有一些不认识的数据,或者摇摆数据,就可以加入拒识模式或者定义一个摇摆类,就可以让分类效果大幅提升。
例如自然语言理解的意图分类里,就可以定义“影视、音乐、笑话、天气、拒识”几个类别,再比如要分析运动对于治疗颈椎病是否有效,就可以定义“有效、无效、中立”几个类别,比单纯定义“有效、无效”会好很多。
其他的则需要根据业务场景需要看如何设计,比如上文提到的“从交互中发掘潜在需求”的流程中,实际上就是一个持续运行的分类任务,同时维护一个待聚类池,满足一定条件设定就触发聚类。
当然实际算法要处理的设计问题要多的多,诸如检查点设置、数据Pipeline、重平衡等等,只是作为非算法人员,我认为主要以上是需要考虑的,其他的了解即可,相信你的算法负责人的专业性。
验收指标制定
实际上,一般AI产品或者能力都会有个验收阶段,例如观察混淆矩阵,AUC等离线验收模型效果,观察制定的业务指标在各种集合上的表现。这里主要是分享一些关于设计的思考,就不仔细谈这件事,但是根据应用场景特性制定业务的验收指标这件事很重要。这个指标和模型的性能评价指标无关,有些时候模型的性能指标不变甚至有所下降,但是业务关键指标提升了,对具体业务来说也是一次有益的优化。
关于业务关键指标制定,一般来说都不是精准度、召回率、多样性等等这种单一维度指标,一般都是复合指标,而且为了排除绝对数量的影响,一般都是比例型指标。关于验收另外重要的一点是,指标一定是分两类的:
- 在线评价指标:用于在系统做好之后进行验收的指标。可以理解为即使不懂内部逻辑的小白,也有一个直观方法评判结果如何。以人机会话举例的话,可以设计例如对话回复是否符合常识,人设是否凸显等等。
- 离线评价指标:用于在系统研发阶段评估系统质量的指标。可以理解为内部产研人员评估每个维度的效果是否达到预期,指导迭代的指标。以人机会话举例的话,可以设计例如QA相关度、情绪识别准确度、情绪应对策略是否合理、回复文本风格是否幽默等等。
假设为上述的“交互需求挖掘”制定业务指标,虽然中间有很多的子任务,但是我可以关注每条数据是否被正确分类了。因为这本质上是一个效率系统,而且我已知聚类的SOTA其实不高,但是这个误差我可以接受,我其实更关注尽量少的使用人工,例如我可以定义“保证每类需求95%类纯度基础上,被正确召回到类别里的数据占80%以上”,当然实际不是这个指标,只是随便举个例子。
6)可行性推演
主要是回头评估整个解决方案的问题,在检验子任务定义和流程设计之后,主要是需要预估下整个系统的误差和冗余大概有多少,以及评估应用场景是否可以接受这种级别的误差。
① 误差评估
对于误差评估来说,我认为设计人员应该在设计完之后,大致就对自己的整个解决方案的误差大致量级,或者说实现了原始目标的百分之多少有一个预估。
- 首先还是先分析需求场景的特性,不同场景对于误差的容忍度是不同的,这个其实很好理解,比如军工、安全等引用场景,误差容忍度就很低,比如很多99.74%的【3-sigma法则】甚至很多企业实施的【6-sigma准则】。
- 不同场景对于不同指标的误差容忍度也是不同的,这个也是为什么一般需要先定义目标是什么(精准,召回,多样,排序,相关),比如军工安全上,模型性能不变的情况下,可以牺牲召回来换得高精准度。
- 任务定义和初始目标之间就有Gap,但是为了把抽象目标变成可实施的,就会产生。
- 子问题拆解或者子任务定义过程中,因为某些子问题走不通,或者子任务不可达,导致需要做一些逻辑降级,比如解决其中的一部分,让系统变得可以实现,这个天然也就引入误差。
- 定义设计流程中,如果不是以单一模型的方式设计的,而是采用的级联模式,那么级联本身就会带来误差,这个直观上其实也很好理解,第一级输出的误差会被带入到第二级。过往语音识别采用“声学模型+语言模型”两个正交维度分别建模的级联模式设计,现在更多都采用“端到端识别模型”统一建模了,也是优化掉这种误差。可以被当成特征或者维度设计到一个模型里的,就尽量不要用级联设计。
- 当然还有一种误差是模型本身可以做到多少效果,比如90%的效果,就这个模型这一环节有10%的误差需要考虑。然后每一级的误差和下一级的误差之间是叠加关系,而不是简单加法。
- 有些任务天然需要对误差保持高度敏感,例如生成式模型(例如大型语言模型GPT),相比于判别式模型,每一个环节的误差都会被传递到下一次预测中被放大,因为语言模型是逐字预测的,起初可能只是小数点后几位的微小误差,在最后会被放大到30%甚至50%的巨大误差,像这类任务需要对误差高度敏感。
3年前当初做过一个【无注册声纹识别系统】,这个系统是在用户交互过程中,可以无感知的就实时判断出“用户是谁”、“性别年龄情况如何”两个重要画像信息,而不需要用户实现注册自己的声音,实现真正无感知。这个对于一些多人共用设备(例如电视、冰箱等家电)或者经常有外人往来的地方(例毕竟外人不可能提前注册)有很广的应用前景。
简单设想一下,这项能力可以用来做以下两件事:
- 用来实时做交互人的识别,识别到是谁之后,可以把这个设备调整到这人的个性化设定上去,例如内容推荐、闹钟习惯、闲聊风格等等;
- 用来做推荐系统,识别出是谁之后,可以把个人的交互数据计算成画像,让公用设备也可以具备个性化推荐能力。
对以上两个场景来说,“实时交互人识别”对于误差的容忍度就很低,具体来说其实是精准度要求极高,因为误差会连续传递到全部服务上。实际上基于单纯“声学”或者“语言”一维到两维信息的无注册声纹已经效果已经不可达了,需要引入视觉维度做“多模交互人识别”,或者干脆把系统做成注册式声纹。
“推荐系统”对于误差的容忍度就相对高,具体来说召回要求不高,就算一个人被识别成了两个人,导致画像计算数据变少,其实影响也很小,另一方面精准度要求也不高,因为其实即使识别错了,用户也比较难感知到。
如果以上面的视角方式再回头审视下“交互中挖掘需求”这件事,就会发现之前设计的流程存在很多问题。
A. 首先其实是有个概念偷换,且不论只能评估【需求影响面】,【转化率】则需要人工评估这种问题,其实在定义“文本聚类”子任务的时候,已经是再用【表达范式影响面】在替换【需求影响面】了,可以大概理解成其实只能挖掘某个需求的某个意图,例如“看XXX的(XX年上映的)电影”,其实这只是影视需求的一种表达范式。
即使加入了【知识】给模型提供了一定的泛化能力,也需要知道这种泛化相对有限,毕竟【知识】本身承载的范式就有限,而人的表达范式是无限的。
所以最后结合上述问题,初版的设计问题其中一种解法是改成以下的子任务和流程,最终的子任务并不是【聚类+分类】而是【分类+聚类+检索+类比对】的流式设计,而流程也变成轮次聚类的设计方式,具体分析过程就省略了,以下给出了大致的设计思路示意图。
② 冗余评估
这个一般是评估系统的效果上限、可优化空间和优化成本,比如如果系统已经没有太多优化空间,也没有其他正交维度可以引入了,那这个系统其实就是一锤子买卖,后面的效果运营服务即使想做也没有任何收益,商业角度看就应该侧重思考怎么降本了。如果存在优化空间,也要衡量效果优化的投入,效果每提升1个点需要的成本都是指数上升的,效果越高再优化的成本也就越高,甚至可能就是重构一套新解决方案,所以其实有些不产生流量价值收入的TO B生意经常做成一锤子买卖。
4. 迭代阶段
在谈AI如何迭代发展之前,想先探讨一下关于AI能力边界的问题。关于这个问题,我个人意见认为吴军老师提到过的他的导师总结的人工智能三大问题总结的最为精炼。
1)设计者意志:可以说AI目前依旧是设计者意志的体现,是设计者用他的设计意志代替了全人类意志在设计。
关于这一点,我一个关系要好的算法负责人讲过他的观点是AI是一种“重构+共现”,我觉得可以直观理解成一种高级复读机,不论是定义需要获取的数据,还是定义任务,基于统计的AI还是一种对于信息的归纳和总结,来复现输入的信息量。
这其实代表使用的AI代表的就是设计者的意志。即使是大模型,我使用OpenAI的GPT4和Antropic的Cluade做东西,也发现两者在输出信息倾向和逻辑上有明显不同,有兴趣的可以到https://nat.dev/ 或者What is the Vercel AI Playground?试用下。
2)隐私性:AI的隐私性问题和安全问题讨论已经很多了,就不赘述了,近年的联邦学习技术对这个问题提供了一些有益的解决方向思路。
3)非连续性:这里涉及一个基本边界问题,AI的前提假设是涉及的事务都是连续的,但是实际上现实世界的很多事情都是离散的、稀疏的,这有可能是因为没有收集到足够的信息,有可能是更多信息本身无法被收集,这就造成:
- 第一,并不是所有的问题都可以被AI抽象。
- 第二,实际上AI抽象现实问题的时候,离散问题会被当做连续性问题解决,导致误差。
因为AI可以简单理解为一种基于统计学的高级复读机,所以其实本质上无法处理预料之外的情况,虽然可以对意外情况做一些兜底处理,但单靠模型的话,未定义的部分其实就相当于在抛硬币了。比如吴军老师经常举一个例子,对于自动驾驶来说,如果车不认识“沙袋”,那车路上碰到沙袋就只能停下,或者极端一点,一个人突然拦在车前面不走,车也只能停下,这就是非连续性。
为什么讲这个呢,因为一般大的迭代方向和这些限制就有关系,一般来讲迭代的方向有几种:
1)基于业务场景的基线版本,扩展更多的业务其他应用场景
- 例如用于缩减成本的本地化方案:把计算转移到本地,就可以节省云端服务器费用;
- 例如降低隐私问题的联邦学习方案:和区块链的思路就有些相近。
2)提升到更好的效果
- 以前的AI有一个大问题是,如果不更新训练数据,效果就会持续下降,当然有些设计时候可以预留一些字典,可以后续靠填充字典数据,不更新模型提升对于新数据的适应,减少下降趋势。
- 如果可以寻找到更好的流程,或者更精准的子任务定义,可以大幅提升整个系统的效果。
- 算法模型结构本身的更新,这个问题就相信你的算法负责人就可以了。
3)根据不同业务应用场景的定制化
a. 比如前面提过的声纹的例子,如果做家庭个人健康档案,依据无注册的声纹就无法做到,因为无注册声纹的上限相对较低,优势在于便利和实时性。但这种场景需要至少95%以上的高精准度才能使用,此时就要重新考虑方案。
b. 声纹这个例子里,就可以使用注册式声纹(即现在大部分声纹方案),先让用户说几句话,然后生成一个人,因为这种情况下可以人机耦合来解决噪音干扰问题,可以保障。
- i. 聚合数据完全纯净,因为是人工专门录制的音频嘛,后面只需要和这个聚合类比对下是不是一个人就完了;
- ii. 同时可以设计各种发音场景或者发音质量校验标准(比如百度地图录制一个自己的发音人,就会校验音频信噪比、音频质量、文本匹配度等等,总会提示音频质量不过关重录),来让训练数据的质量变得无比高;
二、预训练带来了什么变化
预训练首先是对于传统的监督学习的改变,Transformer这种有史以来最高效的特征抽取器的广泛应用,让LM通过共享预训练模型的参数连接起各个任务,GPT/Bert的两种研究范式也就就此确立的。对于之前主要广泛受关注的是以Bert为代表的“双向语言模型预训练+应用Fine-tuning”模式,使得语言模型适应下游的任务,基于预训练的思路,模型更大了,效果更好了,各种人工智能的最终任务,诸如完形填空、目标检测、关键要素抽取、机器翻译、自动摘要、图像识别、物品推荐等等均取得了不同程度的提升。
从我的视角来看,我对BERT范式的模型理解是这样的:
1)模型的通用性差:虽然预训练让模型适应下游任务,但是实际上应用方面比较窄,这个可能和这种范式与人类语言习惯的距离更远,不如生成范式接近人类的表达,和Bert的训练数据也有相当大的关系。
2)预训练的信息输入量远高于以前的训练模式,通过大量提高输入的方式必然会使得输出有提升。因为我理解AI算法本质是压缩输入,已经从输入里总结归纳,并且在输出端复现输入,即使是生成式的算法也是这样,例如大型语言模型加入COT可以使得结果的逻辑性和合理性更强。
3)数据和模型大小变化带来的收益较低,原本效果上无法商用的一些方案和技术,依旧无法商用。这个可能和模型本身的规模没有达到某个量级有关,因为同样是双向的T5和BART在生成类任务上也取得了不错的效果(BERT本身就不具备这种场景能力,不做谈论)。
4)模型量级在指数上升,且模型的规模扩张速度已经超过了摩尔定律的硬件性能提升速度,也就是说就算抛开效果提升了多少来看,成本的上升速度超过了收益,成本的上升速度有些过快了。关于这一点虽然openai和deepmind都分别测试了模型量级和数据量的缩放法则来说明必要性,但是成本上升却也是事实。
Midjourney的Discord社区某个案例,文本我用翻译软件翻成中文了
交互界面的自然化,带来的必然结果就是对使用人的专业技能要求少了,比如我们不需要会使用设计工具和代码,就可以使用Midjourney,但是如果让我们输出专业的Prompt,就会需要一些专业知识。如果让GPT来做专业语言prompt生成,也需要做到从设计语言层面做需求拆解,这其实依旧和普通人模糊不清的需求描述有差别。
这一部分的需求拆解工作是不能让AI来执行的,因为这件事没有现有知识可以总结,而是需要基于已有的少量输入,推理出远超输入的大量输出。大型语言模型可见的问题是不具备基于已有推理未知的能力,给的结果更多可以理解为是AI从数据总结归纳的结果,而不是推理的结果,这种结果可想而知是接近千篇一律的。
所以其实自然度也是有限度的,至少各专业领域的需求拆解工作目前并不会被替代,其实抽象一下也就是说,各个领域里面真正产生新信息的工作不可能被替代掉。
但是即使语言模型有能力边界,其实这种程度的交互自然度已经使得相当多的专业性知识在实际使用中变得缺乏意义,但是我依旧认为了解领域专业知识的人才可以具备创造新信息的能力,不了解的人甚至不具备评价某一成果好坏的能力。
2)大模型的通用性,高成本领域定制方案的消失
过去的AI往往一种AI只能解决一种任务,这就使得大千世界里形形色色的行业和领域都需要各种算法能力定制,但是GPT的预训练使得大模型表现出了对于人类语言的通用理解能力和推理能力,因此在各种领域都显示一定的基础理解力和应用潜力。
加之低成本定制方案FLAN、P-tuning、Lora的应用,微调的技术证明了可以用少量数据强化大模型的指定方向的效果,这意味着通用人工智能+低成本的定制,取代了过去逐个场景定制的高成本方案,可能一般用户见的最多的就是基于Stable Diffusion微调的各种风格的图像生成模型:
① Lamda和Alpaca的相关研究证明了只需要几万指定方向的高质量数据微调就可把指定方向的效果拉升到可用水平,相比于天文数字的预训练来说,这个量级的数据可以很快收集到。
这意味着具备了“一个通用大模型+低成本定制领域方案”的一套解决方案可以低成本,并且快速的实现基于通用大模型的各领域应用定制工作。斯坦福的论文阐述这一项工作开销低于500美元,斯坦福使用的LLaMa模型较小,但是依旧有很强的参考意义。举个例子,如果我需要把强化大模型的多样性,我只需要几万的Finetune或者P-tuning的多样性数据集来调整即可。
③ 模型和数据量的扩大,导致模型对于语言的表达理解更深了,同样的一句话GPT4已经都可以理解,Chatgpt则会给出完全不同的回应,虽然每种回应包含的信息量都有巨大差异,但是即使选择信息量最小的一种提示方式,GPT4也可以立刻反应过来,而这种非显性的交流,更加接近真实场景中人的会话方式:
- 你没有什么需要我提供的信息来提供具体建议吗(反问+质疑+提示)
- 你没有什么要问我的吗(反问+质疑)
- 你有什么要问我的嘛(缺失提示信息,也没有反问和质疑态度)
BIG-BENCH中有类似的Sufficient Information测试任务集合(https://github.com/google/BIG-bench/tree/main/bigbench/benchmark_tasks/sufficient_information),但是我感觉big-bench上的测试集偏向于知识推理(e.g., How much water is in a full 4 inch tall cylindrical glass? Answer: what is the radius of the glass?).而不是一些基于社会运行常识的一些推理,例如着装需要依据不同的工作性质、场合、性别、外貌特点以及个人希望他人对自己形成的社会认知。
至少从我几个月的使用体验中,我认为AI依旧存在“设计者意志问题”,甚至因为微调对于激发模型表现的巨大影响,以及预训练数据的范式对于模型语言理解倾向的巨大影响,设计者通过数据向语言模型施加的影响更大了。关于预训练范式如何影响语言模型的问题下面会再另外谈到。
4)很多中间子任务变得没有意义
大模型导致很多的AI中间子任务不再具有意义,很多问题可以端到端的直接解决,这不仅是很多AI的子任务失去了研究意义,很多业务子流程设计的时候也不再需要转化成繁琐的AI子任务,可能仅仅依靠基本的逻辑素养,只要制定出合理的任务路径,就可以期待大模型可以端到端的直接解决此类问题。
举个例子,假设我们想设计一个基于情感的聊天会话系统(先不考虑知识和常识怎么来的问题),在以前会可能需要做如下的任务分解:
在上面的任务流程里,“会话历史的理解与关键抽取”、“会话情景的综合分析”、“主动挑起话题的能力”、“话题主体的预测与选择”、“风格化”等等都需要单独制定方案逐一解决。
这种思路在过往的AI设计中很常见,因为无法端到端直接输出想要的结果,就把一个任务拆解细碎的小任务组合,最早的语音识别是将任务分解成识别音节、词性、语法等小任务(即使现在语音识别分成声学和语言两个维度,也是放在统一端到端模型了)。
而之前对于情感这件事,具体的AI子任务会有更加细碎的分解,例如之前小米对于情感对话这块的实践就是这样的思路,把情感这件事拆分成“Exploration”、“Comforting”和“Action”三步来实现,并且借鉴了Maarten Sap 等人建构“if-then”图谱的思路。
另一件事是,目前互联网上可得到和使用的数据,相比于目前模型消耗数据的速度已经显得有些不够用了,尤其是信噪比低的高质量数据可见的十分有限。这导致后面有可能需要从线下去收集数据进行线上化,线下数据的线上化本身对于资源的消耗就可见的十分巨大。比如看看Palm-E消耗的资源量和达成的效果,就可以理解线下维度的数据收集有多么困难。
B. 成本下降的展望
算法优化的本质,我的理解是不断的提高无损压缩信息的压缩比,因此可以以更小的资源消耗实现等同的效果本身就是算法的优化目标。
在模型规模指数级的提升背景下,OpenAI自2019年开始,也提出了需要模型运行效率的问题。另一方面这个问往往不至于算法本身,很多工程化的手段都可以在效果不损失的前提下,在很短的时间内把计算消耗降低一到几个数量级。GALM和HunggingGPT让一部分专家系统起作用,而不是整个系统起作用也是一种思路。
如果我们实际把两种设计流拉出来,比较一下两种设计流的门槛,可以发现:
A. 过去的专业设计流:从【需求分析阶段】到【开发实现】,还有一个专业的【系统设计】阶段,这个阶段需要大量的专业知识和阅读量,这就让设计本身变得门槛极高。
蓝色部分需要对于技术的研读和经验才能进行。当然说实话,过去见过的AI设计按照这个流程能完成设计的很少,很多设计的工作被忽略了。可以看出过去的设计流程里面对于需求的分析把握以及对于技术的了解度都占了比较大的比重。
过去的方式有一项的工作就是任务分解,在各种边界条件限制下无耐不断进行任务和子任务的分解和重新定义,而就像前面所说的,每一次分解都代表了更多误差的引入,和对设计者更高门槛的要求。
B. 大模型的端到端设计流:从【需求分析阶段】到【开发实现】也可以直接的解决了,因为没有必要在拆分复杂的子任务,甚至对于【需求分析】本身,要求的逻辑能力也变弱了,更多的是要求模仿目标场景的范式被定义出来。
对于大模型设计来说,大概可以认为只要对于场景和问题的分析做的足够好,问题的拆解可能可以直接作为系统的任务定义,问题解决的逻辑路径可能可以直接作为任务系统的任务流程。而唯一有可能需要的只是需要大概了解下有哪些经典设计模式。
这个工作流其实已经相当接近普通To C或者To B产品的设计流了,在这种设计模式下,任务基本是可以端到端的直接解决,无需进行分解,或者说分解和定义的工作实际是在定义训练数据,而不是定义系统组成。
设计门槛的变化,最有可能的结果就是,人人都是AI设计者的时代可能要到了。
但是其实要我说的话,虽然门槛变低了,但是这件事的分析难度可能没有太多变化,在过去实践中我们发现在定义数据集的时候,能否注意到目标场景的大量隐前提,例如会话中的主客体关系和主导角色,这些都构成了影响prompt和训练效果的关键。只会粗浅的收集数据和范式模仿,可能永远也达不到目标效果,至少在我们的大模型实践中是这样的。
② 大模型时代设计者角色:大模型设计者&行业应用设计者
大模型极大的降低了设计门槛,让很多不具备专业知识的普通人可以加入AI设计行列。同时因为大模型的通用性+低成本微调的特性,导致大部分的应用场景都可以基于大模型的微调开展,无需再像之前一样逐个场景定制AI,因此设计门槛也出现了分化:
A. 基础大模型的设计者:这类设计者更加需要关心一些世界抽象问题,基于不同的抽象维度的深度理解去设计基础的大模型。同时这类工作依旧需要一定的算法理解,但是理解深度要求就浅的多了,因为实际操作定义可能是最终任务,而不是子任务,这让理解成本降低了很多。
B. 行业应用的设计者:这类设计者则更加关心具体应用场景的问题,对于应用场景的理解力,应用场景的会话范式和成立前提,决定了该如何定义应用场景的精调数据集,这项工作虽然门槛基本没有了,但是因为几乎只有数据一个影响因素了,数据集定义质量就是关键,而数据集定义取决于对于场景的理解深刻度有多少。
a. 大模型方案的设计
就像上面提到的,大模型让一些中间状态的子任务,词性、句法、依存、指代消解、语义角色标注等等都不再具有研究意义,甚至NER、Embedding这类在大部分通用场景下也不需要单独再做为一个独立子任务进行方案和研究设计。但是目前其实针对大模型的效果测试集中,其实依旧可以看见这些子任务的身影。
BIG BENCH测试集中的传统NLP任务(https://github.com/google/BIG-bench/blob/main/bigbench/benchmark_tasks/keywords_to_tasks.md)
研究可以更多的关注于最终任务,诸如完形填空、机器翻译、摘要总结、情感分类等等。这种最终任务的理解成本就变低了很多,比如即使没有阅读过NLP领域的研究,也大概都可以通过简短的介绍大概知道上面哪些最终任务是什么意思,以及大概的应用场景是什么。
中间任务的消失,和任务解决越来越端到端化的趋势,让大模型设计者更加需要具有对于一些技术外的抽象现实任务本质的深刻理解。例如对于Chatgpt的场景来说,对于【什么是会话】【什么是写作】的理解,就是对于这种任务场景的洞察力的体现。
作为设计者来说,算法知识需要了解的更少了,怎么能够从对于世界的理解中抽象出一些基本任务,并且对这些人类社会的现象本质具备深刻洞察和理解,成为设计者的关键素质。而这些端到端的设计最开始的应用,就是取代了算法人员自己,因为看起来需要具备算法素养的场景越来越少了,算法确实是自己革掉了自己的命。
对于目前的人机交互形式来看,我觉得可以抽象成“写作”和“会话”两种本质任务,关于总结、范式转换类的工作可以理解成是一种写作,关于知识、交互、情感类的工作可以理解成是一种会话。
在22年的虚拟人交互实践过程中,我注意到一些跨学科的应用,对于研究这类抽象事物的本质尤其重要。例如【小说写作】【动画设计】这两个行业的知识对于“会话”和“人机交互”产生了很大的帮助,《生命的幻想》《经典人物原型45种》《情节与人物》等等其他领域书籍,以及《艾迪芬奇的记忆》这款游戏,这些从其他领域借鉴的方法论和设计指南起到了很大的帮助。同时对于一些脑科学、生物学等跨学科知识,也都成为了重要的设计基础,原本打算整理下时间经验,但是文章写写停停,终于还是没写完。
今年大模型导致AI同行交流都越来越变的闭塞,而大模型的想象空间又让我明显感觉到和行内人士,及各行人士交流的重要性,因此打算开始有计划做一些分享和交流,下期打算就拿出虚拟人这块的事情和大家谈谈关于“会话”和“写作”两个话题的理解,这篇就不做详细阐述。
b. 行业AI应用设计
大模型的微调技术证明,大模型可以以很少的训练数据量实现一种全新的目标场景拓展应用,或者针对性的提高模型某一方面的特性表现,典型的例如:
- 模型特性:例如提高对话的自然度,提高会话的趣味性,或者形成一种全新的会话人设。
- 应用场景:AI法律顾问,AI家庭教师,汽车管家,家庭管家等等。
这一点我觉得是AI最大的机会,人人都可以在自己行业找到AI应用场景,而这个应用的设计门槛又被无限的下降,成本也被降低到了个人即可使用的程度,这一切都预示着大量的从未涉足过AI行业的设计者的出现,以及大量具有创造性的新场景的涌现,这是一个长期机会窗口的开始。
而我理解这并不代表大模型时代资深者就不再存在,机会可能在于可以提出比别人用更少的参数量,更少的数据量可以达到等价效果的方案。这可能是AI行业成熟期的开始,更高的效率更高的利润,成熟期市场的标志会逐渐成为方案设计的核心。
商业世界里,能够压低生产成本本身就是公司一个过硬的核心能力,能以50%的成本实现其他公司100%的等同效果,这就意味着可以以0.7倍的成本价,出让20%-30%的利润,逼迫能力不足的竞争对手退出。我个人觉得对于行内人来说,最怕的就是演变成几年前CV算法四小龙同质化竞争,一堆厂家建一个算法池,客户豪气的讲“想用哪家的随便用”这种格局。
③ 迈向抢夺定价权的时代
商业里有一句经典的话,“没有核心能力的企业,消费者会掌握定价权”。举个不太恰当的例子,这句话的典型行业可以看手机市场。雷军自己都曾经表达过,小米手机卖多少钱取决于消费者愿意出多少钱,和手机制造成本是多少钱没有关系。因此小米把寻找消费者可接受的最合理价位作为售价,然后通过规模效应把成本压到售价以下,这种变化也是行业从红利走向成熟期的标志。
对于AI行业来说,也是同样,所有参与者都希望把自己高昂的技术成本转换成公司的核心能力,也就是希望企业本身能够掌握定价权。
而对于AI企业来说,资深设计者掌握的高效设计模式决定了企业可以以更低的成本实现更好的代差级效果。
当然这里面还有谁能掌握更加核心和不公开的低噪音数据的问题,但是这些都是企业为了掌握定价权的动作。这里面对于掌握高效收集清洗数据,高效设计模式的资深设计者来说,机会也是变得更多了,更多的初级人员的加入并不意味着资深者的出局。
从目前大模型之后行业趋势来看,大家慢慢的都开始做CloseAI了,从论文到使用的数据集,都不再像以前一样完全开源供大家使用,甚至于很多的大模型连一个playground都没有。大模型对于数据质量更加严重改的依赖,导致大家会尽一切可能保护自己真正核心的数据资产。
④ 理解大模型的应用与方向
A. 理解大模型应用场景
目前最主要的大模型可以归结为语言模型(应用包括语音识别、多模态识别、蛋白质序列预测、电路设计、代码撰写、PPT生成等等)、扩散模型(图片生成、3D自动建模等等)以及两者的联合使用(视频生成)。
- 扩散模型本质我理解是一种消噪过程,我理解一些可以抽象成噪音消除预测的场景就可能是扩散模型未来的场景,这些场景是独立的,不要求上下文相关性的,简单说就是内部不要求逻辑合理这种要素存在,单纯的复现输入,因此像艺术类的工作,诸如建模、画图等就可以用这个实现。但是艺术设计的前向工作,比如灵感产生、设计理念、前期设定等等前期工作,其实没有办法解决。
- 而语言模型侧重于连续序列的预测,侧重上下文的关联性,从人类社会的视角来看,这个的应用前景明显更加广阔,所以很多人谈起大模型就谈到Chatgpt,做个不恰当的比喻,这个相当于在尝试解决解决人类大脑可以解决的问题。为什么说是不恰当的比喻,因为语言模型本质上来说,其实没法办法像大脑一样推理思考,更多是在对输入进行归纳、总结和压缩,使输出看起来符合逻辑性。
- 其实综合上面来看,很容易想到的就是扩散模型看起来偏重输出表现层的东西,语言模型看起来强在逻辑性,两个组合不就可以输出需要逻辑性表现的东西,用LLM理解语义和动作序列,用扩散模型生成每一帧的序列,例如视频、3D动作等等。这方面确实有研究,例如CogVideo、Imagen等等。
- 也有很多研究诸如斯坦福的《Diffusion-LM Improves Controllable Text Generation》或者关于应用扩散过程做Masked Language Model的研究,就是用扩散过程做语言模型,因为语言模型的Masked再预测的过程确实可以看作是一种消噪过程,甚至自监督学习本身就可以理解成是对query的一种带噪重构,所以最终两者会不会殊途同归这个还是留给专业算法去研究吧。
从替代人类工作的视角来看,我的理解和吴军老师对于大模型的解释类似,大模型尤其是热炒的大型语言模型,并不会替代信息创造者的工作,更多是替代了不做信息创造仅仅做信息加工和传递的工作。以使用人使用交互工具需要的能力来看,可以从两类人来看待这件事,一类是知识或者信息的生产者,一类是知识或者信息的消费者。
⑤ 对生产者来说,大模型是一种绝对的效率工具
我的理解是,对于世界运行的本质任务抽象度越高的大模型,未来的应用前景也就愈加广阔。例如语言模型之所以应用场景比扩散模型要广阔得多,影响力也大得多,原因在于语言本身相比于图像就是一种高度抽象的世界概括方式,因此语言模型也可以视作对于人类社会中其中一个维度的高度抽象。”图像、视频、文本、音乐、生物结构等等”一系列均有上下文序列强关联的事务,均可以被抽象地视为“语言”的一种范式。
未来是否会有一个终极抽象的大模型能够真正实现“通用的多任务人工智能”这个我不知道,但是至少从各个人类社会的抽象维度一定都会诞生出大模型,如果不是单纯的比拼垂类任务精度,而是比拼通用性的覆盖广度,那么抽象度低的大模型一定会被抽象度更高的大模型替代掉。
实际上我觉得垂类任务的精度问题也可以通过扩展模型和数据量,或者指望“能力涌现”解决这个问题,比如扩散模型我觉得其实有可能会被语言模型替代掉,因为语言模型在设计这件事上甚至可以做的更好。
A. 扩散模型之于创作
其实很好理解,相当于把设计者从工具使用里解放出来,充分发挥设计本身的能力和对成果的鉴赏修正力,典型设计的例子如《一拳超人》,ONE老师做构思和设定,村田雄介做原画,这样爆品漫画就产生了。可以说扩散模型可以发挥ONE老师这类信息生产者的创作潜力,而且效率相比于村田老师更高。
设计这件事的工具,因为人机交互工具自然度的进化,使用门槛被降低了,从图像扩撒模型的演进过程也可以看出这一点,stable diffusion需要具备一定的代码能力,而到了midjourney和dell-e,已经可以通过可以专业人士的自然语言交互直接使用了。但是我觉得对于资深专业者来说,并不构成问题:
- 1业知识最根本的,我认为是策划能力,并不是产品策划,技术架构策划,艺术设计策划、科研的策划都属于这类工作。这件事本质上是需要利用及其有限的输入信息,利用逻辑推演或者跨学科关联知识创造更多的输出信息量,而这件事本身是违反信息论原理的,因此大模型其实永远也无法实现这类工作。
- 对于工具而言,使用成本的降低是必然的演进趋势。需要门槛的专业工具本身就会慢慢被无成本的工具替代。而这种替代正是可以把专业人士从繁重的工具使用中解放,释放专业人士策划创造信息能力。
扩散模型可以说在图形、图像、视频、音乐这类专业领域,都可以用于生成然后用其他模型指导连续性,也可以多种语言模型联合使用,例如如下的输出方式,Socratic Models 研究了多种这种大模型组合使用,或者外挂其他工具的场景和案例,这个其实很容易想到,就不赘述了,可以自己去看:
B. 语言模型之于序列预测
目前国内外看到的大模型的各种应用,还属于比较基本的能力复现使用,但是即使是这样,大模型已经在相当大的范围内可以得到应用。大模型的主要能力可以抽象到四个方面:
a. 范式转换能力:相同类型的信息从一种范式转换为另一种范式,其信息量进行了一定的压缩,例如:
- 给出一段详细的文字描述,将其转换为图片或者视频输出;
- 语音识别和语音合成,其实可以算作语音转文本和文本转语音的范式转换;
- 给出详细的需求描述让AI转换成代码;
- 给予明确详细的指令和情景分析,让机器人执行动作;
- 文字和图像排版;
- ……
b. 明确范式的内容输出:给出简短的信息,要求LLM填充更多的信息量输出,因为信息量增加实际上不符合信息论原理,所以这种输出的信息本质上来源于预训练的数据中,所以这种应用会有两个局限:
- 预训练没有见过的数据,LLM没法给出很好的效果,甚至可能输出都是“幻觉”,因为LLM往往预训练数据很多,可以做这样的实验,如果你给LLM一些反人类对话习惯的会话方式,比如每句话都要强调一下相同的内容和前提,就会发现LLM在会话过程中越来越不像人的会话,甚至可能会话都不通顺;
- 对于具有明确且固定的范式可以输出的很好,例如工作周报、健身计划、季度财报、非业务代码、甚至学术论文等等,但是对于不固定的范式就很难可以输出质量很好,例如让LLM模拟某个人的写作风格很容易,但是让LLM自己写出自己独特的文采和风格的文章,质量就停留在中学生水准,差强人意。
综合以上的应用局限,可以比较好的应用这种能力的场景也大概可以想得到了。例如如果让LLM写一些能力代码或者单元测试,LLM可以很好给出,但是如果让LLM写业务代码实际上没法输出,因为业务代码里往往蕴含了相当多的研发自己对于需求的解读和信息丰富。
c. 总结归纳的能力:从大量信息中,总结提炼出关键的信息,这个能力实际上可以解决信息过多的情况下,人工不足以进行全部客观的分析解读的问题。这一方面其实如果结合得当的知识更新注入方案,行业应用场景会相当广阔,当然目前主流的知识注入方式还是外挂单独的小模型或者检索的方式给大模型注入知识,然后要求大模型基于外挂的知识进行输出信息的改写:
- 收集大量信息总结提炼,但是不输出新的信息的新闻稿撰写;
- 上市公司的财报客观解读,这些需要客观性,规避偏见和虚假的东西LLM甚至比人做得好;
- 某一市场状况的总结分析和解读;
- 大规模的综合数据分析和解读;
- 知识总结和摘要提炼,可以用于教育行业;
- ……
d. 连续序列推理预测:对于可以抽象成具有连续规律序列的事物,都是利用LLM能力的最好的场景,这种能力其实最接近LLM能力生效的本质,其限制也很明显,就是不具有规律性或者信息稀疏的事物上,这种能力并不生效,所以这种能力的本质在于事物本身是否可以看做具有连续规律性。这种能力经常被应用于需要天文数字的计算量或者人工实验量才能解决或者得出结论的问题。
- 人类语言、语音、歌曲、影视等具有连续规律的事物;
- 蛋白质设计、芯片电路设计、路线规划等等具有连续规律性,或者可以看做具有规律性的事物;
- 科研实验试错的最好助手,例如药物分子设计,大规模转基因实验等等各种科研实验领域上;
- Dota、麻将、纸牌等等策略取决于连续上个动作和下个动作的游戏AI;(OpenAI早期用强化学习做过一个Dota对战机器人,我觉得现在其实可以考虑用LLM做一个更强的)
- 植物生长情况预测,环境变化预测等等放大到大范围上的预测;
- 当然以上都是开脑洞的应用,模拟人类说话和写作本身其实就可以看做连续预测;
- …….
当然即使是科研领域,也有大模型解决不了的领域,例如考古或者天文学,都属于可观测数据极其有限的领域。例如天文学因为没有足够数量样本验证定义是特例误差,还是统计标准,其实是依靠构建出大量的定理,依靠关联定理数量的多少来决定哪些定理是科学的,从而在极少的几个观测实体上验证假设。
对于参与以统计学为科学基地的AI行业的我个人来说,这种少样本的科学方法论,拓宽了个人看待世界的方式的另一种维度。
这四个方面的能力并不是只能单独使用,可以同时应用产生在一种应用中,例如指定“给我蛋糕食谱并且配上每个环节的操作示意图”这种需求就会应用到多种能力。
其实理解了上面的大模型的能力,对于大模型能做什么不能做什么就有一些边界预期,目前的LLM远不是通用人工智能,甚至不是真正的多任务人工智能,但是其应用场景也绝对不止目前大家简单应用的一点能力复用,所有符合上述抽象逻辑的问题和问题组合,理论上都可以通过LLM来解决。
相比于扩散模型,语言模型更贴近人类社会一种连续性维度的抽象理解,因此其掀起的热炒也远比扩散模型高得多。目前的语言模型我认为主要抽象了两种本质范式,已替代了过去零零碎碎的各种场景定制范式:
1. “会话”:类比人类社会中的各种交流形式,不论是一对多的大众传媒,还是一对一的社交活动都在会话的场景可以得到体现,而会话的核心场景就是信息量不产生在一方,总有一个相互的信息交互过程,这代表了有很多隐含的社会约定俗成的规则在“会话”范式中。
我认为可能“协作”更像是这种范式的终极形态,交互双方相互填补信息空缺,综合输出一份共创结果。模型规模的扩大,对于语言深层的理解逐步在强化,但是至少从目前对于GPT4的使用过程可以发现,其实目前的GPT4还没有办法完全自主的理解这种范式。
什么是语言中更高更深层的东西,对于会话来说,就目前的一些实践经验来看,我觉得其实这个问题可以分为两部分:
1.会话成立的前提:这一点很容易被忽视,我发现对于GPT来说如果不给它指明,GPT本身也不会关注这个问题。例如【会话的主客体关系】【会话主导角色】【谁在填充信息量】【做出评价与总结】等等。这一部分的信息必须在few shot或者后续纠错中补充给gpt,gpt才能理解,或者以精调的方式激发这方面的能力表现。从这个意义上来说,可以再次证明大模型对于设计者意志的依赖。
2.语言文本中蕴含的深层信息,大概语言模型的发展也是按照这种方式,从最开始的形式(词性、句法、成分)走向含义(语义),到现在的会话情感,对于会话中的显性情感GPT已经可以完全理解,但是对于一些隐性情感及回应的情感态度选择,这块语言模型的潜力还有待被进一步挖掘。
关于“对话”和“写作”本质我的理解打算在下一篇关于虚拟人的大模型实践里详细分享一下,这里就不细谈了。
或者我让大模型理解一下更抽象的内容,比如什么叫做“协作”。也可以发现大模型其实完全不理解这件事,只是在语言层面模仿的比较顺畅,关于协作的本质大模型完全不理解,给出的只是浮于表面的人类行为模仿,以及语言顺畅度的润色。其实这个也可以看出设计者并没有为大模型定义这种任务和能力,有可能会是未来大模型下一代大迭代的方向。
下面是我让GPT4模拟一下协作流程,GPT4给出的,可以看出各参与成员之间其实完全没有发生信息量的交互行为以及共创产生新信息量的行为,有的只是一种已有信息的不断传递、总结和形式转化(这个过程我觉得其实也可以说是是语言模型的本质)。后面我又尝试让GPT4做了各种方向的调整和prompt,但是目前的GPT4始终无法理解什么是协作。
2. 需要全局视角或者审视全局上下文情况的场景:因为GPT是单向语言模型,这意味着当GPT输出内容的时候,实际上无法像人一样,对已经输出的内容进行修正。
例如人可以在推理过程中,发现上文矛盾的地方,涂改修正推理路径,但是对于GPT来说只能硬着头皮继续解释错误,【幻觉】的出现我觉得和这个有脱不开的关系,有可能对于需要全局视野的事实,大家最后依旧会用到双向语言模型的技术,因为双向意味着可以检查和修正上下文,只是可能不是Bert那种判别式模型的形式,可能是类似过往的XLNET的双向自回归的思路开展,例如T5就是一种双向的语言模型,当然这个问题还是期待算法大佬的实践与思考分享。
3. 引用微软GPT4的报告内容做个结语:适用于LLM的例子包括写摘要、回答事实性问题、根据给定的韵律方案创作诗歌或解决遵循标准过程的数学问题。而对于不连续任务的例子包括解决需要公式的新颖或创造性应用的数学问题,编写笑话或谜语,提出科学假设或哲学论点,或创建新的写作流派或风格。(Sparks of Artifificial General Intelligence: Early experiments with GPT-4)
AI行业和一般的行业有一个巨大差异,在于真正理解AI和应用范围的人很少,客户一般情况下更是只了解一些具体应用的案例,这就导致AI行业找应用场景一直处于拿着锤子找钉子的状态。
一般AI行业的设计者都是先设想会有很多人在某某方向有很多应用场景,或者自己找一些侧面佐证数据,或者找几个关系好的客户聊一下意向,本质上其实是设计者先按自己的想法设计,然后再给市场推广告诉市场有什么什么用,期望市场接受。而一般其他行业客户对于自己的需求本身有比较明确的分析和预期,可以有相对明确的诉求,这一点和AI行业很不一样,AI行业客户往往等着设计者去介绍有什么样的特性,然后判断下自己是否可以用得上。
在大模型时代,这个问题得到缓解了吗?我觉得其实并没有,虽然大模型的火爆让很多人知道了如何简单的应用AI,但是如果要能够自主分析需求,依旧需要研读较多的基本资料,这一点可以说是AI的需求分析门槛了,即使在大模型时代,如果知识照猫画虎的看看新闻报道,依旧只能停留在简单的基本能力应用模仿上。
⑥ 大模型会有哪些方向
关于大模型的演进,经常提的是在五感信息方面扩展,比如在语言基础上叠加视觉多模态,或者叠加触觉类的动作能力。
我觉得这件事可以从世界信息的维度来看,虽然大模型都是在压缩世界知识,但是世界知识收集的维度有很多来源,比如互联网上的信息(统一归结为线上社交互动)、线下人与物之间的交互、线下的社交活动行为、人与商业服务实体的互动、商业关联实体间的互动等等。不同维度的信息需要搭建不同的数据收集通道,以及不同的数字化的方式,而大模型可以压缩的各个维度的世界知识越多,大模型可以输出的能力也就越丰富。在不考虑信息收集成本的前提下,大模型无限收集和压缩世界知识确实可以实现全知全能的信息复现能力。
对于国内来说,有另一层的问题,就是很多线下信息的线上化程度不足,比如国内的图书馆信息因为线上化的程度小,就没法像没过一样把这些信息全部输入大模型充分利用。这个有可能也会是一种机会,就像美国当年的加利福尼亚淘金热,淘金的人赚钱的没有多少,而送水、住宿、卖稿子的都赚的盆满钵满。另一方面,这种淘金热也直接让美国西部出现了新兴的城市圈,对现在的美国长期产生深远影响。我觉得可以预期就算大模型从业人员确实不会有很多人赚到钱,但是对于整个社会来说一定会产生长远的正向收益。
数据的重要性这件事,从最近OpenAI发布的“过程监督(PRM)”的训练方法也可以侧面看出数据的重要性。对于数据质量的要求越来越高,不止于最终结果,已经拓展到推理过程中。不过这也变现的导致数据的标注成本越来越高,大模型对于高质量数据的需求,随着大模型国产化的进程,市场空间一定会越来越大。
对于大模型来说,依据大模型的数据和调整方式,可以分为三种“基础大模型”、“微调行业大模型”、“大模型+Prompt插件”,分别对应了大模型中的三种数据“预训练数据+SFT”、“微调数据集”和“实时交互的Prompt”。三种模式分别有对应的应用场景和所需的最低成本投入,所以其实一般看一家做大模型的公司投入情况,大概就可以猜出他们的实现方案是用的哪一种,以及大概效果会怎么样。关于效果其实更多的是说模型对于语言的深层理解如何,单纯的模仿某种行业的场景进行回答,这个其实在较数B量级就可以做到,然而这种模仿小模型实际上做一些推理或者解决行业深度问题的时候就完全力不从心:
- 基础大模型:论证复现一个gpt需要多少钱的文章其实很多,大家可以自己去查,大致来说不到数亿的投入基本都说明这个厂商并没有在做自己的基础大模型;
- 行业应用模型:这个其实成本空间上下限就很大,Lora这种微调可以在几个小时几百块就微调出一个效果看起来很不错的行业应用,并且Lora可以不将大模型私有化部署,因为本质上只是一种外挂,并没有动到模型本身,和F-tune、P-tune很不同。但是如果采用Tuning的路线,往往从行业知识建立到定制优化需要数十人的团队来做,但是这种优化方式其实稳定性和应用潜力都会更高一些。
- Prompt插件:更多针对个人应用者,因为大模型对于Prompt高度敏感,所以给大模型一个prompt设定,大模型基本可以较好的完成绝大多数的个人问题。这也就导致大模型的插件(或者function)生态很强。
不论大模型(特指LM)如何强大,本质上依旧是一个预测下一个单词的语言模型,但是其对于语言的深刻理解,实际上赋予了它可以应用到各行各业的潜力。成本下降、轻定制、交互界面自然化这三件事实际上加速促进了这个进程,这一未来体系中,除了基础大模型的提供者之外,可能会有如下重要的参与者出现:
- 专家系统提供者:训练自己的expert模型,成为MOE架构下的专家系统之一,这种相对封闭生态模式类似于加入基础大模型的开放平台,成为服务供应商之一,按调用次数收费;
- 行业垂直应用:基于Finetune、P-tuning精调大模型的访问方式,以低成本实现垂直行业的应用;
- Lora开放生态:为什么单挑Lora出来了,因为现在非AI行业的产品都需要自己的定制方案,但是一般大模型都作为核心资产存在大模型厂商云端,而lora这种在大模型之外外挂微调的方式,就可以做到不影响原始大模型的基础上,开放出去进行微调,同时这种轻量级微调的成本也更低;
- Function开发者:大模型的一些问题也可以指望通过生态解决,例如GPT4最近推出的Function Call这种类似外挂知识+检索的方式,这个同时相当于赋予了大模型在语言之外可以直接“操作”的权利,作为提供这种接口的开发者有点像成为安卓或者IOS的开发者;
- 个人应用者:对于不希望与大模型定制做交互的普通应用者,可以以Prompt插件的方式在会话中访问大模型的某一部分能力,因为大模型对于Prompt具有极高的敏感性,仅仅Prompt提示以及in-context-learning就可以让大模型指定领域效果相当出众,所以才会有相当多人提及Prompt工程师的出现。
实际上BIG-BENCH中很多都是类似【俄语问答】、【上下文冲突】等等具有明确的正确错误概念的任务。例如上面图片中是我翻阅了我认为相对正误边界模糊一些的【Sufficient Information】的任务中的一些示例,依旧可以看出问题其实相对于现实真实问题来说,测试集中的问题边界清晰度高得。
例如现实问题中不会出现“我有一些书,我丢了一半,我现在还有几本书”这种显性缺失的情况,而更可能是我上面以GPT4的会话能力举例的“今天我是第一天上班,我应该穿什么衣服”,要解答这个问题实际上需要至少知道“个人性别身高体重”、“公司着装规定”、“个人着装偏好”、“天气情况”等等前置信息才能给出答案,甚至还需要考虑不同国家地区的文化差异。
而这些隐含信息LLM是否能够判断出来是缺失的,我觉得这种问题才是真正能够测试大模型能力的问题。
上面的阐述的核心观点在于,我认为目前还没有人提出一个真正可以测试大模型各个方面真实能力的测试集合。它可能需要像专家测试初学者的人类一样,以专业者的视角提出各种深度的问题组成一个测试集合来进行测试。
我很希望聚合各领域专家的知识,创造这种公开的能力测试集,以能真正推动大模型在实用上更进一步。实际上,大模型在很多的真实事务场景中都表现并不好,另一个典型的例子是如果我让大模型写一份年终总结,大模型甚至会把楼下包子店的小李也放进去,大模型不认为有主次的概念,我觉得这些真实场景的模型能力都有待加强。
因此我其实十分推崇Miscrosoft对于大模型的测试评估方案,针对大模型的认知学、数学、情感等等各个领域以评估人类心智的题目方式来对大模型进行测试评估,这种方式是更加合理的。《Sparks of Artificial General Intelligence: Early experiments with GPT-4 》这篇测试确实写的很好,我觉得与其我断章取义,不如去看下原文https://arxiv.org/pdf/2303.12712.pdf。
另一层面,对于大模型真实应用场景的业务指标,需要像微软一样以领域专业人士测试人类的方式,来构造对应的测试集合和数据指标,以来评估大模型某一方面的能力,当然这首先可能需要测试人员成为这一领域的入门专家,了解如何以一个专家的视角来审查大模型的能力水平。
四、后记
1. 以另一个视角对大模型扯点别的
因为最近年初对于法律领域也稍微涉猎了一些功利主义“最多数人最大善”的问题,这些启发我从另一个层面的思考大模型这件事:
- 大模型本身依旧是效率的化身,效率是否总是有益的?这件问题其实很有意思,比如如果我们以电商减少了线下人与人之间的社交场景来看待电商,就会发现在生产大于消费的时代下,电商实际上对于社会整体收入创造是减少的。那么对于大模型来说,其实也会有类似的情况,如果所应用的行业、甚至公司个体,整体是生产大于消费的阶段,那么再提效其实只会降低整体的产出收入总额。
- 大模型的高投入会带来一个问题,真正可以进入的玩家数量很少,普通人甚至提出一个自己的假设都没有办法去实施验证(普通人总没办法买一堆A100每天做Fintune甚至预训练来实验自己的想法对吧)。这种格局实际上很容易导致垄断现象,对于商业而言,垄断的问题不在于寡头借助垄断地位赚高额利润,相反,过去的垄断行业巨头都倾向于不断提高产品效率和质量,而降低产品的售价。借助这种方式可以让后来的玩家进入门槛越来越高,对于大模型来说更是这样,当你花费了相当多的投资人的钱和时间,做出来一个东西,但是头部玩家已经把效果提升了一倍,成本压低了一倍,这个事情就完全没有价值。
2. 谈一谈后续计划
目前确定的一个计划是,这次文章虽然写了很长,但是因为过度压缩了,其实真正想展开谈的内容并没有展开谈,因此关于【对话】【写作】【情感】这些人类社会抽象问题的理解和实践思路,打算拿出来虚拟人设计的一些实践经验,和大家分享讨论下我对这些本质问题的一些理解。在我们的实践中,这些发现和理解每一条其实都让输出的效果产生了极大的变化。
再一个可能得计划是,因为自己一直保持着商业学习的兴趣,一直也希望和更多人探讨,只是这方面咨询公司和顾问大佬太多,我的观点也基本和大佬们雷同,说实话没啥信心能谈啥新东西,暂定看看再说吧。
在我写这篇文章的过程中,其实我也重新审视了下写作这件事,发现这篇是纯粹的分享类型的写作方式,要点穿插在文章内部,如果是科普文章或者教科书可能就会根据要点来组织文章,如果是汇报和总结就会按照总分组织文章,这种观察我觉得是大模型时代设计的重要动作。这些范式的定义行为决定了大模型对于【写作】这件事的理解是怎么样的,也就是所谓的“设计者意志”问题。
关于这篇文章,一开始也提了本质上只是个人抱着希望更多专业人士来找我交流探讨的目的写的。虽然大模型出现之后加了一些讨论群,但是群里充斥着基础的问题解答、新闻稿搬运,还有外行看热闹的讨论。让我对这些社群相当失望,关于大模型本身的运作机制,一些未来方向的实践,这些问题都需要:
- 一个高质量的讨论环境,这个环境应该具备一些基本要求,比如讨论人大模型的基本论文至少需要读过,当然可能是我没有接触到,如果有的话,希望能够进入圈子:
- 一个实验想法的环境,这个环境具备大模型基本的训练和调试资源,可以以相对低廉的复用成本进行各方向应用的尝试,这种实践的环境对于大模型来说实在宝贵;
这些变化对于偏好不确定性的人(比如我)来说,我觉得是一个十分有趣的变化。欢迎各位通过各种方式联系到我,期待与各位的交流与研讨。
本文作者 @MrMa 。
版权声明
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处。如若内容有涉嫌抄袭侵权/违法违规/事实不符,请点击 举报 进行投诉反馈!