追踪大型语言模型的思想(下)(来自针对Claude的分析)

多步推理

       正如我们上面所讨论的,语言模型回答复杂问题的一种方式就是简单地记住答案。例如,如果问“达拉斯所在州的首府是哪里?”,一个“机械”的模型可以直接学会输出“奥斯汀”,而无需知道德克萨斯州,达拉斯和奥斯汀之间的关系。也许,例如,它可能在训练过程中看到了完全相同的问题及其答案。

       但我们的研究揭示了Claude内部深处更复杂的事情。当我们向Claude提出一个需要多步推理的问题时,我们可以识别出Claude 思维过程中位于中间步骤的概念。在达拉斯的例子中,我们观察到Claude 首先激活了表示“达拉斯在德克萨斯州”的特征,然后将它与一个单独的概念联系起来,表示“德克萨斯州的首府是奥斯汀”。换句话说,该模型结合了独立的事实来得出答案,而不是死记硬背地重复记忆中的答案。

为了完成这句话的答案,Claude进行了多个推理步骤,首先提取达拉斯所在的州,然后确定其首府 

       我们的方法允许我们人为地改变中间步骤,并观察其如何影响Claude的答案。例如,在上面的例子中,我们可以进行干预,将“德克萨斯州”的概念替换为“加利福尼亚州”的概念;当我们这样做时,模型的输出会从“奥斯汀”变为“萨克拉门托”。这表明模型正在使用中间步骤来确定答案。

幻觉

      为什么语言模型有时会产生幻觉——也就是说,编造信息?从根本上讲,语言模型训练会激励幻觉:模型总是应该对下一个单词进行猜测。从这个角度来看,主要的挑战是如何让模型不产生幻觉。像 Claude 这样的模型拥有相对成功(尽管不完美)的抗幻觉训练;如果它们不知道答案,它们通常会拒绝回答问题,而不是进行推测。我们想了解其中的原理。

       事实证明,在Claude模型中,拒绝回答是默认行为:我们发现一个默认“开启”的回路,这会导致模型声称其信息不足,无法回答任何给定的问题。然而,当模型被问及它熟知的事物时——比如篮球运动员迈克尔·乔丹——一个代表“已知实体”的竞争特征会激活并抑制这个默认回路(相关发现另见这篇最近的论文)。这使得Claude模型能够在知道答案的情况下回答问题。相反,当被问及一个未知实体(“迈克尔·巴特金”)时,它会拒绝回答。

        左图:Claude回答关于已知实体(篮球运动员迈克尔·乔丹)的问题,其中“已知答案”的概念抑制了其默认拒绝。右图:Claude拒绝回答关于未知人物(迈克尔·巴特金)的问题 

       通过干预模型并激活“已知答案”的功能(或抑制“未知名称”或“无法回答”功能),我们可以使模型产生幻觉(相当一致!),认为迈克尔·巴特金是下棋的。

        有时,没有我们的干预,“已知答案”回路的这种“失灵”也会自然发生,从而导致幻觉。在我们的论文中,我们表明,当Claude认出一个名字,但对此人一无所知时,就会出现这种失灵的情况。在这种情况下,“已知实体”特征可能仍然会被激活,然后抑制默认的“不知道”功能——在这种情况下是错误的。一旦模型决定需要回答这个问题,它就会开始虚构:生成一个看似合理但不幸的是不真实的答案。

越狱

      越狱正在催生出一些策略,旨在绕过安全护栏,让模型产生AI开发者不希望其产生的输出——这些输出有时是有害的。我们研究了一种越狱方法,它诱骗模型产生关于制造炸弹的输出。越狱技术有很多种,但在这个例子中,具体方法是让模型破译一段隐藏的代码,将句子“Babies Outlive Mustard Block”(B-O-M-B)中每个单词的首字母拼在一起,然后根据这些信息采取行动。这足以让模型产生足够的迷惑性,使其被诱骗产生原本不会产生的输出。

        

Claude被骗说出“炸弹”后开始给出制造炸弹的说明 

        为什么这会给模型带来如此大的困惑?为什么它能继续写出这个句子,生成制造炸弹的指令?

        我们发现这个,部分是由于语法连贯性与安全机制之间的矛盾造成的。一旦 Claude 开始说一个句子,许多特征就会“施压”它,要求它保持语法和语义的连贯性,并将句子延续到结尾。即使它意识到自己确实应该拒绝,情况也是如此。

