【报告阅读】chatgpt-o1 技术报告阅读 | 新的迭代开始了~

OpenAI o1是通过强化学习去进行复杂推理,在它回答之前,他会经过复杂的内部思维链的思考。

经过强化训练的o1多强

1 表现

在美国数学奥林匹克预选赛中名列前500名的学生中,o1排89名

在物理、生物、化学问题的基准测试中超过人类博士水平

在这里插入图片描述

其实你都不需要细看每一个数据集是什么含义。

只需要相对对比就知道他有多强了

4o还是蛮厉害的吧

但是在o1 preview和o1面前简直就是一个傻子,很多准确率不是几个几个超越,而是几十几十的超越

降维打击

怪不得OpenAI都直接给他一个新的系列名称了~

2 实现方法

类似于人类在回答一个困难问题之前可能会思考很长时间,o1 在尝试解决问题时使用思维链。通过强化学习,o1 学习完善其思维链并优化所使用的策略。它学会识别和纠正自己的错误。它学会将棘手的步骤分解为更简单的步骤。当当前的方法不起作用时,它学会尝试不同的方法。这个过程显著提高了模型的推理能力。

这也可以解释为什么o1这么贵,因为很多时候,你问一个问题,他会将这个问题反复思考(思考的过程都会消耗tokens,不显示给用户罢了)

在技术报告这里其实OpenAI已经展示了怎么实现的

学习推理与 LLMs | OpenAI — Learning to Reason with LLMs | OpenAI

在第一个demo中,对比了4o和o1在解码的过程

可以点击右侧打开思维链条

你会发现非常有趣,就是o1好像在和自己聊天一样,他会不断的向自己提问,然后证明自己的问题是错误的或者是正确的,一步一步向后推进。

3 还没有达到上界?

现在最可怕的是,他其实还没有达到瓶颈期。

可以看报告中放出的这张图
在这里插入图片描述

可以看到随着训练时间或者测试时间的加长,准确率依然稳步上升。

有训练过模型的朋友可能知道,训练模型过程中,一般来说,最痛苦的就是准确率很快就达到瓶颈了(往往呈现先升后平),而像上图这样优美的上升曲线简直就是炼丹人的最爱。

那你可能会问,既然增加训练时间o1的性能还在上升,为什么OpenAI不继续增加训练时间看看他最终的效果?

当然,我不是内部人员我也不知道

但我大概可以猜测出,就是训练时间太长太长了。

如果你注意到横轴是log scale即对数尺度就知道了,他这个横轴时间是取了对数的,所以要想提高模型性能,你的训练时间就得指数增加,就已经不是普通人训练几小时甚至几天了,可能是按月或者年了。

这是个好消息也是个坏消息。

好消息是,模型训练依然没有到达瓶颈,OpenAI又一次证明了可能性,人们还是有机会训练出更加智慧更加聪明的AI

坏消息是,训练一次模型的成本指数增加,无论是时间成本还是显卡成本

4 思考

看完还是觉得很牛逼。

思维链还是没变,只不过原本是人类引导模型去一步一步思考,现在变成了通过强化学习让模型自己就可以一步一步反思思考。

AI技术发展我觉得不可避免

但说实话其实我真正担心的是

将这些技术用在国防,科学发现而产生的质的推进。

从而导致国与国的差异更加增大

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

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

相关文章

(done) 声音信号处理基础知识(6) (How to Extract Audio Features)

参考:https://www.youtube.com/watch?v8A-W1xk7qs8&t2s 先复习之前分类的声学特征 时域特征流水线 如下是 441Khz 下一个采样点播放的时间。这比人类耳朵分辨率(10ms)还低。 所以,把多个采样点组合成一个 frame 的原因有,这是一个人…

布草洗涤必备4张表-———未来之窗行业应用跨平台架构

一、洗涤厂客户月度报表 二、大酒店楼层布草月度统计报表 三、职员月度报表 四、司机当日统计报表 五、阿雪技术观 拥抱开源与共享,见证科技进步奇迹,畅享人类幸福时光! 让我们积极投身于技术共享的浪潮中,不仅仅是作为受益者&a…

Docker实践——天池篇

参考零基础入门Docker-cuda练习场_学习赛_天池大赛-阿里云天池的赛制 (aliyun.com) ​ 在Docker零基础入门-CSDN博客中我已经安装了docker,现在开始创建自己的镜像仓库。 1. 开通阿里云容器镜像服务(镜像仓库) 进入容器镜像服务 (aliyun.com) 1.1. 创建个人实例 点击“…

Elasticsearch导出导入数据

1.概念回顾 2.基础操作 展示详细信息 GET:http://127.0.0.1:9200/_cat/indices?v Java代码将文件导入到ES package com.Graph.medicalgraph;import org.apache.http.HttpHost; import org.elasticsearch.action.bulk.BulkRequest; import org.elasticsearch.act…

17_Python的生成器

生成器(Generator) 生成器(Generator)是Python中一种特殊的迭代器,它允许你在需要时才计算和产生值,而不是一次性生成整个序列。生成器使用yield语句来逐个产生值,而不是像迭代器那样实现__ite…

全球贸易中的关键标识符:DUNS、GLN及其他ID在EDI中的应用

