【AI学习】OpenAI员工谈消融实验

jbetker(OpenAI员工)的博客不长,很好读,但是内容却别开生面、非常有见底。

消融实验真的很重要

我不再像以前那样阅读那么多论文了。这让我感到惊讶,因为我一直认为,当我把机器学习作为全职工作时,我会花更多的时间阅读其他领域人士正在进行的所有事情。

在某种程度上,这是一个弱点。我们应该在阅读和写作之间找到一个健康的平衡,而我明显倾向于写作方面(代码,而不是论文)。话虽如此,我很荣幸能与我在这个领域中非常尊重的一些人一起工作,他们阅读的也不比我多。

有几个很好的理由,但今天我想讨论的是领域中缓慢进步和消融实验的重要性。这两件事和谐地工作,使得论文要么太无聊,不值得一瞥,要么完全无法用于任何未来的工作。让我们来谈谈为什么。

在过去的几年里,我学到的最重要的事情之一就是神经网络惊人的工作能力。这意味着在你可以尝试的一系列疯狂想法中,用来提高神经网络性能的,它们至少都会训练并产生结果。因此,我们需要想出衡量神经网络工作效果的方法——这些以我们领域中使用的各种各样的评估形式出现。

理想的梦想是使用这些评估来评判各种技术和想法之间的比较性能。如果你有一个疯狂的想法,编码实现它并得到更好的评估——这是一个好主意,对吧?是时候写一篇论文了。

嗯……事情并不是那么简单。首先,实现方式非常重要很多。两个由不同人从头开始编写的“变换器”通常会有不同的性能特征。当你实现这些时,你会做出一长串小决策,它们都以一种直观的方式与其他你可能正在测试的变更相互作用。常见的变量包括初始化比例、优化器选择、数据预处理选择、归一化层的类型和位置、激活选择、位置信息如何输入到注意力层——列表还在继续。

当你写一篇论文说你的新神经网络技术比我的好时——我会问的第一个问题是“我可以看看代码吗?”因为很可能你的新技术并不比我的好,是你的实现方式。我很愿意复制它。

聪明的研究者非常清楚这些问题,并以两种方式之一来应对:

1、只对具有良好特征化的现有开源代码进行小改进。这只有在一切都是开源的时候才有效——包括训练代码和数据集。它也只对那些作者仔细考虑了确定性的培训者真正有效。

2、进行消融实验,并且是大量的。从一些基础模型的裸实现开始,比如一个变换器。训练它很长时间。进行一个小调整。再次训练。再进行一个小调整并再次训练。

大多数优秀的研究者遵循第二个方法,但大多数人不愿意发表关于中间步骤的内容。这是一种遗憾,因为我认为这是在确定一个新想法是否值得追求时手头上最重要的数据!

这就是为什么我非常喜欢阅读任何研究论文的消融部分:它让我了解什么真正重要,以及结果有多少仅仅是由于研究者选择的实现选择。

当阅读实验结果时,我想以一个最后重要的事情作为结束,无论是否存在消融:在机器学习中,性能的两个最重要的决定因素是数据和计算。如果任何“新技术”改变了用于训练神经网络的计算量或数据类型,那么这项技术本身至少是值得怀疑的。我们不应该在运行之间使用不同的数据集进行训练,这是相当明显的,但衡量计算变化通常要困难得多。

要正确地消融计算变化,你真的需要跟踪你的神经网络中使用的所有矩阵乘法的数量和维度,并将其与你的基线进行比较。如果你的新数字不同,那将不可避免地影响性能。即使它在像归一化层这样“愚蠢”的东西中也是如此。神经网络是棘手的小野兽,会找到使用你给予它们的任何计算的方法。这一点在Chinchilla(包括我自己在内)之前并没有得到足够的重视,但研究人员开始“理解”。

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

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

相关文章

晨控CK-UR12-E01与欧姆龙NX/NJ系列EtherNet/IP通讯手册

晨控CK-UR12-E01与欧姆龙NX/NJ系列EtherNet/IP通讯手册 晨控CK-UR12-E01 是天线一体式超高频读写器头,工作频率默认为902MHz~928MHz,符合EPC Global Class l Gen 2/IS0-18000-6C 标准,最大输出功率 33dBm。读卡器同时…

爬山算法详细介绍

爬山算法介绍 爬山算法,又称局部搜索算法或局部择优方法,是一种基于贪婪策略的优化算法。它采用启发式方法,是对深度优先搜索的一种改进,利用反馈信息帮助生成解的决策。其基本思想是从当前位置开始,在周围邻域内寻找…

Kubernetes学习总结知识点汇总

Kubernetes 是一个开源的容器编排系统,用于自动化部署、扩展和管理容器化应用程序。它最初由 Google 设计并捐赠给 Cloud Native Computing Foundation(CNCF)来维护。Kubernetes 提供了一个运行分布式系统的框架,能够无缝地扩展和…

vue3-使用富文本编辑器-wangEditor-文章发表1

最近在搞项目:我们组内几位成员正在搞一个网站搭建,以后更新会比较缓慢 引言:如果要网站要用的富文本编辑器的话,这边推荐用wangEditor 官网地址传送 : wangEditorhttps://www.wangeditor.com/ 我现在还在扩展我的写文章用的富文本编辑器 现在我将简单介绍一下其基本使用方…

#15松桑前端后花园周刊-Turborepo 2.0、ESLint v9.4.0、重新学习promise、CSS gap

⚡️行业动态 ESLint 推出了一个新的 ESLint 配置迁移器 ESLint 用户没有升级到 ESLint v9.x 的最大原因之一是迁移配置文件似乎很困难和复杂。因此 Eslint 推出eslint/migrate-config支持将. eslintrc 文件迁移到 eslint.config.js,以帮助用户提高配置文件的速度。…

