Copilot是GPT的理想应用模式吗?

2023-11-09

自OpenAI发布ChatGPT以来,LLM持续火热,各大公司纷纷入场。但近一段时间以来,我观测到的LLM应用场景,基本都是Copilot的形式,即以对话为基础的辅助应用。尽管体验起来十分的高大上,但我能明确感受到,这种Copilot的形式并不解决当前的诉求。因此,本篇尝试探讨一下,Copilot模式的优劣,以及我到底会需要什么样的LLM应用。

本篇内容包含着内心深处对大模型的抗拒,仅以下图表达个人心情。

1、Copilot模式解读

Copilot,本意是助手的意思,它的作用是辅助主角更高效的完成任务。这个模式在各行各业广泛存在,比如飞机的副驾驶、赛车的领航员、秘书/助理等等。之所以会存在Copilot这样一个角色, 是由于处理的工作过于复杂,一些底层的信息处理/决策过程相对繁琐,如果事事亲力亲为,是对精力的极大浪费。因此,形成了一个多级的管理体系,以方便主角更高效的完成最终决策。

毫无疑问,Copilot是提效的一种最佳实践,在日常生活中得到了广泛验证。

但从另一方面来说,也需要看到,决策链的基础是信任链。前置环节的决策失误,可能会导致整个事情的崩盘,比如“挥泪斩马谡”。在实际工作中,会通过管理手段——追责——去保障信任链的稳固。但是当你的Copilot是个机器/算法时,往往无法有效追责(自动驾驶出车祸了,想让汽车公司赔偿是很难的)。因此,责任又重新汇集到了最终决策者自身。这其实就要求着,使用Copilot的人必须要能够理解和判断Copilot给到的信息。

2、为什么Copilot会是GPT的主要应用场景

在这一轮AI浪潮中,除了吹捧算法本身,实际得到落地的应用场景,基本都属于Copilot模式。比如:OpenAI本身推出的问答机器人、Bing集成进搜索引擎、Github Copilot编程助手、各种客服机器人、以及各类分析工具(安全报表、论文研读)。

这些场景大体会具备如下特性:

  • 非专业场景:对专业性的要求不高,大都是简单的问答模式。虽然近期出现了“决策链”的概念,可以通过递进式的问答,让ChatGPT回答更复杂的数学问题,但仍然需要人来进行引导,因此个人并不认为这代表了ChatGPT自身具备复杂的逻辑思考能力来应对各类专业问题。
  • 高容错率:以Github Copilot为例,其生成代码的采纳率约在30%-40%左右。换一句话说,一半以上的代码,都是存在BUG或者不符合预期的,仍然需要程序员依靠自身的知识来进行判断处理。但值得注意的是,尽管出错概率不低,但Github Copilot仍然大幅度提升了开发效率。这是因为编码本身是个高容错率场景,程序员可以在开发过程中不断的调试发现并解决问题,并不会因为生成了错误的代码,导致严重性后果。

在这些场景中,大家并不会依赖算法的结果进行最终决策,大都是作为一种信息的收集来源和参考。对比传统的搜索引擎,更多的是效率上的提升,形态其实没有发生本质变化。

从另一方面来说,大家似乎并没有把GPT用于分类、评分、排序等决策类型的场景中。

如果单纯从能力上看,GPT是能够被用于完成特定任务的(OpenAI本身也提供了用于分类的API微调接口)。通过Prompt Engineering(zero-shot/few-shot),或者进行一定的fine-tuning,同样能够取得高准召的表现。

那为什么大家不使用呢?基于一段时间的使用探索,我能够得出的推论是:在固定的决策场景上,过去的模型已经够用了。盲目的应用GPT,并不会带来额外的增强,反而其庞大的性能开销和不确定性的结果,会产生额外的负面影响

3、GPT的应用场景设想

回过头来思考,大家为什么会对GPT的出现感到兴奋呢?我认为,核心特性是两个:1)通用性极佳,可以仅仅依靠Prompt回答各种领域的问题;2)生成式表现力,可以生产符合人类认知的语言或内容。(对比过去的算法应用,往往只能用于特定场景,运算结果也是冰冷的0和1,需要经过加工处理才能更好的理解。)