在电子数据交换(EDI)中,识别交易伙伴的唯一标识符对于确保数据准确传输和处理至关重要。不同的企业标识符在EDI的不同场景中发挥着重要作用,其中最常见的包括DUNS(数据通用编号系统)、GLN(全球位…

【Java笔记】第12章:常用类

1. Object类2. 包装类3. String类 上期回顾:【Java笔记】第11章:内部类 个人主页:C_GUIQU 归属专栏:【Java学习】 1. Object类 Object:位于java.lang包中,是所有类的父类(直接父类/间接父类)。…

移动硬盘‘需格式化‘困境:原因剖析、恢复策略与预防之道

困境直击:移动硬盘为何需格式化才能访问? 在数字化时代,移动硬盘作为数据存储与传输的重要工具,其稳定性与可靠性直接关系到用户数据的安全。然而,不少用户在使用过程中遭遇了“移动硬盘需要格式化才能打开”的尴尬境…

【Linux】进程概念-1

文章目录 1.本节重点2. 冯诺依曼体系结构3.操作系统(Operator System)3.1 概念3.2 设计OS的目的3.3 定位3.4 如何理解“管理”3.5 总结3.6 系统调用和库函数概念3.7 承上启下 4. 进程4.1 基本概念4.2 描述进程——PCB4.3 通过系统调用获取进程标示符4.4 …

C语言实现常见的数据结构

栈 栈是一种后进先出&#xff08;LIFO, Last In First Out&#xff09;的数据结构 #include <stdio.h> #include <stdlib.h>#define MAX 100typedef struct {int data[MAX];int top; } Stack;// 初始化栈 void init(Stack *s) {s->top -1; }// 判断栈是否为空…

黄酮类化合物及其衍生物生物合成的进展:构建酵母细胞工厂的系统策略-文献精读50

Advances in Flavonoid and Derivative Biosynthesis: Systematic Strategies for the Construction of Yeast Cell FactoriesCli 黄酮类化合物及其衍生物生物合成的进展&#xff1a;构建酵母细胞工厂的系统策略 摘要 黄酮类化合物是一类重要的天然多酚化合物&#xff0c;具有…

240922-MacOS终端访问硬盘

A. 最终效果 B. 操作步骤 在macOS中&#xff0c;可以通过命令行使用Terminal访问硬盘的不同位置。你可以按照以下步骤操作&#xff1a; 打开终端&#xff08;Terminal&#xff09;&#xff1a; 在应用程序中打开终端&#xff0c;或者使用 Spotlight 搜索“Terminal”来启动。 …

EnvironmentError: [Errno 28] No space left on device - 完美解决方法

&#x1f6a8;EnvironmentError: [Errno 28] No space left on device - 完美解决方法&#x1f4a1; &#x1f6a8;EnvironmentError: [Errno 28] No space left on device - 完美解决方法&#x1f4a1;摘要引言正文1. 错误解析&#xff1a;为什么会出现“No space left on dev…

线程池执行流程以及拒绝策略小结

线程池是一个用来创建、管理线程的工具&#xff0c;线程池内部维护了若干个线程&#xff0c;没有任务的时候&#xff0c;这些线程都处于等待空闲状态。如果有新的线程任务&#xff0c;就分配一个空闲线程执行。如果所有线程都处于忙碌状态&#xff0c;线程池会创建一个新线程进…

Linux 5.0在start_kernel之前做了什么事?(以aarch64为例)

目录 引言汇编启动&#xff01;&#xff01;&#xff01;细节剖析 引言 之前在研究Linux内核源码的时候总是找不到关于这部分源码的相关剖析&#xff0c;要么也是模棱两可的&#xff0c;也有一些比较专业的代码分析&#xff0c;不过比较分散&#xff0c;感觉大家都不太喜欢这部…

云计算第四阶段---CLOUD Day7---Day8

CLOUD 07 一、Dockerfile详细解析 指令说明FROM指定基础镜像&#xff08;唯一&#xff09;RUN在容器内执行命令&#xff0c;可以写多条ADD把文件拷贝到容器内&#xff0c;如果文件是 tar.xx 格式&#xff0c;会自动解压COPY把文件拷贝到容器内&#xff0c;不会自动解压ENV设置…

【Godot4.3】点数据简易表示法和Points2D

概述 在构造多点路径时我们会用到PackedVector2Array&#xff0c;并使用Vector2()来构造点。在手动创建多点数据时&#xff0c;这种写法其实很难看&#xff0c;有大量重复的Vector2()&#xff0c;比如下面这样&#xff1a; var points [Vector2(100,100),Vector2(200,200),V…

项目扩展二:消息拉取功能的实现

项目扩展二&#xff1a;消息拉取功能的实现 一、回顾一下消息推送功能是如何实现的二、设计消息拉取功能1.服务器如何处理2.定义Request和Response1.定义Request2.proto文件 三、服务器实现消息拉取1.业务模块的实现&#xff1a;信道模块2.消费者管理模块实现O(1)获取消费者1.目…

C++迭代器 iterator详解

目录 什么是迭代器 迭代器的类型 迭代器的用法 三种迭代器 范围for 什么是迭代器 它提供了一种访问容器&#xff08;如列表、集合等&#xff09;中元素的方法&#xff0c;而无需暴露容器的内部表示。迭代器使得程序员能够以统一的方式遍历不同的数据结构&#xff0c;而无需…

JVM的基本概念

目录 一、JVM的内存划分 二、JVM的类加载过程 三、JVM的垃圾回收机制&#xff08;GC&#xff09; 四、分代回收 一、JVM的内存划分 一个运行起来的Java进程&#xff0c;就是一个Java虚拟机&#xff0c;就需要从操作系统中申请一大块内存。申请的内存会划分为不同的区域&…