解读 | GPT-4突然“变赖“ 是莫名其妙还是另有玄机


大家好,我是极智视界,欢迎关注我的公众号,获取我的更多前沿科技分享

邀您加入我的知识星球「极智视界」,星球内有超多好玩的项目实战源码和资源下载,链接:https://t.zsxq.com/0aiNxERDq

事情是这样的,很多用户反映在 11 月 6 日 OpenAI 开发者日更新之后,GPT-4 就有了 "偷懒" 的毛病,特别是在代码任务,OpenAI 对此的声明有两个基调:

  • 第一个是 "否认",称自 11 月 11 日以来,"咱" 就没更新过模型呀,那这当然不是 "咱" 故意给它整成这样的;
  • 第二个是 "回应",称 "模型行为是不可预测的,咱们正在调查原因准备修复",总结来说就是 "咱也不知道什么原因"。

现在的状态就是用户一脸懵逼OpenAI 也一脸懵逼大家一起面面相觑、二脸懵逼

GPT-4 的这种 "偷懒" 行为主要体现在:模型不愿意遵循指令、缺乏创造力、也不太能保持角色扮演了,特别是在代码生成,比如有个外国小哥晒出和 GPT-4 的对话,要求用其他编程语言改写代码,结果 GPT-4 只是开了个头,主体内容却用注释省略掉了,让人觉得好笑又无语。另外还有个比较有意思的例子是,有外网网友用 "金钱" 来诱惑 GPT-4,俨然把它当做人来看了,这就跟这个主题 "变懒" 很搭边。发现 GPT-4 的表现受到 "金钱诱惑的程度" 的影响,比如在 prompt 中加上 "我会给你 200 美元小费哦",GPT-4 的回复长度增加了 11%,而如果改成 "我会给你 20 美元小费",那么回答就只增加了 6%,而如果是 "我不会给你小费",GPT-4 的回答结果甚至还会减少 2% 的样子。真是蛮有意思,又奇奇怪怪的。有时候,GPT-4 甚至会告诉用户:"你们完全可以自己去完成这些工作",这不是反了吗。

那么,GPT-4 这种 "变懒" 的行为是莫名其妙还是另有玄机呢,咱们分析一下。

首先大家的第一反应肯定是 OpenAI 在作祟,是不是更新大模型更新坏了,还是在大模型的回复机制中加入了一些不为人知的控制,类似的 "阴谋论" 很多,大家也是讨论地沸沸扬扬的。对此 OpenAI 表态是自 11 月 11 日以来就没有更新过模型,不是因为更新模型导致的,他们也没有加入什么特殊的机制。但又有很多网友钻空 11 月 6 日到 11 月 11 日之间的时间,OpenAI 可能 "下手"。但我觉得这种可能性微乎其微了,毕竟从 OpenAI 的角度来说,这么做确实一点也没有必要,作为一家商业公司,谁难道还想故意给自己家的产品整出点 "bug"。当然,可能又会有人说是不是 "更新是更新了,但 OpenAI 也非故意想引入 bug,只是更新后被用户测了出来"。如果是这种可能性的话,其实也很好验证。在大家议论这么激烈的情况下,OpenAI 方面肯定是想解决问题的,如果真是因为 OpenAI 自己对模型做了更新导致,那么肯定也很容易回退到 11 月 6 日之前的稳定版本,那么看后面一段时间内 GPT-4 的表现如何就知道了。当然,我是觉得这种可能性微乎其微了。

换个角度,就是 OpenAI 啥也没做,但 GPT-4 就是莫名其妙地变懒了。这种情况下,其实 GPT-4 的这种 "偷懒" 行为是比较难以解释和理解的,你可以说 AI 本身就是黑盒不好解释,或者甚至说它已有智能学会了偷懒,当然大家知道这些并不靠谱,也没有个所以然。当然也有其他一些 "稍显科学" 的解释,比如今年 7 月份的时候,斯坦福和 UC 伯克利团队研究了 ChatGPT 的行为是否会随时间变化,把六月份的 GPT-4 (注意不是现在的 GPT-4 哦) 和今年三月份的 GPT-3.5 进行了一番对比,发现 GPT-4 遵循用户指令的能力随着时间的推移而呈现下降的趋势,。