如何把input复选框如何变成好看的圆形

在HTML和CSS中&#xff0c;默认的<input type"checkbox">元素通常呈现为一个小方块。要将复选框变为圆形&#xff0c;你需要使用CSS来自定义其样式。这通常涉及到隐藏默认的复选框并使用伪元素&#xff08;如::before或::after&#xff09;来创建一个新的圆形外…

PyTorch tutorials:快速学会使用PyTorch

准备深入学习transformer&#xff0c;并参考一些资料和论文实现一个大语言模型&#xff0c;顺便做一个教程&#xff0c;今天是番外篇&#xff0c;介绍下PyTorch&#xff0c;后面章节实现代码主要使用这个框架。 本系列禁止转载&#xff0c;主要是为了有不同见解的同学可以方便联…

# RocketMQ 实战:模拟电商网站场景综合案例(三)

RocketMQ 实战&#xff1a;模拟电商网站场景综合案例&#xff08;三&#xff09; 一、环境搭建&#xff1a;数据库表结构介绍 1、优惠券表 FieldTypeCommentcoupon_iddecigint(50) NOT NULL优惠券IDcoupon_pricedecimal(10,2) NULL优惠券金额user idbigint(50) NULL用户IDor…

Web 自动化测试(基于Pytest极简)

Pytest 初体验 在使用 Python 进行 Web UI 自动化测试时&#xff0c;我们除了使用 unittest 单元测试框架&#xff0c;还可以使用 pytest&#xff0c;本节实验就给大家简单的介绍一下 pytest。 环境配置 本系列实验我们借助 VS Code 工具编写代码&#xff0c;使用的 Python …

IP地址简介

一、IP地址 Internet Protocol Address&#xff0c;即网络层协议地址&#xff0c;是IP的缩写。 二、IP地址的作用 为什么不直接使用MAC&#xff0c;又加了一个IP地址呢&#xff1f; 事实上底层传输&#xff0c;最终使用的肯定是MAC地址&#xff0c;但是由于在以前&#x…

Elasticsearch-经纬度查询(8.x)

目录 一、开发环境 二、pom文件 三、ES配置文件 四、ES相关字段 五、ES半径查询 ES的字段类型:geo_point&#xff0c;可以实现以一个点为中心的半径查询(geo_distance query) ES 地里位置查询: 半径查询(geo_distance query)查询指定矩形内的数据(geo_bounding_box quer…

管理数据必备;侦听器watch用法详解,vue2与vue3中watch的变化与差异

目录 一、侦听器&#xff08;watch&#xff09;是什么&#xff1f; 二、Vue2中的watch&#xff08;Options API&#xff09; 2.1、函数式写法 2.2、对象式写法 ①对象式基础写法 ②回调函数handler ③deep属性 ④immediate属性 三、Vue3中的watch 3.1、向下兼容&#xff…

部署higress到华为云

higress 部署与上云 k3s环境准备 [root@vm ~]# curl https://releases.rancher.com/install-docker/19.03.sh | sh [root@vm ~]# curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"[root@vm ~]# …

C++面向对象程序设计 - 输入输出流进一步研究

在C中&#xff0c;输入输出流&#xff08;I/O&#xff09;是一个强大的特性&#xff0c;它允许程序与各种输入/输出设备&#xff08;如键盘、显示器、文件等&#xff09;进行交互。C标准库中的<iostream>头文件定义了基本的输入输出流类&#xff0c;如std::cin&#xff0…

搭建RocketMQ主从异步集群

搭建RocketMQ主从异步集群 1、RocketMQ集群模式 为了追求更好的性能&#xff0c;RocketMQ的最佳实践方式都是在集群模式下完成的。RocketMQ官方提供了三种集群搭建方式&#xff1a; 2主2从异步通信方式&#xff1a;使用异步方式进行主从之间的数据复制。吞吐量大&#xff0c;…

665. 非递减数列(中等)

665. 非递减数列 1. 题目描述2.详细题解3.代码实现3.1 Python3.2 Java 1. 题目描述 题目中转&#xff1a;665. 非递减数列 2.详细题解 判断在最多改变 1 个元素的情况下&#xff0c;该数组能否变成一个非递减数列&#xff0c;一看到题目&#xff0c;不就是遍历判断有几处不…

科普计算机的相关知识【上】

一、计算机硬件 1. 主板&#xff08;Motherboard&#xff09; 定义&#xff1a;主板是计算机系统的核心&#xff0c;承载着CPU、内存和扩展卡等关键组件。 功能&#xff1a;主板负责连接和协调各个硬件组件&#xff0c;确保它们能够正常工作。 主要芯片&#xff1a;包括BIO…

Android之保存图片到相册之前兼容不同机型需要注意的配置

一、存储配置相关说明 1、权限配置 <uses-permission android:name"android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name"android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name"…

现实转虚拟:Video2Game引领3D互动体验

在当今数字化时代&#xff0c;虚拟环境的创建对于游戏开发、虚拟现实应用和自动驾驶模拟器等多个领域至关重要。然而&#xff0c;传统的虚拟环境创建过程不仅复杂而且成本高昂&#xff0c;通常需要专业人员和专业软件开发工具的参与。例如&#xff0c;著名的《侠盗猎车手V》以其…

升级海光dcu的飞桨版本@启智

dcu的调试任务启动之后&#xff0c;上不了网啊&#xff0c;导致无法升级python到3.10,进而无法升级飞桨版本.... sudo python -m pip install --pre paddlepaddle-dcu -i https://www.paddlepaddle.org.cn/packages/nightly/dcu/ Looking in indexes: https://www.paddlepaddle…