近期一直在尝试思考,如何将两者相结合呢?

目前想到这样一种范式:对于某个特定任务,仍然采用更高效更稳定的规则和算法去进行处理,在后面拼接一个GPT,可以更直观的呈现规则算法的原始输出。

比如,需要对一组数据进行分类,并提取其中的关键特征进行解读,用于后续的研判工作。传统的做法会是训练分类模型,并提取出哪些特征是对分类结果更重要的,用于可解释性输出。但仅仅是到这一步,获得的只是一个分类结果和关键特征列表,可读性很差。这个时候,再将这部分结果输入到GPT,就能够得到一个更直观的解读。

近期有基于以上设想,做一些尝试,目前看效果不错。其本质思想,就是借助原有的算法能力,代替GPT完成相对固定的分类任务,仅仅将GPT用于后续的结果生成上,从而形成更高效的运算链路。

4、总结

你真的需要使用ChatGPT嘛?

也许是长期从事安全行业,对于不确定性的东西会产生抵触。对我个人而言,精妙的规则体系在各方面都胜于所谓的模型。

但不得不承认,即使是某个特定场景下,人的决策复杂度也足够高,很难用规则去完美契合。因此,在规则确定性和模型复杂性之间的平衡,是持续思考和探索的方向。(知识图谱看上去是个比较理想的解,但也会遇到知识量扩增,带来的维护复杂性等问题。)

GPT的出现,提供了一种全新的解决方案。但GPT本质上是一个低效的算法,因此并不会简单粗暴的替换掉既有的更高效的规则和算法。这对GPT的使用者来说,其实提出了更高的要求:需要将任务进行拆解,交由不同的能力来解决,才能够取得更高的运算效率。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Copilot是GPT的理想应用模式吗? 的相关文章