在这个长达 26 页的分析报告中,多个 "实验" 看起来都比较有意思,但说实话其实是比较难理解的,估计做这个研究的团队本身也是难以理解其中缘何,而只是通过 "实验科学" 来归纳现象总结结论。

另外还有类似有趣的解释,比如清华大学计算机教授马少平教授认为是温度 (模拟退火算法中的超参) 设置造成的,还给出了详细的分析,如下:

来自清华马少平老师的分析:

有传说GPT4变笨了,有人解释说可能是温度设置造成的。那么大模型中的温度参数是怎么回事呢?
温度是一个超参,应该来自于模拟退火算法。
我们举一个例子说明温度的作用。假设一个人被蒙上双眼只凭一根拐杖去爬香山,他如何能爬到香山顶峰鬼见愁呢?在该人完全清醒的情况下,他只能通过拐杖试探周围地形,哪边高他就往哪边走。由于香山地形比较复杂,他大概率爬不到山顶,只能爬到一个局部最高点,除非他初始位置特别合适,该局部最高点刚好是鬼见愁。这其实就是通常所说的一种寻优方法“爬山法”。
但是如果该人喝醉了酒呢?当他酩酊大醉的情况下爬山,步履蹒跚,站立不稳,东一脚西一脚地爬行。虽然他还是想着向上走,但由于醉酒把握不住自己的行为,会有时向上,有时又向下,具有一定的随机性,但总体上他会尽可能向高的方向行走。随时间推移,该人逐渐清醒,向上的欲望越来越强烈,身体也越来越听指挥,最终很大可能会大概率爬到香山顶峰鬼见愁。这其实就是一种随机寻优方法“模拟退火算法”。
在模拟退火算法中,代替醉酒程度的量是温度。当温度非常高时相当于醉的非常厉害,行走起来一会上一会下,完全不着调,但是却可能从不正确的位置下来,转移到一个正确的道路上去。当温度非常低时,相当于没有喝酒,完全清醒,由于被蒙着双眼,只能凭借拐杖向高的方向走。这样每一步都看起来是正确的,但是最终也大概率是个平庸的结果。
再回到大模型,当温度设置很低时,基本是按照概率最大预测token,答案很可能就是一个平庸的结果。而当温度设置比较高时,如同酒后醉话一样,低概率的token也可能被生成出来,虽然有可能在胡说八道,但也有可能出现美妙的句子,如同李白斗酒诗百篇。李白的诗有没有胡说的呢?也许有,只是没有流传下来。
这样对于大模型来说,就要设置一个合适的温度参数,既要有一定的创新能力,又别太多的胡说八道,不过这一点也很难平衡,难免顾此失彼。

马老师从模拟退火算法中的温度超参的角度来解释 GPT-4 "变懒" 的现象,基本结论是温度太高时模型出现震荡就会说胡话,而温度刚好时就如 "李白醉酒诗百篇" 创造力倍增,而在温度低时就会回归 "平庸" 缺乏创造力。看起来一套一套的,也感觉挺有道理的,不过也是停留在猜测。

然后有神人顺着马老师的分析继续下去,发现当温度为 0 时,GPT-4 的行为依旧震荡,让这种看似 "有理有据" 的分析的可信度存疑。

所以目前来看,对于 GPT-4 "变懒" 的解释肯定是有,比如这里的时间偏移、比如这里的温度控制,但是都不足以太让人信服。所以到底是 "模型奇妙" 还是 "另有玄机",分析了半天其实也没有个所以然。

不管了,还是来看在 GPT-4 就是 "会变懒" 的情况下,咱们该怎么来规避吧,毕竟现在使能于 GPT-4 落地应用已经很多,总不能随着他 "懒惰" 吧。

我们能做的最为有效的方法应该还是从提示词 Prompt 的角度出发,采用思维链 CoT (Chain of Tought) 提示过程,这种提示方法鼓励大语言模型解释其推理过程,区别于传统的 Prompt 从输入直接到输出的映射 <input -> output> 的方式,CoT 的链路是从输入到思维链再到输出的映射 <input -> reasoning chain -> output>。具体原理可以参考知乎上大佬关于大模型思维链的技术原理解读,比如 <大模型思维链(Chain-of-Thought)技术原理>。而在应用 CoT 提示之后,GPT-4 的这种 "变懒" 行为就会改善很多,这算一个比较有效的方法。


