Stephen Wolfram:超越基础训练

news2024/11/24 23:19:09

Beyond Basic Training

超越基础训练

The majority of the effort in training ChatGPT is spent “showing it” large amounts of existing text from the web, books, etc. But it turns out there’s another—apparently rather important—part too.

在训练 ChatGPT 的过程中,大部分努力都花在了让它“阅读”大量现有的网络、书籍等文本上。但事实证明,还有另一个看似非常重要的部分。

As soon as it’s finished its “raw training” from the original corpus of text it’s been shown, the neural net inside ChatGPT is ready to start generating its own text, continuing from prompts, etc. But while the results from this may often seem reasonable, they tend—particularly for longer pieces of text—to “wander off” in often rather non-human-like ways. It’s not something one can readily detect, say, by doing traditional statistics on the text. But it’s something that actual humans reading the text easily notice.

在完成了原始文本语料库的“原始训练”后,ChatGPT 内部的神经网络就准备好开始生成自己的文本,接着完成提示等任务。尽管这样的结果看起来很多时候是合理的,但它们往往会以非常不像人类的方式“漫游”,特别是在生成较长的文本时。这不是我们通过对文本进行传统统计就能轻易发现的东西,但实际阅读文本的人类可以很容易地注意到。

And a key idea in the construction of ChatGPT was to have another step after “passively reading” things like the web: to have actual humans actively interact with ChatGPT, see what it produces, and in effect give it feedback on “how to be a good chatbot”. But how can the neural net use that feedback? The first step is just to have humans rate results from the neural net. But then another neural net model is built that attempts to predict those ratings. But now this prediction model can be run—essentially like a loss function—on the original network, in effect allowing that network to be “tuned up” by the human feedback that’s been given. And the results in practice seem to have a big effect on the success of the system in producing “human-like” output.

在构建 ChatGPT 时,关键的想法是在“被动阅读”网络等内容之后增加一个步骤:让真正的人类积极地与 ChatGPT 互动,查看它生成的内容,并实际上给它提供关于“如何成为一个好的聊天机器人”的反馈。但是神经网络如何利用这种反馈呢?第一步就是让人类对神经网络的结果进行评分。然后,构建另一个神经网络模型,试图预测这些评分。但现在,这个预测模型可以像损失函数一样在原始网络上运行,实际上允许这个网络通过已经给出的人类反馈进行“调优”。实践中的结果似乎对系统产生“人类般”的输出的成功产生了很大的影响。

In general, it’s interesting how little “poking” the “originally trained” network seems to need to get it to usefully go in particular directions. One might have thought that to have the network behave as if it’s “learned something new” one would have to go in and run a training algorithm, adjusting weights, and so on.

总的来说,让“原始训练”过的网络在特定方向上有用的“调整”似乎需要的程度很小。人们可能会认为,要让网络表现得像是“学到了新东西”,就必须进入并运行训练算法,调整权重等。

But that’s not the case. Instead, it seems to be sufficient to basically tell ChatGPT something one time—as part of the prompt you give—and then it can successfully make use of what you told it when it generates text. And once again, the fact that this works is, I think, an important clue in understanding what ChatGPT is “really doing” and how it relates to the structure of human language and thinking.

然而事实并非如此。相反,基本上只需告诉 ChatGPT 一次,作为给出提示的一部分,然后它就可以在生成文本时成功利用你告诉它的内容。再次强调,这种方法行之有效,我认为这是理解 ChatGPT 的“真正功能”以及它与人类语言和思维结构之间关系的一个重要线索。

There’s certainly something rather human-like about it: that at least once it’s had all that pre-training you can tell it something just once and it can “remember it”—at least “long enough” to generate a piece of text using it. So what’s going on in a case like this? It could be that “everything you might tell it is already in there somewhere”—and you’re just leading it to the right spot. But that doesn’t seem plausible. Instead, what seems more likely is that, yes, the elements are already in there, but the specifics are defined by something like a “trajectory between those elements” and that’s what you’re introducing when you tell it something.

这确实具有相当人类化的特点:至少在完成所有预先训练后,你只需告诉它一次,它就能“记住”——至少“足够长的时间”来生成使用它的文本。那么,在这种情况下到底发生了什么?可能是“你可能告诉它的一切已经存在于某个地方”——而你只是引导它到正确的地方。但这似乎不太可能。相反,更有可能的是,是的,元素已经存在,但是具体细节是由类似于“这些元素之间的轨迹”所定义的,这就是你在告诉它某件事时所引入的东西。

And indeed, much like for humans, if you tell it something bizarre and unexpected that completely doesn’t fit into the framework it knows, it doesn’t seem like it’ll successfully be able to “integrate” this. It can “integrate” it only if it’s basically riding in a fairly simple way on top of the framework it already has.

