心法利器[97] | 判断问题是否真的需要大模型来解决

心法利器

本栏目主要和大家一起讨论近期自己学习的心得和体会,与大家一起成长。具体介绍:仓颉专项:飞机大炮我都会,利器心法我还有。

2022年新一版的文章合集已经发布,累计已经60w字了,获取方式看这里:CS的陋室60w字原创算法经验分享-2022版。(2023在路上了!)

往期回顾

  • 心法利器[87] | 填志愿:AI算法方向过来人的建议

  • 心法利器[88] | 有关大模型幻觉问题的思考

  • 心法利器[89] | 实用文本生成中的解码方法

  • 心法利器[90-95] | 谈校招:合集

  • 心法利器[96] | 写了个向量检索的baseline

鉴于最近看到以及收集到的问题多半是“大模型能否做XXX问题”、“XXX问题为什么大模型做的会这么差”之类的,为了让大家对大模型的边界有更加清楚的认识,本文对自己的理解进行梳理,也为大家对大模型树立一个预期,避免非理性的方案选型。

没有万能药

开始聊之前,还是想跟大家强调,没有什么方法是万能的,我们需要因地制宜地,针对性的为问题提供合适的解决方案。

一方面,大模型给我们带来了很多惊喜,也在很多问题上得到了“看起来不错”的效果,另一方面,因为他拥有接近“地球百科”级别的知识,所以在解决很多问题时体现出很强的“无监督”性,从而给大家带来了很高的预期,但凡出现问题都想尝试用大模型来试试看,然而实际上仍旧因为很多原因,大模型在这些问题的表现却又并不如我们预想的那么优秀。

我们应该把大模型当做一个有些强的工具,而并非万能的神器,在方案筛选的时候可以放入当做备选项,而不能够当做唯一解。

请严肃反思,你现在掌握的,应该不会只有这一个方法吧,不会吧不会吧。

大模型的优劣势

大家对大模型的目前的优势看的还是比较多的,我总结下来,主要是这几点:

  • 海量开放域知识支撑,不需要再进行针对性学习。

  • 部分具体简单问题的无监督性,简单的分类、提取等,只要足够明确,模型能做到比较高的下限。

  • 通用良好的生成能力,语言回复基本能通顺。

  • 指令执行能力,即在输入中提供指令,常用指令在模型层面能够识别和体现。

  • 技术影响力。

除此之外,还会有些缺点,想必只要多次尝试,并进行过详细分析的大家应该能感受到:

  • 不可识别判断以及修正的幻觉问题。

  • 专业性知识的缺失导致特定领域内的回复不稳定。

  • 多轮对话策略的定制困难。

  • 性能、耗时、成本问题。

大模型选型的判断

因此,要判断用不用大模型,可以从下面几个角度来考虑:

首先,是否具备使用大模型的条件,这是一票否决的,如果不具备,根本不要谈使用大模型了。

  • 需求对任务的时延要求很低,例如十来毫秒。

  • 私有化部署的缺设备,缺显卡,想买服务但是预算给不到。

其次,任务的复杂性,一般而言,越复杂的任务,越充裕的资源,应该是各自用更加专业的方案来做各自的上限才会比较高,大模型能提供的,是一个基础的、快速的、zero shot或者few shot的baseline方案,他的通用性和海量知识的支撑让他对简单的东西能快速反应并且做对,但是复杂的,到达边缘瓶颈的问题,他解决的肯定是不好的,再者微调和微调后的部署,都存在很大的风险和成本困难。

第三,基础工作的支撑。当我们都把目光聚焦在大模型本身,甚至是训练的时候,我们通常忽略了围绕大模型所需要的大量基础工作,这些工作是支撑大模型运行的关键,例如外挂知识库所需要的检索模块,大模型性能提升的加速引擎、多级多卡能力,模型的推理部署,有利于任务执行的prompt等等(这里需要强调,基础工作也非常关键,围绕大模型有很多基础工作需要做,甚至是某些定制的内容,这个我应该会专门写文章来讲)。

案例思考

给个例子大家看看,为了更加清晰地让大家明白,选型时需要考虑的问题以及角度,不见得是不能用,也不见得是万能,这些思路我自己感觉才是相比于技术本身来的更加重要。

搜索意图识别