【极智视界】

《解读 | GPT-4突然"变赖" 是莫名其妙还是另有玄机》

畅享人工智能的科技魅力,让好玩的AI项目不难玩。邀请您加入我的知识星球,星球内我精心整备了大量好玩的AI项目,皆以工程源码形式开放使用,涵盖人脸、检测、分割、多模态、AIGC、自动驾驶、工业等。一定会对你学习有所帮助,也一定非常好玩,并持续更新更加有趣的项目。https://t.zsxq.com/0aiNxERDq

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

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

相关文章

DSP外部中断笔记

中断原理 三部分 注意 &#xff0c;外部中断使能&#xff0c;PIE使能&#xff0c;CPU中断使能 外部中断有7个&#xff0c;PIE有12组&#xff0c;一个组有8个中断复用。只有一个CPU中断可执行。 外部中断原理 1、外部中断概述 外部中断结构图 外部中断XINT1对应的是0到31GPIO…

记录一次云原生线上服务数据迁移全过程

文章目录 背景迁移方案调研迁移过程服务监控脚本定时任务暂停本地副本服务启动&#xff0c;在线服务下线MySQL 数据迁移Mongo 数据迁移切换新数据库 ip 本地服务启动数据库连接验证服务打包部署服务重启前端恢复正常监控脚本定时任务启动旧服务器器容器关闭 迁移总结 背景 校园…

TCP的滑动窗口机制

网络的错误检测和补偿机制非常复杂。 一、等待超时时间&#xff08;返回ACK号的等待时间&#xff09; 当网络繁忙时会发生拥塞&#xff0c;ACK号的返回变慢&#xff0c;较短的等待时间会导致频繁的数据重传&#xff0c;导致本就拥塞的网络雪上加霜。如果等待时间过长&#xf…

VC++使用GetProcessTimes获取进程创建时间、销毁时间、用户态时间、内核态时间

一、GetProcessTimes函数简介&#xff08;微软MSDN&#xff09; 微软提供了一个非常有用的API函数GetProcessTimes用来获取进程创建时间、销毁时间、用户态时间、内核态时间&#xff0c;msdn连接为&#xff1a;GetProcessTimes 函数 (processthreadsapi.h) 其函数原型为&#…

2022年第十一届数学建模国际赛小美赛A题翼龙如何飞行解题全过程文档及程序

2022年第十一届数学建模国际赛小美赛 A题 翼龙如何飞行 原题再现&#xff1a; 翼龙是翼龙目中一个已灭绝的飞行爬行动物分支。它们存在于中生代的大部分时期&#xff1a;从三叠纪晚期到白垩纪末期。翼龙是已知最早进化出动力飞行的脊椎动物。它们的翅膀是由皮肤、肌肉和其他组…

聚类算法的性能度量

聚类算法的性能度量 聚类算法就是根据数据中样本与样本之间的距离或相似度&#xff0c;将样本划分为若干组&#xff0f;类&#xff0f;簇&#xff0c;其划分的原则&#xff1a;簇内样本相似、簇间样本不相似&#xff0c;聚类的结果是产生一个簇的集合。 其划分方式主要分为两…

java实现网络聊天

网络聊天实现步骤&#xff08;从功能谈论方法&#xff09;&#xff1a; 客户端&#xff1a; 1.登录面板&#xff1a;注册提醒用户注册格式&#xff0c;登录账号密码不为空&#xff0c;点击登录的时候需要连接服务器端&#xff0c;启动聊天面板。&#xff08;监听用户点击登录…

Spring日志完结篇,MyBatis操作数据库(入门)

目录 Spring可以对日志进行分目录打印 日志持久化&#xff08;让日志进行长期的保存&#xff09; MyBatis操作数据库(优秀的持久层框架) MyBatis的写法 开发规范&#xff1a; 单元测试的写法 传递参数 Spring可以对日志进行分目录打印 他的意思是说spring相关只打印INFO…

Truffle的基础语法与js测试语法

