草庐IT

再一次改变“AI”世界 GPT-4千呼万唤始出来

贾桂鹏 2023-03-28 原文

近段时间,人工智能聊天机器人ChatGPT刷爆网络,网友们争先恐后去领略它的超高情商和巨大威力。参加高考、修改代码、构思小说……它在广大网友的“鞭策”下不断突破自我,甚至可以用一整段程序,为你拼接出一只小狗。而这些技能只是基于GPT-3.5开发而来,在3月15日,AI世界再次更新,最新版本的GPT-4也被OpenAI发布了出来。

与之前相比,GPT-4不仅展现了更加强大的语言理解能力,还能够处理图像内容,在考试中的得分甚至能超越90%的人类。那么,如此“逆天”的GPT-4还具有哪些能力?它又是如何炼成的呢?

“逆天”的GPT-4

在发布了GPT-4后,OpenAI官网一度发生拥堵,很多用户在社交媒体里面表示他们立刻订阅了Plus服务。GPT-4在发布后,“GPT-4”这一词条迅速登上美国、日本等地区热榜,也登上了国内的微博热搜榜、抖音热榜社会榜等。

据OpenAI官方介绍,GPT-4是一个大型的多模式模型,可以接收图像和文本输入,输出文本。虽然它在许多现实世界场景中的能力不如人类,但在各种专业和学术基准上表现出人类水平的性能。比如GPT-4可以通过模拟SAT(美国学术能力评估测验),并取得前10%的成绩,而GPT-3.5的成绩则在最后10%之列。

我们看到,在官方演示视频中,Open AI总裁兼联合创始人Greg Brockman还让用户先睹为快,了解最新版系统的图像识别功能,该系统尚未公开,仅由一家名为Be My Eyes的公司测试。该功能将允许 GPT-4 分析和响应与提示一起提交的图像,并根据这些图像回答问题或执行任务。“GPT-4 不仅仅是一种语言模型,它还是一种视觉模型,”Brockman表示,“它可以灵活地接受任意穿插图像和文本的输入,有点像文档。”

在演示的另一个时刻,Greg Brockman向GPT-4提交了一张手绘和初步网站草图的照片,系统创建了一个工作基于绘图的网站。

  业界认为,ChatGPT-4比GPT-3强大571倍,最受益于这一最新成果的三大职业就是作家、市场营销人员和创业者。根据对两者比较,业界人士还指出GPT-4的其他优势,如训练数据更多、答复更加多样性和有创意性以及反应所需时长更短,一秒即可。

我们认为,这种升级体现的一个主要趋势就是多模态,模型变得更加复杂庞大,可以将不同类型的数据放入同一模型,对我们周边的环境和真实世界做出更好的理解。

此外,在多语种方面,GPT-4也体现出优越性。在测试的26种语言中,GPT-4在24种语言方面的表现均优于GPT-3.5等其他大语言模型的英语语言性能,其中包括部分低资源语言如拉脱维亚语、威尔士语等。在中文语境中,GPT-4能够达到80.1%的准确性。

不过,OpenAI也在官方网站上给出了GPT-4存在的不足,其仍然存在包括社会偏见、捏造事实、对抗生成等已知限制。OpenAI对此表示,随着社会对AI模型的接受,将增加透明度,鼓励并促进用户教育和更广泛的人工智能素养,并致力于扩大人们在培养AI模型方面的输入途径。

GPT-4可以商业化了

随着GPT-4的发展,我们发现它的能力虽然在很多现实场景中不如人类,但在各种专业和学术基准测试中表现出了与人类相当的水平,这也意味着,GPT-4确实在商业化上更进一步了。

此前,GPT-3在专业领域的表现一直被人们认为差强人意,在美国的律师资格考试Uniform Bar Exam (MBE+MEE+MPT)中,GPT-3.5只能排在倒数10%,而GPT-4的成绩则已经可以排到前10%。GPT-4在专业领域的能力实现了巨大提升,在一些专业领域已经开始逐渐接近甚至超过人类,这给GPT-4在很多ToB商业领域提供了更多可能性。

比如专业技能辅助工具,知识检索类的应用,职业教培辅导等领域,GPT-4带来的能力可能将会是革命性的。

GPT-4发布之后,微软在第一时间表示:“如果你在过去五周内的任何时候使用过新的Bing预览版,你就已经提前了解了OpenAI最新模型的强大功能”。这表示New Bing早已经用上了GPT-4,在过去几周,很多人体验的必应就是GPT-4加强过的,仅仅开放使用了文字能力而已。虽然微软没有用全球首发的字眼来描述,毕竟微软在OpenAPI上已经投入了130亿美元(约合人民币900亿元),换来的这样的待遇也是情理之中。

