演讲主题:AI大模型在企业服务场景下的实践与探索演讲嘉宾:陈麒聪循环智能联合创始人兼CEO 大家好,听说在座有很多的投资人,循环智能可能对于很多人是一个新面孔,我们实际上是最早一批在国内去做大模型的创业公司,在大部分人不知道大模型是什么的情况下我们就在做大模型,今天大模型比较火,我们当然也非常开心。 我在这个公司不是负责技术方面,今天主要是跟大家分享一下大模型的一些思考,可能是以我个人为主,以及在一些企业服务场景的实践,包括我们怎么把这个东西做工程化,做成产品,做成可商业化的东西。 这个是当年华为的余承东总在华为开发者大会上去发布华为跟循环智能一起做的盘古NLP的大模型,我们是最早一批去做大模型的企业。 现在说回GPT,GPT预训练过程只在做一件事情,就是说更准确的预测下一个字符,它最核心的东西就是做这个事情,在OpenAI认为AGI的本质是追求更强的泛化能力,泛化能力越强,智能的水平就越高,泛化的意思是说怎么从圈圈里面已有的训练数据建构的知识推理到宇宙里所有可以观察到的信息,如果它能用更小的数据去推演更多的信息,我们就认为这个AI是有智能的 其实我们在自然语言的发展过程中一直看到泛化的能力一直在提升,我们从之前的基于规则的处理方法,比如关键词或者一些正则表达式,后面引入一些机器学习的方法,到后面引入Transformer模型的出现,再到后面我们看到各种技术的路径,包括基于Transformer的模型,每个技术路径下都有非常有代表性的模型去出现。 我们怎么去做一个更有泛化能力的模型?实际上大家看ChatGPT本质上主要在做两件事情:第一,压缩。第二,对齐。压缩就是说这个模型基于大量的数据去做预训练的过程。对齐就是说怎么让这个模型的输入输出看起来好像是跟人类聊天可以有很好体验的,可以满足人类的需求。今天先讲一下压缩。 这个地方是大家可以搜到的思想实验叫做中文房间思想实验,大概意思是说有一个人对中文一窃不通,只会英文,他被关在一个房间里面,房间外面的人在问他问题,因为他不知道里面这个人是什么情况,他把中文写成的问题用纸条递进去,里面这个人不会中文,他只会英文,但是他有一个超级大的字典,每来一个中文就去查这个对应的英文是什么,查到之后再把自己的回答转成中文的纸条扔出去,在外面的人看来好像这个人很智能,中文还不错。但实际上它是一个大量问题的强行记忆,让你看起来他非常智能,但实际上并不是真的很智能,只是拿了一个非常大的字典。 如果我们能对一个任务用一个最小的长度去理解,才能代表这个AI是有智能的 ,我们能用一个很小的描述来解决一个问题,才能代表我们真的拥有了知识,而不只是把它强行记忆了下来。 之前大家公认世界上最好的文本压缩器压缩比是八点几倍,大家可以看到现在大模型把5个多T的原始文本数据,压缩成了模型代码的长度加上模型loss总和的大小,它的压缩比实际上是14倍,大家会发现这个模型的压缩比比世界上最 好的文本压缩器效果还要好。而且还有一个特点,这个模型规模的越大,压缩比反而越高,这个有点反直觉,大家可能觉得这个模型规模大了,效率是不是没有那么高?实际上正好相反,它的模型越大,它的压缩率越高。 除了压缩以外,第二个很重要的事情就是做对齐,用人类的标注来去做微调的过程,使得它的回复跟人类的预期是接近的。 刚才讲了很多大模型的好处,刚刚周总也讲到大模型有很多的一些局限,在用户使用的时候比如说会产生一些事实性的错误。这个问题可能就是大家说的胡编乱造,怎么解决这样的问题呢?当然我们也有一些方法,比如说我们可以让模型的知识范围变大,因为它见过更多的数据,自然瞎编的概率就会降低。还有就是说我们可以优化人工标注对齐的过程,使得它更不容易回答超出范围的问题,比如说刚刚像周总演示也有开放模式和精准模式,我们可以在精准模式里面尽量让它不要去瞎编这些问题。当然现在在现有技术路线下不能100%解决这些问题。 第一个问题是大家容易想到的,可能后面的问题不一定是多数人能够想到的大模型的问题,比如举个例子,假设我们要去做一个实时文本交互的场景,我们都不说用千亿参数,用百亿参数的大模型,我们用还是相对比较好的GPU,不是很破的GPU,大概每秒可以生成30个字符,基本上一个GPU只能支持3-5个并发的用户,这个产品如果要做到100万个DAU,它对应的并发要1万,可能需要2000-3000个GPU,这个成本非常高。如果是语音交互的场景,因为它要叠加TTS这些延迟,其实更难去做。这个可能是我们对未来可能性的一个预判,可能最终是一个大模型跟其他技术手段结合的一个方式,除非是摩尔定律继续去演化,否则的话大模型需要跟中小模型去结合,或者是说用中小模型来解决高频的需求,用大模型来解决长尾的需求等等。 第三个可能是大家更不容易想到的,实际大模型工作者会遇到的一个问题,因为大模型的上限是能它爬到的数据,但是大家想一下很多数据是爬不到的,比如说互联网上怎么可能能爬到你打电话的数据呢?或者刚刚闵万里博士分享的钢铁行业的数据很难爬到,当它爬不到数据的时候很难去理解这里面的知识。 还有就是它的知识跟你的业务流程是有关系的,比如右边有个例子,请根据客户对话聊天的内容来判断这个客户的意向等级,这个问题就是大模型很难去处理的,它并不知道在你这个企业里面或者在你这个行业里面,到底意向等级是什么意思,甚至在不同的行业里面不同的企业对于意向等级的定义是冲突的,比如有人认为这是A类客户,有人认为这是C类客户,这个都是实际的问题。 大家有可能说大模型不理解或者爬不到,我把它作为提示词输进去不就完了吗 ?但是这个东西其实没有那么的可行,因为我们在提示词里面去输入的内容会非常有限,比如说我们只能加入非常少量的样本,而且因为我们这个上下文变长了,所以每一次推理的延迟会更大,导致它的可用性会更差,所以更好的做法可能是如果我们就在一个行业里去做这样的应用,我们可能更好的方式是我们把这些行业的知识在保护数据的情况下把它加到大模型里面去做微调,它得到的结果会更好。 这个是一个例子,就是在我们自己的一些行业应用上,我们作为一个ToB的公司也服务非常多的金融、房产、汽车、互联网等等头部的客户和品牌,这个是 在我们的任务上做了一个对比,我们把盘古大模型蒸馏到一个10亿参数的模型去跟ChatGPT的接口做了一个对比,大家发现其实ChatGPT很难超过仅仅只有10亿蒸馏过的盘古大模型的效果。原因就是说因为盘古大模型结合了很多私域的数据去做训练,所以它有了这个领域的知识,如果你只是靠爬互联网的数据是很难拥有这个数据的知识。 这是另外一个思考,今天大家一直在假设我们的用户需要跟机器去做很多的提示词,当然一轮不行就多轮。但是我们有没有想过到底真正有多少用户能够写出一个很好的提示词?其实大家看我们现在大多数的应用可能是无脑的,比如说你刷一个抖音,可能什么都不用想,你就是手指去滑一下这个就到下一个视频了。我们生活中有很多的体验你是很难被大模型去替代的,因为用户不可能能写出这么好的一个提示,所以当你要求你的用户一定要写这么复杂的提示的时候,你基本上就把你这个产品的用户给限制住了,相当于你可能做这个事的同时就代表这个产品不会有那么多的用户,因为大多数的用户可能写不出这么复杂的提示。所以我们怎么去满足?尤其是在企业的场景里面,ToC的场景里面还好,大家愿意去做这些事情,但是在企业的场景里面我们可能追求知识型员工的效率,如果大家要花这么多的时间,还不如他自己去干。 这个不是我自己的观点,是我摘取了一个A16Z非常有名的投资机构的一篇文章 ,它认为未来的Prompt很多应该是通过企业的数据自动生成的,不应该是让用户去写的。这是一个例子,比如说在我们服务的客户里面,像我们服务很多的业务员,最近车展有很多人去买车,我们服务很多门店的销售员,他们有一个非常高频的需求,他要去把客户的信息通过一句话记录下来,比如说这个例子客户20岁,小年轻,喜欢好看的车,喜欢加速快的肌肉车,不在乎省油,对内饰没有什么要求,这是一个用户很自然输入的一个内容,他的需求是我要去填一个客户的列表,可能有很多列,比如老板要求我把客户登记到这个表里面,所以要填很多表,这个东西怎么能转成这个表呢?如果你直接去用大模型的话 ,左下角你要做非常多的工作,比如你要告诉他说假设你是一个汽车销售,以上是你录入的一段来访客户的情况,你要告诉他领导上他填的这个表是长什么样的,要什么样的字段,以及我大概怎么去填写有什么规则等等,最终他能得到右边这样一个结果。但是对于任何一个用户来说不可能写左边这个对象,他能写的就是上面这个东西。 这是我们的一个思考,最终我们需要利用的隐藏式的Prompt的力量,使得用户只需要输入显性的Prompt。 最后一个点也是我们基于对大模型的思考,这个东西对企业非结构化的数据价值更大一些,虽然它对结构化的数据也有价值。对于企业很多非结构化的数据 ,可能每个企业都有这样的数据,它的信噪比是非常差的,你在一些非常乱的东西里面去找到有用的东西的概率是非常小的,不像结构化数据那么清楚。以前我们没有大模型的能力,很难把这样一个低信噪比的数据产生很大的价值,现在我们有了这样的工具,我们通过基于大模型去做私域数据的微调和对齐,把它转成每个行业的大模型或者每个场景的大模型,再基于业务流程的HiddenPrompt,最终可以把低信噪比的数据转化成高信噪比的数据。 这个大家听起来有点像炼沙成金的感觉,但是它是合理的,这是因为大模型消耗了更多的能源,从而导致这个数据的混乱程度去降低了,带来了它信噪比的提升。我们拿着高信噪比的数据就可以接受用户显示的提示词,他只用很简单 的Prompt就可以达到这个产品的结果。 上面说了很多大模型在产品化中可能会遇到的很多的坑,循环智能在大模型技术中积累了很多的经验,包括大量领域的非结构化的数据,盘古也是千亿参数的模型,我们超大规模预训练规模化的经验,还有针对不同场景去落地的对领域数据对齐的经验。 我们专门面向企业提供私域数据的大模型的能力,我们有很多不同参数的模型 ,包括十亿参数的模型、几十亿参数的模型、几百亿参数的模型,我们会从十亿-百亿-千亿,我们根据不同企业场景的需要给他们提供有不同实时性和推理能力的模型。 这是举个例子,我们基于这些垂直大模型的能力,基于HiddenPrompt的能力 ,我们是怎么做好每一个工作流?当然我们可以做很多工作流,但是这个是一个企业软件里面比较典型的一个工作流,就是我们怎么去把客户录入的信息填成一张表,以前这个事情非常的头疼,因为业务员可能想填就填,不想填就不填,如果设计一个APP也搞不定,因为APP你只能让他选。 我昨天刚交流了一个汽车的客户,他说我们这个品牌来买车的男性特别多,你们知道为什么吗?因为在我们填的表里面男在女的前面,当业务员填的时候就选第一个,这个就是一个非常痛的问题,至今很难去解决这样的问题。 比如说这个是我们基于行业私域营销的大模型,它是可以垂直应用的大模型,它可以做很多事情,比如可以把你对话里面的数据直接转成客户的画像,这个过程是不需要用户特别多显示的Prompt,因为我们把很多Prompt集成在我们的应用里面,包括你可以通过对话去知道客户对你产品的评价,比如说他觉得你的客厅大小不合适,觉得你这个房子的价格太贵,楼层还可以,他问了你物业公司的问题。这个是另外一个例子,他可以通过录入一句话,我们可以自动转成他想要的填表的结果。 这是一个动态的演示,这些用户是不需要去理解大模型本身,但是我们可以通过微调的大模型和业务流程来帮他去实现他直接想要的结果,而不用去通过多轮对话教会它 包括这个表填完了之后,我们可以去用大模型把这些字段转换成可以统计的结果,比如说你可能在填的时候为了保证真实性,可能我们会允许它随便填,比如说不太到40岁,20岁左右,20岁出头,但是我们可以标准化成我们可以使用的数据,而且你不用做任何特别的训练,不用做任何定制的训练,可以通过行业的垂直大模型直接去解决,而不需要你针对每个数据再去做