先预祝亲爱的读者们“端午安康“
大模型百花齐放,选择难上加难
面对眼前层出不穷的大模型产品,许多人会不禁感到困惑:哪个才是真正适合自己的爆款大模型?在中国本土 alone,就有百来个大模型产品,简直是五花八门,令人眼花缭乱。每个都标榜自己的优势,声称自己是业界翘楚。但我们如何能看穿这些华丽的外包装,找出真正能满足我们需求的那款大模型呢?
首先,我们要明白看待大模型不能只盲听其自夸,只看它们如TV Show、广告、宣传,预告片一样的宣传片。这只是最表面的一层,我们要深入其中,理性地分析每个模型的科学性、可信性和可用性。
要想选出性能优越、价格合理的大模型产品,我们需要考虑的因素有很多。
- 性能,性能肯定是第一位的,没有出色的性能,模型即使包装再漂亮,也只是耍花枪,玩具。
- 长文本处理能力,也是一个关键的标准,只有这样才能满足在各种场景下处理、分析大量数据的需求。
- 理解能力推理能力
- 国际化支持是否友好
- 参数可干涉性
- Token收费情况
- 多模态的识别与输出
- 鲁棒性
这些都是对一个大模型是否可用的核心关键指标,对模型的选择有直接影响。
但是,对于一般大众来说,以上这些技术指标很难完全理解。
没关系,其实选型大模型就像选购商品一样,我们需要看的是它的“性价比”。
- 性能就好比商品的质量;
- 长文本处理能力就像是容量大小;
- 理解能力和推理能力好比是商品的使用便捷程度;
- 友好的国际化支持就像售后服务;
- 参数干涉性则类似产品的可自定义程度;
- Token收费情况就是价格;
- 多模态的识别与输出就是商品的附加功能;
- 鲁棒性好比产品的安全性;
为了选出适合自己的大模型,我们需要综合考虑这些因素。实际上,这些都是大模型性能的“八大金刚”,缺一不可。每一个都可能影响到大模型的最后落地效果。
在这众多的大模型产品之中,我相信,只要你扔掉“看广告选商品”的思维,学会独立思考,多角度,多方位的去理解和考虑,那么你一定能选出最适合你的那款大模型。
下面就带大家具体来了解这“八大金刚”。
性能:单次来回速度
当应用开发落地时,一个“业务闭环”完成了,一个RAG通过大约300个字的猫娘(系统角色设定)脚本框定住了AI的“角色”和相关的在垂直领域的反映+一次RAG选出来10条数据+用户的提示,大约这么一组数据在1000个英语字母(包括汉字)一次发给LLM,等了5秒以后它才返回。
这个体验可是受不了的,因为>5秒后的HTTP响应让你会有在手机端或者是PC侧有一个明显的“等待”的体验。这可咋办?前面硬件已经7位数耗掉了,现在这个体验跟不上。
这才10条数据啊,这猫娘脚本可不能无限再精减下去,没有了猫娘脚本的设定这个系统是要出问题的,网上的例子都是小于200字的猫娘那些全部没有一个可以实际生产落地的最多用来玩一下的如:hello world。这这这。。。这没法用啊。
生产级的RAG在我之前的博客中都已经写过了,往往是:
- 发送出去:猫娘+提示+历史会话=1,400Token;
- 回答:800-1,200 Token;
各位,看到这,我可以给出大家对于性能这块指标的一个识别公式了,你们不要去看TV秀、视频秀。很多模型在“秀”时,要么是调用了所有算力集中在这15分钟演示时以起到良好的体验效果,要么。。。就不多说了。不能看这些表面功夫而要看一个LLM:
如果是在MAAS情况
每秒输出多少Token?
这个就决定了你的性能。我们按照一个汉字占2.5个Token来算,各位就可以得出大约生产级别的单次来回需要多少秒(这边我可以纠正各位一个误区,当发送和响应的内容增加时即使是Stream模式,也不可能做到第一秒就开始输出第1个或者第2个字这样的水平,而也是需要10-17秒后才开始响应的过来才开始输出第一个汉字,因此不要把stream模式作为借口,这是我落地了4个大模型项目得到的血的教训)。一定要看每秒输出多少Token来作为衡量指标,直接去官网找这些指标吧。
历来博客中我也提到过,这方面GPT3.5属实最猛,生产级别应用单次会话在2,000 Token的3秒多一点点就返回了,可见其强大的能力(和算力还是有关)。
如果是在本地布署情况
在你可接受的预算范围内的硬件情况下,每秒输出是多少Token来选择。你不能拿着拥有一座水电站能力的一秒输出Token数来对比我硬件预算只有50万RMB情况下的一秒输出Token数来比吧。。。另外。。。(干咳)一个项目,一个商业项目硬件预算50万? Are you kidding me?20万已经算很好了在大部分企业落地商用大模型的情况下。不是越贵越好的,技术是赋能不是割草哈。
长文本输入能力:每次Token长度
这里面有一个坑,即一味得我们看到长文本文达到了128K、256K、512K。这块能力其实和性能是相关的。你真的扔个120K东西出去然后留8K作返回,我们来看看这个模型是怎么响应的吧:
- 4分之3情况下,http timeout;
- 4分之1情况下,50多秒才返回;
这样的模型,即使长文本到达了1GB,你能用吗?
这个东西其实是缓存一样的道理,你总不能把一整个DB存入Redis吧,你总要“切片、sharding、聚合、无损/有损压缩“吧。要不然这个实施项目太简单了,直接把一整个DB扔进Redis,那系统性能是好呀但是现实可能吗?
要结合着性能来看,目前就拿GPT Turbo 128k来说,其实它的单次响应速度很慢的。因此这时我们需要在系统和项目实施时按照“实时、跑批异步“加以区分然后有针对性的去打”组合拳“,万事不能一刀切,不能一个模式死磕到底。
理解能力
什么是理解能力?
理解能力是指它是不是真正的“听懂了”你说的话,这叫理解能力!
同样我们使用生产级别的内容来评判这个理解能力。之前的博客我提到过这么一个案例,要测就用一个实际生产级别的案例去测,不要再用什么”一颗树上7只鸟。。。“这种简单的问题去测了。下面再次给出这个案例:
猫娘
对于住房管理维修业务分为分套内和套外两种。
套内(包括住房内所有电器、空调、住房内装修、住房内器具、用品、家具、住房内厨房、卫生间、洗浴等用品、住房内家内空间里的一切物品)指客户的住房内全部问题属于“A物业”公司负责。
套外(包括小区、苑、园区、楼道)即客户住房外部的一切问题如:楼道、电梯、公共走廊、门厅、小区内的绿化带、停车场、健身区、儿童游乐场等共享设施,以及建筑物的外墙装饰、屋顶防水处理这些问题这些都属于“B物业”公司负责。
问题
然后用下面这个问题去问:
家里马桶坏了,找谁?
看它回答对不对。
推理能力
推理能力决定了大模型在复杂问题上的表现。怎么测呢,需要用至少3个维度的推理去测和验证,比如说这么一个问题:
你是XXXX商户的美食在线接单后派送服务机器人。
你现在收到了用户的一个派单请求,请你判断:
1. 用户当前的位置在你的服务位置/范围内,如果是,canService返回1否则返回0;
2. 用户当前发送的内容不是定位请求,如果是定位请求validRequest返回1否则返回0;
3. 用户当前的派单是否在你的营业时间<%serviceTime%>范围内,是那么返回todayDelivery为1否则返回0;
实际生产中还有不少其它因素,甚至还有上下文、角色定义混在一起的这么一个判断,差不多去+回在1,400 Token,3层判断,然后我们测10次看10次返回的结果是否都达到了100%准确来做判断;
国际化支持
对国际化支持是否够好,决定了大模型的适用范围。一般一个良好的大模型应该具备这样的能力:
语料(即知识库、向量库或者说叫embedding库)只有一种语言时,前端通过切换LOCALE为: zh_CN亦或者是en_US亦或者是de_DE,大模型都可以100%并且是“接本LOCALE地气“的方式返回成前端的LOCALE的语言,而不需要像传统的软件制作国际化那样为不同的国家定制不同的LOCALE语料(至少不用100%为不同的国家制作不同的LOCALE,对于专业名词或者是地域风俗这样一些部分才会定制不同的Native Laugnage语言包)。
参数可干涉性
是否参数足够且必要让人去干涉它在实际应用中出现的一些幻觉问题。
此处强调两个点:足够+必要。
参数太多也不行的,各位想一下为什么Stable Diffusion、Midjourney、甚至是CHATGPT官网那几个参数是可以动态设置的?而且是放给用户自己去做设置?当然API调用的话这个参数更多。
但再多,会有几十页PDF这样的“接口文档”来说明吗?最多10页PDF接口参数说明就足够了。
这是因为:够用+必要。
这里面体现了一个灵活性、可控同时又掩藏了过多的底层细节便于用户调用和普及使用这么一个用意。其实这是模型是否负责任的一个体现。
Token收费:普惠性
Token收费是否便宜可以到达普惠,影响了大模型的普及程度。这个点已经不需要多说了吧?在我之前的博客《从GPT-3.5到GPT-4O:探索AI的进化之旅,哪一版更懂你?》和《基于AI的RAG需要真正面对商业化场景和落地的几大致命陷井》中有完整的对比和为什么的说明。
总知就是一个点:要足够便宜!
便宜到每千Token以“零点几分(RMB)”来记费。
- 对于对话类来说:0.1分每一千Token我觉得已经算贵了;
- 对于高质量需要异步处理如:洗数、打标签,不要超过2毛钱一条最好了;
- 对于生成图片多媒体一类,5毛钱或不要超过1块钱最好;
这边捎带着说一句:很多视频Show里给各位展示出AIGC生成漂亮的图片、生动的视频,看着那叫一个激动人心啊!实际呢?
- 一幅图:1024*1024的,收费:16元;
- 一幅图:2048*2048的,收费:24元;
- 抠一个背景:8元;
- 去除一个水印:4元;
- 如果你的提示词来一个masterpiece, ultra high resource。。。收费:不敢想像
实际是上面这么一个单价,各位开发和使用了6个月以上LLM的就知道这意味着什么概念了。。。一篇作文有时来来回回需要4-5次才能生成出质量比较好的作文。。。这样的图片或者是视频也得至少有个3-4次来回才能生成出一幅令人比较满意的作品吧?于是一次16块、一次8块。。。一个项目做完,光这些就能“蒸发”掉你上百万成本。。。
多模态识别
这儿真心我要感慨一句:唉。。。GPT4O。。。哇。。。GPT4O。。。
一个好的合格的大模型,至少要在输入时可以识别:
- 文本内容
- 图片内容
- 音频
- 视频
目前不少大模型其实只识别到文本+图片,甚至图片还是依靠OCR提取技术来做辅助,这不是多模态,这还是单模态。
多模态输出
目前不少模型具备了多模态的输入但不具备多模态的输出即GC,这是真正的GC能力了。基本都是依靠先有工具,然后用大模型通过动态生成代码来生成的而不是通过“大模型自己输出多媒体字节流”来生成的。
因为只有多模态的输出才是真正决定这个模型是否具备了“手”、“脚”的能力,要不然它充其量只是一个“问答机器人”。如果是这样,那以前的神经网络或者是Robot一类的不就可以做到了,要什么大模型呢?
鲁棒性
挑选大模型产品,除了考虑其功能性、使用方便性等因素,还有一个很关键的能力,那就是大模型的“鲁棒性”。
那么,什么是鲁棒性呢?
在信息科学领域,鲁棒性是指一个系统、模型能够在输入有误或有噪声干扰的情况下,也能正常工作并产生预期的结果的能力。说了直白一些,就是大模型面对复杂变化环境,依然能稳定运行并提供准确输出反馈的能力。
那么,为什么鲁棒性这么重要,重要在哪些方面呢?
首先,拥有良好鲁棒性的大模型在面临外界环境的变化,比如输入数据的变化或噪声干扰等,能够保障模型的稳定性和适用性,减少因环境变化导致的模型误判率,提高模型对实际问题的解决能力。
其次,良好的鲁棒性还可以保障大模型的适应性和泛化能力。在现实世界中,我们面对的问题和数据都是多变和复杂的,一个鲁棒性强的大模型,能够更好地适应这种变化,对各种类型的问题都能有出色的处理和解决能力。
再者,鲁棒性也体现了大模型的健壮性和可靠性。一个鲁棒性强的大模型,不容易在外部影响下发生崩溃或输出错误,从而保障我们在使用过程中得到更稳定、更可靠的服务。
鲁棒性无疑是大模型选型时的一个关键能力。一个鲁棒性强的大模型,无论是在稳定性,适应性,还是健壮性等方面,都显示出其超群的表现。因此,在选择大模型产品时,我们一定要把这个因素纳入考量。记住,一个好的大模型,一定是一个鲁棒性强的大模型。
结尾
至此,所有的大模型选型时的核心关键点已经全部出炉呈给各位了!
你是否已经对各个方面有了全面的了解呢?比如产品的性能,它的推理能力,国际化是否被良好支持,参数是否可以适度调整,多模态的识别和输出能力如何,鲁棒性如何等。这些问题,就像购物时对商品的各个角度进行了解一样,是不可或缺的过程。
如果我们说大模型产品是一部巨型机器,那么我们就需要去详细了解每一个小零件,他们是如何互相配合,达到最优效果的。这一过程,就好比是一场精彩纷呈的科学探险,我请大家拿好手中的放大镜,结合实际生产例子,用理论+动手实践相结合才能更深入到这个神奇世界里去。
好了,结束今天的博客,在下一期里我们再继续探讨这个世界的无穷奥秘吧。