除了微软的New Bing外,目前还有多家公司将GPT-4搭载到他们的产品中,包括语言学习工具软件多邻国(Duolingo)、帮助视障用户的软件BeMyEyes、移动支付公司Stripe、国际性金融服务公司摩根士丹利等。

但不得不承认的是,虽然GPT-4大幅拓宽了大模型可能落地的商业化场景,但算力、研发成本,仍被很多人认为是大模型落地过程中很难跨过的障碍。毕竟大模型的研发、算力支出在目前看来高得吓人,此前ChatGPT公开的单次训练、日常运营开支都是以百万美元为单位的,短期内想要商用可能很难控制成本。

GPT发展史

众所周知,ChatGPT是OpenAI公司研发的一个大型自然语言处理模型,但很多人不知道,它的发展历程可以追溯到2015年。2015年,OpenAI由特斯拉的马斯克、Sam Altman及其他投资者共同创立,旨在通过先进的人工智能技术推动人工智能领域的发展。而马斯克则在2018年时因公司发展方向分歧而离开。

此前,OpenAI因推出 GPT系列自然语言处理模型而闻名。从2018年起,OpenAI就开始发布生成式预训练语言模型GPT(Generative Pre-trained Transformer),可用于生成文章、代码、机器翻译、问答等各类内容。

每一代GPT模型的参数量都爆炸式增长,2019年2月发布的GPT-2参数量为15亿,在2020年5月,当OpenAI发布了GPT-3,它已经是世界上最先进的自然语言生成模型。GPT-3具有1750亿个参数。

GPT-3出现时,作为一个无监督模型(现在经常被称为自监督模型),几乎可以完成自然语言处理的绝大部分任务,例如面向问题的搜索、阅读理解、语义推断、机器翻译、文章生成和自动问答等等。

而且,该模型在诸多任务上表现卓越,例如在法语-英语和德语-英语机器翻译任务上达到当前最佳水平,自动产生的文章几乎让人无法辨别出自人还是机器,更令人惊讶的是在两位数的加减运算任务上达到几乎100%的正确率,甚至还可以依据任务描述自动生成代码。一个无监督模型功能多效果好,似乎让人们看到了通用人工智能的希望,可能这就是GPT-3影响如此之大的主要原因。

2021年,OpenAI宣布将推出一个新的名称,名为“DALL-E",这是一种能够生成图像的人工智能技术。同时,OpenAI也在研发更加先进的自然语言处理技术。

此后的故事相信大家都很清楚了,2022年底基于GPT-3.5的ChatGPT以光速席卷全球,成为全球最大的“科技明细”,直到现在GPT-4的发布更是登上多国热搜。

写在最后

GPT的未来怎么样?可以预见的是,随着算法技术和算力技术的不断进步,ChatGPT也将会进一步走向更先进功能更强的版本,在越来越多的领域进行应用,为人类生成更多更美好的对话和内容。

也许GPT距离正在的“AI”还有距离,但我们不妨把它当做一个起点,一个全新“AI”时代的起点。