实际上,与人类非常相似,如果你告诉它一些奇怪而出乎意料的东西,完全不符合它所知道的框架,它似乎就无法成功地“整合”这些内容。只有当它基本上是以非常简单的方式基于已有的框架时,它才能“整合”这些内容。

It’s also worth pointing out again that there are inevitably “algorithmic limits” to what the neural net can “pick up”. Tell it “shallow” rules of the form “this goes to that”, etc., and the neural net will most likely be able to represent and reproduce these just fine—and indeed what it “already knows” from language will give it an immediate pattern to follow. But try to give it rules for an actual “deep” computation that involves many potentially computationally irreducible steps and it just won’t work. (Remember that at each step it’s always just “feeding data forward” in its network, never looping except by virtue of generating new tokens.)

同时,再次指出,神经网络能够“学到”的东西在算法上是有限的。告诉它“浅层”的规则,例如“这个变成那个”等,神经网络很可能能够很好地表示和复制这些规则——实际上,它从语言中“已经知道”的东西会立即给出一种模式。但是,尝试为涉及许多可能的计算不可约步骤的实际“深层”计算提供规则,那就行不通了。(请记住,在每一步中,它总是只在网络中“向前传递数据”,除了通过生成新的标记之外,从不循环。)

Of course, the network can learn the answer to specific “irreducible” computations. But as soon as there are combinatorial numbers of possibilities, no such “table-lookup-style” approach will work. And so, yes, just like humans, it’s time then for neural nets to “reach out” and use actual computational tools. (And, yes, Wolfram|Alpha and Wolfram Language are uniquely suitable, because they’ve been built to “talk about things in the world”, just like the language-model neural nets.)

当然,网络可以学习特定的“不可约”的计算答案。但是,一旦存在组合数数量级的可能性,那么任何类似“查表法”的方法都将行不通。因此,是的,就像人类一样,神经网络现在需要“拓展”并使用实际的计算工具。(而且,是的,Wolfram|Alpha 和 Wolfram 语言是独特适合的,因为它们是为了“谈论世界中的事物”而构建的,就像语言模型神经网络一样。)

3490e2b99520ba1b78268605089126fd.jpeg

“点赞有美意,赞赏是鼓励”

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

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

相关文章

基于短信宝API零代码实现短信自动化业务

场景描述: 基于短信宝开放的API能力,实现在特定事件(如天气预警)或定时自动发送短信(本文以定时群发短信为例)。通过Aboter平台如何实现呢? 使用方法: 首先创建一个IPaaS流程&…

splice没有删除指定元素怎么回事

动态删除数组元素,只能用倒序遍历或者正序遍历时i每次减1 防止遍历时数组元素长度动态改变导致的死循环或者缺漏 注释的需要-1

io day9

1.要求用消息队列实现AB进程对话 a.A进程先发送—句话给B进程,B进程接收后打印 b.B进程再回复—句话给A进程,A进程接收后打印 c.重复1.2步骤,当收到quit后,要结束AB进程 d.实现随时收发:用多进程多线程。 2.要求在共享…

NC 突破性发现!新型分子抑制细菌多重耐药性,重燃抗生素效力的希望

多重耐药性是指细菌病原体在许多结构多样化的化合物的致死剂量下存活的能力。细菌多重耐药性继续以惊人的速度蔓延,威胁着全球人类健康。2019年,细菌多重耐药性直接导致全球1万人死亡,超过艾滋病毒和疟疾的总和。 由于大多数临床抗生素已经对…

Docker卸载安装及国内镜像源(详细版)

文章目录 一、卸载已有Docker1、首先判断本地有没有docker:2、判断CentOS下 docker是否在运行:3、停止docker运行&查看状态4、yum查看docker安装的包并卸载5、删除docker安装目录6、查看docker version 二、Docker安装及镜像源配置1、centOS 7 yum源…

第7集丨Vue 江湖 —— 条件渲染

目录 一、v-show二、v-if2.1 基本使用2.2 条件渲染分组2.3 与 v-else-if、v-else 结合使用 三、v-if vs v-show四、测试案例 本节条件渲染所涉及到的指令有: v-showv-ifv-else-ifv-else 一、v-show 1. 用法: 语法: v-show" 表达式"&#xff…

【CSS】说说对BFC的理解

目录 一、概念 二、BFC的布局规则 三、设置BFC的常用方式 四、BFC的应用场景 1、解决浮动元素令父元素高度坍塌的问题 2、解决非浮动元素被浮动元素覆盖问题 3、解决外边距垂直方向重合的问题 五、总结 一、概念 我们在页面布局的时候,经常出现以下情况&am…

VS2017+CMake+opencv/opencv_contrib 配置报错

请参考https://blog.csdn.net/m0_57433605/article/details/123026901 大佬写的真的很好 添加代理能解决90%问题(甚至100%)