随机推荐

  • Linux服务器启动tomcat的三种方式

    直接进入主题 首先cd进入tomcat的bin文件夹下 然后可以尝试以下三种启动方式 第一种 当前会话启动 startup sh 效果 然后tomcat就在后台启动了 我们还可以在当前会话中继续输入其它指令 比如 ps ef grep to
  • Source Insight 自动补全 C 关键字、keil 标准库关键字

    一开始遇到该问题疯狂 baidu bing 相关的 blog 寥寥无几 而且是差不多十年前的 blog 主要原因 Source Insight 默认不包含 C 库文件 keil 标准库 导致编辑代码时找不到 C 库的相关宏 变量类型 函数等
  • [1082]IDEA配置tomcat时出现的问题及解决(HTTP状态404-未找到)

    文章目录 问题1 没有新建环境变量 问题2 tomcat设置depolyment有误 问题1 没有新建环境变量 解决 在系统环境变量中添加变量CATALINA BASE和CATALINA BASE 两个变量的值都是tomcat的安装路径 如
  • 【Java SE】基本数据类型

    大家好 我是保护小周 本期为大家带来的是 Java的基本数据类型 内容会与C语言的基本数据类型进行基本的比较 数据类型提示 整型提升 以及简单了解 String 类型 进一步感受Java 的安全性 C语言混不下去了 面向对象的编程太爽了 目
  • Hyperledger Fabric 安装环境配置答疑(1)

    目录 1 Hyperledger Fabric只支持Ubuntu系统吗 2 cURL是什么 有什么作用 3 为什么要安装Docker及docker compose 4 能否不使用Golang而换作其他语言环境 5 一定要安装Node与npm
  • 多态的概念

    一 多态的概念 多态 Polymorphism 按字面的意思就是 多种状态 是面向对象的序设计语言最核心的特征 具体点就是去完成某个行为 当不同的对象去完成时会产生出不同的状态 多态建立在继承和封装的基础上 二 多态的分类 编译时多态 设计
  • 静态成员变量的初始化,以及可能引发的multiple define问题

    静态成员变量的初始化 以及可能引发的multiple define问题 先说个人问题的解决方式 不要再头文件中定义静态成员变量 示例 test h ifndef TEST H define TEST H class hh static in
  • 网络协议的三个要素是什么?各有什么含义?

    网络协议的三个要素是什么 各有什么含义 网络协议 为进行网络中的数据交换而建立的规则 标准或约定 由以下三个要素组成 1 语法 即数据与控制信息的结构或格式 2 语义 即需要发出何种控制信息 完成何种动作以及做出何种响应 3 规则 即事件实
  • 删除tomcat日志

    1 df 查看磁盘空间 2 对应用户进去删掉对应日志 3 重启tomcat 重新生成文件 或者 4 lsof grep deleted发现有大量刚刚删除文件的进程存在 kill掉进程 5 使用df 查看磁盘空间 发现已经回收 最好重启下to
  • 二叉搜索树的中序遍历为 递增序列_Go 刷 Leetcode 系列:恢复二叉搜索树

    二叉搜索树中的两个节点被错误地交换 请在不改变其结构的情况下 恢复这棵树 示例 1 输入 1 3 null null 2 1 3 2输出 3 1 null null 2 3 1 2 示例 2 输入 3 1 4 null null 2 3 1
  • 一维连续型随机变量的函数分布

    目录 a b N 2 a b N 0 1 2 N 2 e sin a b N 2 a b N 0 1 2 N 2 e sin
  • LoadRunner脚本测试——登录实践

    实习公司最近在做一款会计项目的财政管理系统 跟着测试组在做登录响应测试时 学到了不少实践经验 本文作以简单阐述和分享 通过代理服务器录制脚本 测试系统的门户必须用Chrome打开 然而测试环境lr11似乎只对IE浏览器兼容 事实上 lr与浏
  • Java入门(2) —— 变量详解、运算符、定义类和定义方法以及方法的调用

    1 变量 1 定义变量 1 声明的同时直接赋值 数据类型 变量名 值 2 先声明 后赋值 声明 数据类型 变量名 赋值 变量名 值 2 数据类型 基本数据类型 4类8种 整数 gt 直接写整数 默认就是 int byte 1个字节 shor
  • 喷水装置(一)贪心算法

    听说这是 贪心算法 的一个简单应用 虽说是简单 但是对我来说 确实不简单 说下面说有用的 题目描述 现有一块草坪 长为20米 宽为2米 要在横中心线上放置半径为Ri的喷水装置 每个喷水装置的效果都会让以它为中心的半径为实数Ri 0
  • Fire-YOLO:一种用于火灾检测的小目标检测方法

    点击上方 小白学视觉 选择加 星标 或 置顶 重磅干货 第一时间送达 作者丨CY 来源丨当交通遇上机器学习 编辑丨极市平台 极市导读 本次介绍的文章是太原理工大学团队在2022年发表在 Sustainability 的关于火灾检测的小目标实
  • qiankun 常见问题集合(一)

    qiankun 常见问题集合 一 1 loader js 220 Uncaught in promise Error qiankun You need to export lifecycle functions in app4 entry
  • 在使用localstorage的时候发生了报错的解决办法

    在使用localstorage的时候 发生了报错 提示是传入的格式不正确 但是传入的是json格式 为什么不正确呢 1 在localStorage setItem 过程中 传进的参数需使用JSON tringfy 方法转成json格式的字符
  • 用链式线性表实现两个一元多项式相加

    include
  • springboot+vue跨域(草稿箱中翻出来的)

    第一种 新建 GlobalCorsConfig 类 import org springframework context annotation Bean import org springframework context annotati
  • Copilot是GPT的理想应用模式吗?

    自OpenAI发布ChatGPT以来 LLM持续火热 各大公司纷纷入场 但近一段时间以来 我观测到的LLM应用场景 基本都是Copilot的形式 即以对话为基础的辅助应用 尽管体验起来十分的高大上 但我能明确感受到 这种Copilot的形式