有关再一次改变“AI”世界 GPT-4千呼万唤始出来的更多相关文章

  1. ruby - 使用 Vim Rails,您可以创建一个新的迁移文件并一次性打开它吗? - 2

    使用带有Rails插件的vim,您可以创建一个迁移文件,然后一次性打开该文件吗?textmate也可以这样吗? 最佳答案 你可以使用rails.vim然后做类似的事情::Rgeneratemigratonadd_foo_to_bar插件将打开迁移生成的文件,这正是您想要的。我不能代表textmate。 关于ruby-使用VimRails,您可以创建一个新的迁移文件并一次性打开它吗?,我们在StackOverflow上找到一个类似的问题: https://sta

  2. ruby - 如何每月在 Heroku 运行一次 Scheduler 插件? - 2

    在选择我想要运行操作的频率时,唯一的选项是“每天”、“每小时”和“每10分钟”。谢谢!我想为我的Rails3.1应用程序运行调度程序。 最佳答案 这不是一个优雅的解决方案,但您可以安排它每天运行,并在实际开始工作之前检查日期是否为当月的第一天。 关于ruby-如何每月在Heroku运行一次Scheduler插件?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/8692687/

  3. 世界前沿3D开发引擎HOOPS全面讲解——集3D数据读取、3D图形渲染、3D数据发布于一体的全新3D应用开发工具 - 2

    无论您是想搭建桌面端、WEB端或者移动端APP应用,HOOPSPlatform组件都可以为您提供弹性的3D集成架构,同时,由工业领域3D技术专家组成的HOOPS技术团队也能为您提供技术支持服务。如果您的客户期望有一种在多个平台(桌面/WEB/APP,而且某些客户端是“瘦”客户端)快速、方便地将数据接入到3D应用系统的解决方案,并且当访问数据时,在各个平台上的性能和用户体验保持一致,HOOPSPlatform将帮助您完成。利用HOOPSPlatform,您可以开发在任何环境下的3D基础应用架构。HOOPSPlatform可以帮您打造3D创新型产品,HOOPSSDK包含的技术有:快速且准确的CAD

  4. ruby-on-rails - Rake 任务仅调用一次时执行两次 - 2

    我写了一个非常简单的rake任务来尝试找到这个问题的根源。namespace:foodotaskbar::environmentdoputs'RUNNING'endend当在控制台中执行rakefoo:bar时,输出为:RUNNINGRUNNING当我执行任何rake任务时会发生这种情况。有没有人遇到过这样的事情?编辑上面的rake任务就是写在那个.rake文件中的所有内容。这是当前正在使用的Rakefile。requireFile.expand_path('../config/application',__FILE__)OurApp::Application.load_tasks这里

  5. ruby - 我怎样才能只写一次 "Text"并同时检查 path_info 是否包含 'A' ? - 2

    -if!request.path_info.include?'A'%{:id=>'A'}"Text"-else"Text"“文本”写了两次。我怎样才能只写一次并同时检查path_info是否包含“A”? 最佳答案 有两种方法可以做到这一点。使用部分,或使用content_forblock:如果“文本”较长,或者是一个重要的子树,您可以将其提取到一个部分。这会使您的代码变干一点。在给出的示例中,这似乎有点矫枉过正。在这种情况下更好的方法是使用content_forblock,如下所示:-if!request.path_info.inc

  6. ruby-on-rails - 使用 Ruby 正确处理 Stripe 错误和异常以实现一次性收费 - 2

    我查看了Stripedocumentationonerrors,但我仍然无法正确处理/重定向这些错误。基本上无论发生什么,我都希望他们返回到edit操作(通过edit_profile_path)并向他们显示一条消息(无论成功与否)。我在edit操作上有一个表单,它可以POST到update操作。使用有效的信用卡可以正常工作(费用在Stripe仪表板中)。我正在使用Stripe.js。classExtrasController5000,#amountincents:currency=>"usd",:card=>token,:description=>current_user.email)

  7. ruby - 如何在 Ruby 中只执行一次方法?有静态变量吗? - 2

    我写了一个脚本,其中包含一些方法定义,没有类和一些公共(public)代码。其中一些方法执行一些非常耗时的shell程序。然而,这些shell程序只需要在第一次调用该方法时执行。现在在C中,我会在每个方法中声明一个静态变量,以确保这些程序只执行一次。我怎么能在Ruby中做到这一点? 最佳答案 ruby中有一个成语:x||=y。defsomething@something||=calculate_somethingendprivatedefcalculate_something#somelongprocessend但是如果您的“长时间

  8. ruby - 格式化数字以每隔三位数拆分一次 - 2

    我想在格式化数字时每隔三个字符放置一个空格。根据这个规范:it"shouldformatanamount"dospaces_on(1202003).should=="1202003"end我想出了这段代码来完成这项工作defspaces_onamountthousands=amount/1000remainder=amount%1000ifthousands==0"#{remainder}"elsezero_padded_remainder='%03.f'%remainder"#{spaces_onthousands}#{zero_padded_remainder}"endend所以我

  9. ruby-on-rails - 你如何编写一个只为测试文件执行一次的设置方法? - 2

    我希望有一种方法可以针对每个文件运行一次,而不是针对每个测试运行一次。我已经看到一些对“之前”方法的引用,但似乎不适用于MiniTest。理想情况下,像这样:classMyTest 最佳答案 Before用于minitest使用specdsl时,相当于setup。您可以使用setup,如果您在test_helper.rb文件中使用setup,它将在所有测试之前执行一次。设置也可以在测试类中声明。使用设置,放置一个标志并在第一次更新标志。x=0setupdoifx==0x=x+1puts"Incrementedinx=#{x}"end

  10. ruby - 如何让 Ruby 每 10 分钟运行一次任务? - 2

    我想每10分钟执行一次cron作业,但我的系统只执行1小时。所以我正在寻找一种方法来做到这一点。我看过Timer和sleep但我不确定如何执行此操作,甚至不知道如何实现此操作。 最佳答案 看看http://rufus.rubyforge.org/rufus-scheduler/rufus-scheduler是一个用于调度代码片段(作业)的Rubygem。它了解在特定时间、在特定时间、每x次或仅通过CRON语句运行作业。rufus-scheduler不能替代cron/at,因为它在Ruby内部运行。

随机推荐