草庐IT

田渊栋:关于GPT-4的一些感想

新智元 2023-03-28 原文
OpenAI昨天发布了GPT-4,试用了一下确实很不错。

在我主要关心的故事生成方面,与ChatGPT生成出来的故事相比,GPT-4文笔更佳细节更多,更擅长生动具体的描绘,情节也开始出现一些有趣的转折。当然,ChatGPT有的问题,比如说缺乏整体布局谋篇能力,角色不突出,叙事展开比较无聊,续写段落会很快归于一个平庸的结尾等等,在GPT-4上面仍然存在。

从它的性能报告上来看,与GRE verbal接近满分相比,GRE写作只有4分,大学预修英语写作也只有2分(3分及格),而且从GPT-3到4没有进步,不知道是不是和这些问题有关联。


但不管怎么说,GPT-4已经能帮我们干很多日常工作了。自从2013年深度学习开始爆发以来,仅仅过了十年,我们就有了如此强力的工具,其进化速度可以说是超出想象。

2017年我在为什么有些学数学的看不惯甚至鄙视 Deep Learning?这个回答里面写了一些大胆的猜测,比如说“漫漫长夜里瞎摸,太阳还没有露头”,现在看起来这些预测还是大体正确的,只是想不到,这一天会那么快到来。

一个技术,一旦变成像微积分一样的通用工具,那接下来带来的巨大变革,是可以预期的。

如果再把眼光放得长远些,将来会发生什么事呢?

我在2020年左右也有一些思考,放在自己的科幻小说里了。总的来说,如果这样的趋势发展到极致,再加上连实物产品的制造都可以就地取材完全自动化,那最后的结果就是「所思即所得」:只要能构思出一个东西,它就会以极低的成本出现在自己的面前。

大部分重复性劳动,只要可以被机器无限制复制,其价值就会降到近乎为零,成为和水和空气一样无所不在的公共品。

在这种条件下,「独一无二」就会成为大家所珍视的价值和意义。也许以后,判断人才的主要因素,不再是完成学位,考试过关,而是看个人的经历和成就。

「同样的目标下比别人做得更好」是一种独一无二,「去往从未有人去过的方向」也是一种独一无二。这不仅包括同行认可的学术成就,比如解开无人能解的难题,开创并探索一个新的学术方向,更包括独一无二的经验、见解、思考方式,乃至三观,比如说一个拄着拐杖徒步探险过南极的程序员,他/她对这个世界会有什么样的观点,见解和感悟?一个曾自制火箭去往月球但中途失控,又奇迹被救的历史系学生,将在自传里如何讲述这段经历?

这些与个人特质紧密结合的话语权,会让每个人都能占据人类社会中的一个独特生态位,成为「人之为人」最终的定海神针。即便是将来意识能够上传,数字孪生能够实现,这种独特人格仍然是无法复制的——完全相同的个体,只要变成了两个并开始各自接受不同的外界信号刺激,他们内部的状态就会因更新而不同,轨迹就会开始分叉,从而再次变得独一无二。

总的来说,每个人都通过自身的「道」来证明自己的选择,又因为过去的选择,来累计自己独一无二的特质。无法预先判断谁比谁更优秀,因为计算这个判定函数本身,就需要个体践行自己的道路。而无数的,坚持各自方向的人聚在一起,就会不断涌现出各种奇妙的想法,有一些被实践证明正确的,就会影响到他人并且吸引到追随者。而包含这些所有个体的,一个多元包容的世界,就会充满前进的动力。

扯远了。

对于研究者们而言,GPT-4的出现意味着什么呢?

我们有两种极端的选择,其一是关起门来,不听不看,沿用旧的思维惯性去构思研究路线,继续发表下一篇文章;也可以从此百分百抛弃以前的研究思路,撕掉所有课本,相信算力为王,大模型大数据就是一切。

我觉得这两种态度都不可取。研究的范式要有变化,不再是发现特定的知识,而是研究模型学习的机制,寻求其学习能力的本源。比如说通过海量的数据训练,现有的模型可以自动学会很多概念。

但模型是如何学会这个概念的,为什么大模型会学得更快更好,它怎样从数据中被发现,被模型抓住并且在训练中不断被强化?高级的概念是如何形成的?现有的模型如何抓住这些概念,以什么样的机制抓住它们?我觉得这些可能是在长远上来看,真正有意义的基础研究方向,也是把”人工智能“这个玄学,真正转化成科学的最终出口。

当然了,这些应该说是几十年的尺度上看的,要做这些研究,需要大量的基础知识,充足的耐心,擅长接受超出自己认知范围内的新生事物,又能把它融入原本的工作流和研究思路中去。

这可以算是自己在研究上独一无二的「定海神针」吧,希望能够继续走下去。