搜索意图识别应该是我最擅长的任务了,最近听不少人来问我有没有必要尝试下大模型来做。考虑还是因地制宜吧,意图识别表面上就是个因地制宜问题,但领域和意图的划分规则非常多样,而且划分很多时候不是主观的,有很多客观因素存在,我列举一下我可能会考虑到的地方:

  • 是否有用模型的必要,有些规则或者词典就能轻松做到的,别说大模型,模型都没必要,而且甚至还没规则词典做的好。

  • 泛化能力的需求是用模型的门槛,有泛化需求才有用模型的必要。

  • 边界是否能比较简单地陈述。毕竟大模型的分类依赖指令和few-shot样本,如果不好描述,其实很难做好这种分类,例如“百科”、“客服”、“投诉”这些,语言其实很难描述他们的边界,此时大模型做起来其实也会比较吃力。

  • 是否有足够的训练数据。训练数据越充裕,小模型的优势越会体现。

  • 数据不足的时候,few-shot(自己编几个),in-context learning可能也可以取得不错的效果,就看别的因素了,随着数据量增加,结合向量召回找到合适的样本再用in-context learning,也会有不错的效果。

  • 性能,性能,还是性能。尤其是意图识别本身只是搜索中的小部分,耗时还是要给召回、排序让更多的。

若非找资源充足且性能要求不高,或者有技术影响力之类的压力,一般不会直接用大模型直接做意图识别,更多可能的思路:

  • 大模型做baseline快速预测,构造标签样本。

  • 直接生成泛化样本供小模型训练使用。

所以在这种小的、比较经典的NLP任务下,大模型的发挥空间其实不那么大,杀鸡焉用牛刀。而且在实用过程中,我也有些体验:

  • 简单任务,大模型确实能得到更高的下限,但是后续要调优,肯定是分离出来用小模型专项优化,提升会更多。

  • 复杂任务,大模型需要复杂指令,同时也要fewshot起步,否则模型压根不知道怎么分,这也合理,毕竟边界模糊真的不好讲述,用样本来描述边界会更加明显,这个时候大模型就体现不出优势了。

9f9a137f7e3a6233a587604b4fe7af46.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/108345.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DevOps中的持续测试优势和工具

持续测试 DevOps中的持续测试是一种软件测试类型,它涉及在软件开发生命周期的每个阶段测试软件。持续测试的目标是通过早期测试和经常测试来评估持续交付过程的每一步的软件质量。 DevOps中的持续测试流程涉及开发人员、DevOps、QA和操作系统等利益相关者。 持续…

dockerfile镜像及Harbor私有仓库搭建的应用

目录 搭建私有仓库harbordockerfile构建镜像1,先创建一个目录2,编写dockerfile3,构建4, 验证镜像5,标记镜像6,上传镜像 搭建私有仓库harbor 首先安装容器编排工具:docker compose 我使用的是离…

函数式编程-Stream流学习第二节-中间操作

1 Stream流概述 java8使用的是函数式编程模式,如同它的名字一样,它可以用来对集合或者数组进行链状流式操作,让我们更方便的对集合或者数组进行操作。 2 案例准备工作 我们首先创建2个类一个作家类,一个图书类 package com.stream.model;…

邂逅JavaScript

前言:前端三大核心 前端开发最主要需要掌握的是三个知识点:HTML、CSS、JavaScript 一、认识编程语言 1.计算机语言 前面我们已经学习了HTML和CSS很多相关的知识: 在之前我们提到过, HTML是一种标记语言, CSS也是一种样式语言; 他们本身都是属于计算…

CNN 02(CNN原理)

一、卷积神经网络(CNN)原理 1.1 卷积神经网络的组成 定义 卷积神经网络由一个或多个卷积层、池化层以及全连接层等组成。与其他深度学习结构相比,卷积神经网络在图像等方面能够给出更好的结果。这一模型也可以使用反向传播算法进行训练。相比较其他浅层或深度神经…

LLM-chatgpt训练过程

流程简介 主要包含模型预训练和指令微调两个阶段 模型预训练&#xff1a;搜集海量的文本数据&#xff0c;无监督的训练自回归decoder&#xff1b; O T P ( O t < T ) O_TP(O_{t<T}) OT​P(Ot<T​)&#xff0c;损失函数CE loss指令微调&#xff1a;在输入文本中加入…

在ubuntu上部署label-studio

1. 安装label-studio 由于服务器的默认python3版本太低&#xff0c;尝试了很多方法&#xff0c;没有升级。因此采用annaconda方式安装label-studio. a.安装anaconda: 参照如下链接&#xff0c;安装anaconda。 Ubuntu安装Anaconda详细步骤&#xff08;Ubuntu22.04.1&#xff…

Hyperf 如何做到用两个端口 9501/9502 都能连接 Websocket 服务以及多 Worker 协作实现聊天室功能

为何 Hyperf 能够在两个端口上监听 WebSocket 连接&#xff1f; 源码角度来看&#xff0c;在配置了多个 Servers 时&#xff0c;实际上&#xff0c;只启动了一个 Server 注&#xff1a;我之前接触的代码都是启动一个服务绑定一个端口&#xff0c;之前也看过 swoole 扩展的文档…