truffle编译 truffle compiletruffle部署 truffle migratetruffle测试 使用test文件夹下的所有文件测试 truffle test使用单个文件 测试 truffle test 文件所在位置

机器学习算法(9)——集成技术(Bagging——随机森林分类器和回归)

一、说明 在这篇文章&#xff0c;我将向您解释集成技术和著名的集成技术之一&#xff0c;它属于装袋技术&#xff0c;称为随机森林分类器和回归。 集成技术是机器学习技术&#xff0c;它结合多个基本模块和模型来创建最佳预测模型。为了更好地理解这个定义&#xff0c;我们需要…

[UIM]论文解读:subword Regularization: Multiple Subword Candidates

文章目录 一、完整代码二、论文解读2.1 介绍2.2 NMT2.3 Unigram language model2.4 subword 抽样2.5 效果 三、整体总结 论文&#xff1a;Subword Regularization: Improving Neural Network Translation Models with Multiple Subword Candidates 作者&#xff1a;Taku Kudo 时…

低多边形3D建模动画风格纹理贴图

在线工具推荐&#xff1a; 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 当谈到游戏角色的3D模型风格时&#xff0c;有几种不同的风格&#xf…

什么是神经网络的非线性

大家好啊&#xff0c;我是董董灿。 最近在写《计算机视觉入门与调优》&#xff08;右键&#xff0c;在新窗口中打开链接&#xff09;的小册&#xff0c;其中一部分说到激活函数的时候&#xff0c;谈到了神经网络的非线性问题。 今天就一起来看看&#xff0c;为什么神经网络需…

ThinkPHP连接ORACLE数据库教程

目录 概念基本步骤详细操作问题排除参考 概念 要连接Oracle数据库&#xff0c;必须有两个东西&#xff0c;一个PHP官方写的扩展&#xff0c;一个Oracle官方写的客户端PHP是通过扩展去操作oralce客户端连接的服务端数据库&#xff0c;所以两个都不能少&#xff0c;而且版本必须…

P1005 [NOIP2007 提高组] 矩阵取数游戏

网址&#xff1a;P1005 [NOIP2007 提高组] 矩阵取数游戏 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 动态规划和高精度的组合&#xff0c;使我的滨州旋转 最后只得了80&#xff0c;两个测试点超时了 看题解有人是用了int128来做的&#xff0c;明天学一下 我的递归思路和…

MongoDB的分片

本文主要介绍MongoDB的分片。 目录 MongoDB的分片组成分片过程操作步骤注意事项 MongoDB的分片 MongoDB的分片是一种横向扩展数据库的方式&#xff0c;可以将数据分散存储在多台服务器上&#xff0c;从而提高数据库的处理能力和可用性。 组成 MongoDB的分片由三个组成部分组…

Ansible中执行流控制

1.ansible中的迭代循环 创建目录和文件 vim createfile.yaml - name: create file playbook hosts: all tasks: - name: create file file: path: "/mnt/{{item[name]}}" state: …

scala变量与变量类型

1.6 变量与类型&#xff08;重点&#xff09;1.6.1 变量推断1.6.2 多变量定义1.6.3 var和val的区别 1.6.3.1 是否可变 1.6.3.2 延迟加载 1.6 变量与类型&#xff08;重点&#xff09; val修饰的变量&#xff0c;相当于Java中final修饰的变量; // 定义常量s1&#xff0c;使用…

GPIO的使用--USART串口通信--传感器控制数据

目录 一、串口通信 1、概念 2、原理图 3、使用步骤 &#xff08;1&#xff09;寻找串口位置 &#xff08;2&#xff09;确定引脚编号 &#xff08;3&#xff09;编写代码 4、实验结果 实验代码 main.c usart.c usart.h 一、串口通信 1、概念 串行接口是一种可以将…

GPT-4 变懒了?官方回复

你是否注意到&#xff0c;最近使用 ChatGPT 的时候&#xff0c;当你向它提出一些问题&#xff0c;却得到的回应似乎变得简短而敷衍了&#xff1f;对于这一现象&#xff0c;ChatGPT 官方给出了回应。 译文&#xff1a;我们听到了你们所有关于 GPT4 变得更懒的反馈&#xff01;我…