性能问题通用排查思路(一)CPU

本系列文章只是梳理一些常见的线上问题的通用排查思路,能解决70%的问题,对于剩下的30%是一些极端的问题,需要对计算机底层知识有充分的了解,并积累大量问题排查经验,仔细分析才能找到具体原因。 这里基于Linux操作系统…

18、SQL注入之堆叠及WAF绕过注入

目录 堆叠查询注入WAF绕过-SQL注入简要讲解安全狗、宝塔等防护waf策略规则大小写和关键字替换 加密解密编码解码等价函数特殊符号反序列化注释符混用更改提交方式Fuzz大法数据库特性垃圾数据溢出HTTP参数污染 实测简易CMS头部注入漏洞Bypass原理分析 堆叠查询注入 stacked inj…

吃透MySQL面试八股文

内容摘自我的学习网站:topjavaer.cn 什么是MySQL MySQL是一个关系型数据库,它采用表的形式来存储数据。你可以理解成是Excel表格,既然是表的形式存储数据,就有表结构(行和列)。行代表每一行数据&#xff0…

MySQL刷题遇到的盲点(五)窗口函数

窗口函数 语法&#xff1a; <窗口函数> over (partition by <用于分组的列名>order by <用于排序的列名>) partition by&#xff1a;用来对表分组&#xff08; partition 子句可以省略&#xff0c;省略就是不指定分组&#xff09; order by&#xff1a;是…

Python爬虫异常处理心得:应对网络故障和资源消耗

作为一名专业的爬虫代理&#xff0c;我知道在爬取数据的过程中&#xff0c;遇到网络故障和资源消耗问题是再正常不过了。今天&#xff0c;我将与大家分享一些关于如何处理这些异常情况的心得和技巧。不论你是在处理网络不稳定还是资源消耗过大的问题&#xff0c;这些技巧能够帮…

每日一学—浅谈什么是互联网广告系统(文末送书福利2.0)

文章目录 &#x1f4cb;前言&#x1f3af;组成部分&#x1f3af;互联网广告系统案例&#x1f4dd;最后&#x1f3af;文末送书&#x1f4da;作者介绍&#x1f4da;内容简介 &#x1f525;参与方式 &#x1f4cb;前言 互联网广告系统是指在互联网上进行广告投放和管理的系统。它…

哈希桶

哈希桶 概念 开散列法又叫链地址法(开链法)&#xff0c;首先对关键码集合用散列函数计算散列地址&#xff08;index x % array.length()-1&#xff09;&#xff0c;具有相同地址的关键码归于同一子集合&#xff0c;每一个子集合称为一个哈希桶&#xff0c;各个桶中的元素通过…

【JS基础】位运算符

JS 位运算符 1.简介 位运算是低级的运算操作&#xff0c;所以其速度往往也是相对较快的。同时&#xff0c;借助位运算的特性还可以实现一些算法&#xff0c;恰当地使用位运算有很多好处。 注意&#xff1a;所有的位运算都是在二进制下进行运算的&#xff01; 2.位运算符 位…

SNP案例:借助TDO工具大型医院的多客户端系统实现高效刷新

“SNP测试数据管理器使得在多客户端系统中执行测试数据刷新变得很容易。这免去了KSSG IT部门耗时的预处理和后处理工作&#xff0c;为我们节省了宝贵的时间和成本。” Paulo Teber, SAP Basis 管理, KSSG 关于KSSG KSSG公司是瑞士较大的医院之一&#xff0c;也是瑞士东部主要的…

【Linux操作系统】GCC编译与静态库、动态库制作详解

GCC是一款广泛使用的开源编译器&#xff0c;它支持多种编程语言&#xff0c;并且具有强大的编译能力。在软件开发中&#xff0c;我们经常需要将代码编译成可执行文件或者库文件。本文将详细介绍GCC编译过程以及如何制作静态库和动态库。 文章目录 一、GCC编译过程1. 预处理阶段…

【MySQL】sql字段约束

在MySQL中&#xff0c;我们需要存储的数据在特定的场景中需要不同的约束。当新插入的数据违背了该字段的约束字段&#xff0c;MySQL会直接禁止插入。 数据类型也是一种约束&#xff0c;但数据类型这个约束太过单一&#xff1b;比如我需要存储的是一个序号&#xff0c;那就不可…

SpringBoot第33讲:SpringBoot集成ShardingJDBC - 基于JPA的读写分离

SpringBoot第33讲&#xff1a;SpringBoot集成ShardingJDBC - 基于JPA的读写分离 本文是SpringBoot第33讲&#xff0c;主要介绍分表分库&#xff0c;以及SpringBoot集成基于 ShardingJDBC 的读写分离实践 文章目录 SpringBoot第33讲&#xff1a;SpringBoot集成ShardingJDBC - 基…