有关田渊栋:关于GPT-4的一些感想的更多相关文章

  1. ruby-on-rails - 如何生成传递一些自定义参数的 `link_to` URL? - 2

    我正在使用RubyonRails3.0.9,我想生成一个传递一些自定义参数的link_toURL。也就是说,有一个articles_path(www.my_web_site_name.com/articles)我想生成如下内容:link_to'Samplelinktitle',...#HereIshouldimplementthecode#=>'http://www.my_web_site_name.com/articles?param1=value1¶m2=value2&...我如何编写link_to语句“alàRubyonRailsWay”以实现该目的?如果我想通过传递一些

  2. ruby - 找一些句子 - 2

    我想找到在某些文本中找到一些(让它是两个)句子的好方法。什么会更好-使用正则表达式或拆分方法?你的想法?应JeremyStein的要求-有一些例子示例:输入:ThefirstthingtodoistocreatetheCommentmodel.We’llcreatethisinthenormalway,butwithonesmalldifference.IfwewerejustcreatingcommentsforanArticlewe’dhaveanintegerfieldcalledarticle_idinthemodeltostoretheforeignkey,butinthis

  3. ruby-on-rails - 关于 Ruby 的一般问题 - 2

    我在我的rails应用程序中安装了来自github.com的acts_as_versioned插件,但有一段代码我不完全理解,我希望有人能帮我解决这个问题class_eval我知道block内的方法(或任何它是什么)被定义为类内的实例方法,但我在插件的任何地方都找不到定义为常量的CLASS_METHODS,而且我也不确定是什么here,并且有问题的代码从lib/acts_as_versioned.rb的第199行开始。如果有人愿意告诉我这里的内幕,我将不胜感激。谢谢-C 最佳答案 这是一个异端。http://en.wikipedia

  4. ruby block 并从 block 中返回一些东西 - 2

    我正在使用ruby​​1.8.7。p=lambda{return10;}deflab(block)puts'before'putsblock.callputs'after'endlabp以上代码输出为before10after我将相同的代码重构到这里deflab(&block)puts'before'putsblock.callputs'after'endlab{return10;}现在我收到LocalJumpError:意外返回。对我来说,这两个代码都在做同样的事情。是的,在第一种情况下我传递了一个过程,在第二种情况下我传递了一个block。但是&block将该block转换为pro

  5. ruby - 我怎样才能更好地了解/了解更多关于 Ruby 的知识? - 2

    按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。我最近开始学习Ruby,这是我的第一门编程语言。我对语法感到满意,并且我已经完成了许多只教授相同基础知识的教程。我已经写了一些小程序(包括我自己的数组排序方法,在有人告诉我谷歌“冒泡排序”之前我认为它非常聪明),但我觉得我需要尝试更大更难的东西来理解更多关于Ruby.关于如何执行此操作的任何想法?

  6. ruby - 关于 Ruby 中 Dir[] 和 File.join() 的混淆 - 2

    我在Ruby中遇到了一个关于Dir[]和File.join()的简单程序,blobs_dir='/path/to/dir'Dir[File.join(blobs_dir,"**","*")].eachdo|file|FileUtils.rm_rf(file)ifFile.symlink?(file)我有两个困惑:首先,File.join(@blobs_dir,"**","*")中的第二个和第三个参数是什么意思?其次,Dir[]在Ruby中有什么用?我只知道它等价于Dir.glob(),但是,我对Dir.glob()确实不是很清楚。 最佳答案

  7. ruby - 如果键存在,向散列值添加一些东西? - 2

    我在Ruby中有一个哈希:hash=Hash.new里面有一些键值对,比如说:hash[1]="One"hash[2]="Two"如果散列包含键2,那么我想将“Bananas”添加到它的值中。如果散列没有键2,我想创建一个新的键值对2=>"Bananas"。我知道我可以通过首先使用has_key?检查散列是否具有key2来做到这一点,然后采取相应的行动。但这需要一个if语句和不止一行。那么是否有一种简单、优雅的单行代码可以实现这一目标? 最佳答案 这个有效:hash[2]=(hash[2]||'')+'Bananas'如果您希望所有

  8. elasticsearch源码关于TransportSearchAction【阶段三】 - 2

    1.回顾.TransportServicepublicclassTransportServiceextendsAbstractLifecycleComponentTransportService:方法:1publicfinalTextendsTransportResponse>voidsendRequest(finalTransport.Connectionconnection,finalStringaction,finalTransportRequestrequest,finalTransportRequestOptionsoptions,TransportResponseHandlerT>

  9. 关于Qt程序打包后运行库依赖的常见问题分析及解决方法 - 2

    目录一.大致如下常见问题:(1)找不到程序所依赖的Qt库version`Qt_5'notfound(requiredby(2)CouldnotLoadtheQtplatformplugin"xcb"in""eventhoughitwasfound(3)打包到在不同的linux系统下,或者打包到高版本的相同系统下,运行程序时,直接提示段错误即segmentationfault,或者Illegalinstruction(coredumped)非法指令(4)ldd应用程序或者库,查看运行所依赖的库时,直接报段错误二.问题逐个分析,得出解决方法:(1)找不到程序所依赖的Qt库version`Qt_5'

  10. ruby - 使用 gmail gem 跟踪一些电子邮件 - 2

    我正在使用gmailgem发送电子邮件,我需要跟踪这些电子邮件。我该怎么做?我正在尝试搜索带有message_id的电子邮件,但它会从我的收件箱中提取所有电子邮件,而我只想要特定电子邮件的回复。这是我的实际代码:*使用message_id保存电子邮件*mail=gmail.deliver(email)Email.create(:message_id=>mail.message_id,:from=>user.email,:to=>annotation.to,:body=>annotation.content,:title=>annotation.title,:annotation=>an

随机推荐