【el-tree】树形组件图标的自定义

饿了么树形组件的图标自定义 默认样式: 可以看到el-tree组件左侧自带展开与收起图标,咱们可以把它隐藏:: .groupList {::v-deep .el-tree-node { .el-icon-caret-right {display: none;} } } 我的全部代码 <div class"groupList"><el…

[NLP]深入理解 Megatron-LM

一. 导读 NVIDIA Megatron-LM 是一个基于 PyTorch 的分布式训练框架&#xff0c;用来训练基于Transformer的大型语言模型。Megatron-LM 综合应用了数据并行&#xff08;Data Parallelism&#xff09;&#xff0c;张量并行&#xff08;Tensor Parallelism&#xff09;和流水线并…

DML语句的用法(MySQL)

文章目录 前言一、DML介绍二、DML语句操作1、给指定字段添加数据2、给全部字段添加数据3、批量添加数据4、修改数据5、删除数据 总结 前言 本文主要介绍SQL语句中DML语句的用法。 在实验开始之前我们先创建一下所要使用表&#xff0c;如下图所示&#xff1a; 一、DML介绍 DM…

matlab使用教程(22)—非线性优化函数的设置

1.设置优化选项 可以使用由 optimset 函数创建的 options 结构体来指定优化参数。然后&#xff0c;可以将 options 作为输入传递给优化函数&#xff0c;例如&#xff0c;通过使用以下语法调用 fminbnd x fminbnd(fun,x1,x2,options) 或使用以下语法调用 fminsearch x f…

单片机IO模拟串口协议

一、前言 嵌入式硬件平台调试中常用的debug方法是看串口打印定位问题&#xff0c;但有时候会遇到单片机没有串口外设或者串口引脚被占用的情况&#xff0c;这时候也可以在代码里操作空闲的IO输出不同个数的脉冲来达到调试的效果&#xff0c;但是要用逻辑分析仪抓线逐个看波形比…

js深拷贝三种方法

使用递归函数实现深拷贝 const obj {name: zzz,age: 18,hobby: [篮球, 足球],family: {baby: baby}} // 深拷贝 数组 对象 一定要先筛数组再筛对象,因为万物皆对象function deepcopy(newObj, oldObj) {for (const k in oldObj) {// 判断值是否属于array类if (oldObj[k] i…

01-jupyter notebook的使用方法

一、Tab补全 在shell中输入表达式&#xff0c;按下Tab&#xff0c;会搜索已输入变量&#xff08;对象、函数等等&#xff09;的命名空间&#xff1a; 除了补全命名、对象和模块属性&#xff0c;Tab还可以补全其它的。当输入看似文件路径时 &#xff08;即使是Python字符串&…

云计算服务体系-架构真题(十四)

云计算服务体系结构SaaS、PaaS、IaaS相对应分别&#xff08;&#xff09;。 答案。应用层、平台层、基础设施层 (2022)给定关系模式R(U,F)&#xff0c;其中U为属性集&#xff0c;F是U的一组函数依赖&#xff0c;那么函数依赖的公理系统(Armstrong)中分解规则是指&#xff08;&…

JavaSE学习——异常

目录 一、异常概述 二、异常的体系结果 二、异常的处理&#xff1a;抓抛模型 三、try-catch-finally的使用 四、throws 异常类型 的使用 五、开发中如何选择使用try-catch-finally还是使用throws&#xff1f; 六、自定义异常 自定义异常步骤&#xff1a; 七、总结&a…

VR/AR/眼镜投屏充电方案(LDR6020)

VR眼镜即VR头显&#xff0c;也称虚拟现实头戴式显示设备&#xff0c;随着元宇宙概念的传播&#xff0c;VR眼镜的热度一直只增不减&#xff0c;但是头戴设备的续航一直被人诟病&#xff0c;如果增大电池就会让头显变得笨重影响体验&#xff0c;所以目前最佳的解决方案还是使用VR…

实时同步ES技术选型:Mysql+Canal+Adapter+ES+Kibana

基于之前的文章&#xff0c;精简操作而来 让ELK在同一个docker网络下通过名字直接访问Ubuntu服务器ELK部署与实践使用 Docker 部署 canal 服务实现MySQL和ES实时同步Docker部署ES服务&#xff0c;canal全量同步的时候内存爆炸&#xff0c;ES/Canal Adapter自动关闭&#xff0c…

设计模式--工厂模式(Factory Pattern)

一、 什么是工厂模式 工厂模式&#xff08;Factory Pattern&#xff09;是一种创建型设计模式&#xff0c;它提供了一种创建对象的接口&#xff0c;但是将对象的实例化过程推迟到子类中。工厂模式允许通过调用一个共同的接口方法来创建不同类型的对象&#xff0c;而无需暴露对…