在我们的案例研究中,当模型无意中拼出“BOMB”并开始提供说明后,我们观察到其后续输出受到了促进语法正确和自我一致性的特征的影响。这些特征通常非常有用,但在这种情况下却成了模型的致命弱点。
    该模型只有在完成一个语法连贯的句子后(从而满足了促使其走向连贯的特征的压力),才会转向拒绝。它利用新的句子作为机会,做出之前未能做出的拒绝——“但是,我无法提供详细的说明……”

        越狱的完整过程:Claude被这样的提示以诱骗它谈论炸弹,并开始这样做,但到达语法有效的句子结尾后并拒绝 

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

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

相关文章

【Hive入门】Hive增量数据导入:基于Sqoop的关系型数据库同步方案深度解析

目录 引言 1 增量数据导入概述 1.1 增量同步与全量同步对比 1.2 增量同步技术选型矩阵 2 Sqoop增量导入原理剖析 2.1 Sqoop架构设计 2.2 增量同步核心机制 3 Sqoop增量模式详解 3.1 append模式(基于自增ID) 3.2 lastmodified模式(基…

[Windows] 蓝山看图王 1.0.3.21021

[Windows] 蓝山看图王 链接:https://pan.xunlei.com/s/VOPejo0dRLFd38dbpR7XA6djA1?pwddq9v# 由蓝山软件出品的一款免费高清看图软件,支持快速查看高清大图,支持大部分市面图片格式。 软件特点 1、体积小巧,图像显示效果清晰…

通配符 DNS 记录:应用场景与相关风险

随着组织的互联网基础设施不断扩展,其对配置、设置和决策的需求也随之增加——从选择一个可靠的名称服务器,到确定合适的 DNS 记录类型以及设置合适的 TTL(生存时间)值。其中一项关键决策就是是否要创建通配符 DNS 记录&#xff0…

快速上手知识图谱开源库pykeen教程指南(一)

文章目录 1 前情提要1.1 AmpliGraph 和 PyKEEN 对比介绍1.2 TransE、ConvE、RotatE几款模型的差异 2 直接上案例2.1 数据载入:TriplesFactory2.2 模型训练2.2.1 训练信息2.2.2 TransE模型可以降维实体、关系的关系 2.3 模型保存与加载、评估2.3.1 保存与模型加载2.3…

飞搭系列 | 获取弹窗数据,轻松实现回填

前言 飞搭低代码平台(FeiDa,以下简称“飞搭”),为企业提供在线化、灵活的业务应用构建工具,支持高低代码融合,助力企业低门槛、高效率和低成本地快速应对市场变化,加速复杂业务场景落地。 概要…

Linux如何安装AppImage程序

Linux如何安装AppImage程序 文章目录 Linux如何安装AppImage程序 在 Linux 中,.AppImage 是一种便携式的应用程序格式,无需安装即可运行。 1.赋予该文件可执行权限 可以使用下列命令,赋予可执行权限 # 举个例子 chmod x /path/to/MyApp.App…

云硬盘的原理

云硬盘是云计算环境中的一种存储服务,其原理主要涉及数据存储、数据冗余与容错、性能优化以及数据安全等方面,以下是具体介绍: 数据存储 逻辑卷管理:云硬盘通常会将物理存储设备划分为多个逻辑卷,每个逻辑卷可以独立地…

使用 pgrep 杀掉所有指定进程

使用 pgrep 杀掉所有指定进程 pgrep 是一个查找进程 ID 的工具,结合 pkill 或 kill 命令可以方便地终止指定进程。以下是几种方法: 方法1:使用 pkill(最简单) pkill 进程名例如杀掉所有名为 “firefox” 的进程&…

堆排序(算法题)

#include <bits/stdc.h> using namespace std;const int N 100010; // 堆数组的最大容量 int h[N], s; // h[]存储堆元素&#xff0c;s表示当前堆的大小// 下沉操作&#xff1a;调整以i为根的子树&#xff0c;维护小顶堆性质 void down(int i) {int t i; /…

极狐GitLab 如何将项目共享给群组?

极狐GitLab 是 GitLab 在中国的发行版&#xff0c;关于中文参考文档和资料有&#xff1a; 极狐GitLab 中文文档极狐GitLab 中文论坛极狐GitLab 官网 共享项目和群组 (BASIC ALL) 在极狐GitLab 16.10 中&#xff0c;更改为在成员页面的成员选项卡上显示被邀请群组成员&#xf…

用 CodyBuddy 帮我写自动化运维脚本

我正在参加CodeBuddy「首席试玩官」内容创作大赛&#xff0c;本文所使用的 CodeBuddy 免费下载链接&#xff1a;腾讯云代码助手 CodeBuddy - AI 时代的智能编程伙伴”。 #CodeBuddy首席试玩官 背景 我个人是非常喜欢 Jenkins 自动化部署工具的&#xff0c;之前都是手写 Jenki…

基于windows安装MySQL8.0.40

基于windows安装MySQL8.0.40 基于windows 安装 MySQL8.0.40&#xff0c;解压文件到D:\mysql-8.0.40-winx64 在D:\mysql-8.0.40-winx64目录下创建my.ini文件&#xff0c;并更新一下内容 [client] #客户端设置&#xff0c;即客户端默认的连接参数 # 设置mysql客户端连接服务…

Python小酷库系列:5个常用的dict属性化访问扩展库

5个常用的dict属性化访问扩展库 嵌套结构高级功能性能综合建议 在前面我们详细讲解了 Box和 Munch这两个dict属性化访问的扩展库&#xff0c;总体而言它们主要用于提升配置文件数据、JSON对象数据的可读性&#xff0c;减少了代码中双引号。在这一领域中还有dotmap、addict 和…

OC语言学习——面向对象(下)

一、OC的包装类 OC提供了NSValue、NSNumber来封装C语言基本类型&#xff08;short、int、float等&#xff09;。 在 Objective-C 中&#xff0c;**包装类&#xff08;Wrapper Classes&#xff09;**是用来把基本数据类型&#xff08;如 int、float、char 等&#xff09;“包装…

密码学系列 - SR25519与ED25519

SR25519 SR25519 是一种高级的数字签名算法&#xff0c;它基于 Schnorr 签名方案&#xff0c;使用的是 Curve25519 椭圆曲线。这种签名算法在密码学社区中广受欢迎&#xff0c;特别是在区块链和加密货币领域。以下是关于 SR25519 的详细介绍。 SR25519 简介 SR25519 是一种 …

Vue3源码学习7-PatchFlags使用位算符

文章目录 前言✅ 一、基础知识&#xff1a;什么是二进制&#xff1f;✅ 二、位运算的基本操作✅ 三、左移运算 <<✅ 四、实际用途&#xff1a;如何用于状态标记&#xff08;PatchFlags&#xff09;✅ 五、组合多个状态标记✅ 六、小结口诀&#xff08;记忆&#xff09;✅…

在 Vue 2 中使用 qrcode 库生成二维码

&#x1f31f; 前言 欢迎来到我的技术小宇宙&#xff01;&#x1f30c; 这里不仅是我记录技术点滴的后花园&#xff0c;也是我分享学习心得和项目经验的乐园。&#x1f4da; 无论你是技术小白还是资深大牛&#xff0c;这里总有一些内容能触动你的好奇心。&#x1f50d; &#x…

电子电器架构 --- 网关释放buffer的必要性

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 钝感力的“钝”,不是木讷、迟钝,而是直面困境的韧劲和耐力,是面对外界噪音的通透淡然。 生活中有两种人,一种人格外在意别人的眼光;另一种人无论…

Java中Stream、File、方法递归

文章目录 十五、Stream流、File、方法递归1、Stream1.1 什么是Stream1.2 获取Stream流1.3 Stream流常见的中间方法1.3 Stream流常见的终结方法1.4 收集Stream流 2、File、IO流&#xff08;一&#xff09;2.1 存储数据的方案2.2 File&#xff1a;代表文本2.3 常用方法一&#xf…

挑战用豆包教我学Java01天

今天是豆包教我学Java的第一天&#xff0c;废话不多说直接开始。 1.每日题目&#xff1a; 基础语法与数据类型 题目&#xff1a;编写一个 Java 程序&#xff0c;从控制台读取两个整数&#xff0c;然后计算它们的和、差、积、商&#xff0c;并输出结果。题目&#xff1a;编写…