prev next

贝博网页登录版.人工智能和编程的终章

发布时间:2024-05-08 17:30:04 来源:ballBET贝博BB艾弗森 作者:贝博艾弗森体育网页版
  • 咨询热线:0754-89933008
  • 产品详情

贝博网页登录版

  随着人工智能以及大型语言模型的崛起,人工编的来到了终章了吗?作者通过对 ChatGPT 的一些小测试,来检验人工智能是否真的可以取代人工编写代码,最后得出大型语言模型对人工智能以及计算机科学的影响。‍‍‍‍‍‍‍‍‍‍‍‍‍‍

  我相信 “编写程序” 的传统想法正在走向消亡,事实上,对于除非常专业的应用程序之外的所有应用程序,正如我们所知,大多数软件编程都将被经过训练的人工智能系统所取代。在一些只需要 “简单” 程序的情况下(毕竟,并不是所有东西都需要在 GPU 集群上运行的数千亿个参数的模型),这些程序本身将直接由人工智能生成,而不是手工编码 。

  几周后,在一次演讲中,威尔士扩大了他的死亡观察范围。走向坟墓的不仅仅是编程艺术,还有整个计算机科学。所有计算机科学都 “注定要失败” 。(下图是演讲的屏幕截图。)

  这些悲伤消息的传递者似乎并没有悲痛欲绝。尽管 Welsh 已经成为一名计算机科学教师和实践者(在哈佛、谷歌、苹果和其他地方),但他似乎渴望继续下一步。“无论如何,写代码很糟糕!” 他宣称。

  我自己对后编程未来的前景并不那么乐观。首先,我持怀疑态度。我认为我们还没有跨过机器学会自己解决有趣的计算问题的门槛。我认为我们还没有接近这一点,或者正朝着正确的方向前进。

  此外,如果事实证明我的观点是错误的,我的冲动不是默许而是。一方面,我不欢迎我们的新人工智能霸主。即使他们被证明是比我更好的程序员,我仍然会继续使用我的代码编辑器和编译器,谢谢。“编程很糟糕?” 对我来说,它长期以来一直是我快乐和启迪的源泉。

  我发现它也是理解世界的一个有价值的工具。在我能够将一个想法简化为代码之前,我永远不确定我是否理解了它。为了从这种学习经验中受益,我必须实际编写程序,而不仅仅是说一些魔法词并从阿拉丁的人工智能灯中召唤一个精灵。

  可编程机器可以编写自己的程序的想法深深植根于计算历史。Charles Babbage 早在 1836 年讨论他的分析机计划时就暗示了这种可能性。当 Fortran 于 1957 年推出时,它的正式名称是“FORTRAN 自动编码系统”。它的既定目标是让计算机“为自己编码问题并生成与人类编码员一样好的程序(但没有错误)”。

  Fortran 并没有消除编程技巧(或错误),但它使过程变得不那么乏味。后来的语言和其他工具带来了进一步的改进。而全自动编程的梦想从未破灭。机器似乎比大多数人更适合编程。计算机有条不紊、受规则约束、挑剔且注重字面意思——所有这些特征(无论正确与否)都与高手程序员联系在一起。

  但讽刺的是,现在准备承担编程任务的人工智能系统却奇怪地不像计算机。他们的性格更像Deanna Troi,而不是 Commander Data。逻辑一致性、因果推理和对细节的仔细关注并不是他们的强项。当他们似乎在思考深刻的想法时,他们有不可思议的辉煌时刻,但他们也有可能遭遇惊人的失败——公然、厚颜无耻的理性失误。他们让我想起一句古老的俏皮话:人都会犯错,而真正把事情搞砸则需要计算机。

  最新的人工智能系统被称为大语言模型(LLM)。与大多数其他近期人工智能发明一样,它们建立在人工神经网络之上,这是一种受大脑结构启发的多层结构。网络的节点类似于生物神经元,节点之间的连接起着突触的作用,突触是信号从一个神经元传递到另一个神经元的连接点。训练网络可以调整连接的强度或权重。在语言模型中,训练是通过向网络强制输入大量文本来完成的。该过程完成后,连接权重会对训练文本的语言特征的详细统计数据进行编码。在最大的模型中,权重数量为 1000 亿个或更多。

  在这种情况下,模型一词可能会产生误导。这个词并不是指比例模型或微型模型,如模型飞机。相反,它指的是预测模型,就像科学中常见的数学模型一样。正如大气模型预测明天的天气一样,语言模型预测句子中的下一个单词。

  最著名的大型语言模型是 ChatGPT,它于去年秋天向公众发布,引起了极大的关注。缩写 GPT Gee Pee Tee:我的舌头不断地被这三个押韵的音节绊倒。其他 AI 产品的名字很可爱,比如Bart、Claude、Llama;我希望我能以同样的精神重命名 GPT。我会把它称为 Geppetto,它与辅音的模式相呼应。GPT 代表 Generative Pre-Trained Transformer (生成式预训练变压器);系统的聊天版本配备了对话式人机界面。ChatGPT 由 OpenAI 开发,该公司成立于 2015 年,旨在将人工智能从少数富有的科技公司的控制中解放出来。OpenAI 成功地完成了这一使命,以至于它已经成为一家富有的科技公司。

  ChatGPT 因其用词方式、能说会道、流利的英语和其他语言而既令人钦佩又令人震惊。该聊天机器人可以模仿著名作家、讲笑话、写情书、翻译诗歌、写垃圾邮件、“帮助”学生完成家庭作业,以及编造错误信息以进行恶作剧。无论好坏,这些语言能力代表了惊人的技术进步。曾经难以构建一个可理解的句子的计算机突然变成了能说会道的文字大师。GPT 所说的可能是真的,也可能不是,但它几乎总是措辞得体。

  ChatGPT 发布后不久,我惊讶地发现它的语言掌握扩展到了编程语言。该模型的训练集似乎不仅包括多种自然语言,还包括来自 GitHub 等公共存储库的大量程序源代码。基于此资源,GPT 能够根据命令编写新程序。我发现这很令人惊讶,因为计算机对它们的输入是如此挑剔和无情。尽管电脑有时存在诸如拼写错误之类的小错误,人类阅读者仍会努力理解一句话。但如果计算机得到的输入,哪怕只有一个逗号或不匹配的括号,它就会呕吐乱码。具有潜在统计或概率性质的语言模型似乎不太可能维持超过几行所需的精度。

  我在这件事上又错了。大型语言模型的一项关键创新,即注意力机制,解决了这个问题。当我开始自己使用 ChatGPT 进行实验时,我很快发现它确实可以生成没有粗心语法错误的程序。

  当你坐下来与机器聊天时,你立即会面临一个尴尬的问题:“我们该聊什么?” 我正在寻找一个可以公平衡量 ChatGPT 编程能力的主题。我想要一个可以通过计算手段解决的问题,但这不需要做太多算术,而这被认为是大型语言模型的弱点之一。我选择了 Lewis Carroll 150 年前发明的字谜游戏,并由 Donald E. Knuth 在 20 世纪 90 年代进行了深入分析。

  在下面的文字记录中,我这边的每次交换都被标记为 BR;玫瑰花结是 OpenAI 徽标,指定 ChatGPT 的响应。

  当我看到这些句子在屏幕上展开时——聊天机器人逐字逐句地打出它们,有点不稳定,好像在停下来整理思绪——我立即被系统的英语能力所震惊。GPT 以简单、有力的散文形式列出了单词梯子的所有基本特征:这是一个游戏或谜题,你通过一次更改一个字母从一个单词到另一个单词,梯子的每个梯级必须是一个英文单词,目标 就是找到从起始词到目标词的最短可能序列。我自己无法更好地解释它。最有帮助的是 COLD - WARM 的工作示例。

  给人留下语言能力印象的不仅仅是单个句子。句子按段落组织,段落串在一起形成连贯的话语。太棒了!

  同样值得注意的是机器人处理模糊和草率输入的能力。我最初的查询被表述为是或否问题,但 ChatGPT 正确地将其解释为请求:“告诉我你对单词阶梯的了解。” 我的第二条指令忽略了任何印刷提示,表明 LEAD 和 GOLD 应被理解为文字,而不是金属。聊天机器人本来有权向我提供炼金配方,但它却提供了缺少的引号。

  然而,抛开所有这些语言和修辞的复杂性,我真正想测试的是该程序解决单词阶梯问题的能力。上面文字记录中的两个示例都可以在网络上找到,因此它们很可能出现在 ChatGPT 的训练数据中。换句话说,大型语言模型可能只是记住了解决方案,而不是构建它们。于是我提交了一个更艰巨的作业:

  乍一看,ChatGPT 似乎再次取得了胜利,解决了我确信它以前从未遇到过的难题。但仔细看看。MARSH - MARIS 需要两个字母替换,PARIL - APRIL 也是如此。MARIS 和 PARIL 作为“有效词”的地位也可能受到质疑。我已投诉:

  哇!该机器人提供了油腔滑调的忏悔和道歉,但“更正”的词梯比以往任何时候都更加疯狂。看起来我们正在和鹅妈妈童谣中的矮胖子玩拼字游戏,并且还宣称 “我说 APRCHI 是一个词,他就是一个词!” 然后分散所有的瓷砖。

  这并不是一次单独的、独一无二的失败。我用 ChatGPT 解决字梯的所有尝试都偏离了轨道,尽管并不总是以同样的方式。在一个案例中,我要求提供从 REACH 到 GRASP 的阶梯。AI专家提出了这个解决方案:

  到目前为止我展示的所有结果都是用 ChatGPT 3.5 版本记录的。我还尝试了 3 月份推出的新改进版本 4.0。更新后的机器人散发出同样和蔼可亲的自信,但我担心它也有同样的倾向,陷入不经意的语无伦次:

  梯子一开始很好,有四个步骤,遵循所有规则。但随后人工智能就会走神。从 PLAGE 到 PAGES 需要四个字母替换。然后是 PASES,它不是一个单词(据我所知),并且无论如何这里都不需要,因为序列可以直接从 PAGES 转到 PARES。更多的愚蠢随之而来。尽管如此,我还是很欣赏关于 PLAGE 的信息说明。

  最近我也有机会尝试 Llama 2,一个由 Meta(Facebook 人)出版的 LLM。尽管这个模型是独立于 GPT 开发的,但它似乎有一些相同的心理怪癖,例如制定规则然后无视它们。当我要求一个连接 REACH 和 GRASP 的阶梯时,Llama 2 提出了这样的建议:

  Matt Welsh 提到了构建在大型语言模型之上的计算系统的两种操作模式。到目前为止,我们一直在我所说的预言模式下工作,在这种模式下,你提出一个问题,计算机就会返回一个答案。你提供一对单词,系统会找到一个连接它们的梯子,并执行到达那里所需的任何计算。您交付一个装满财务记录的鞋盒,计算机填写您的 1040 表格。您编译历史气候数据,计算机预测 2050 年的全球平均气温。

  人工智能预言机的替代品是人工智能代码猴子。在第二种模式下,机器不会直接回答你的问题或执行你的计算;相反,它会创建一个可以在传统计算机上运行的程序。您从机器人返回的不是字梯,而是生成字梯的程序,用您选择的编程语言编写。您无需填写完整的纳税申报表,而是获得报税软件;气候模型代替了温度预测。

  请注意,这是一个基本演示,对于更大的字梯或更复杂的场景,可能需要额外的优化或算法,例如广度优先搜索。

  同样,粗略地浏览一下输出表明性能是成功的。ChatGPT 的 JavaScript 似乎和英语一样流利。它知道 if、while 和 for 语句的语法,以及所有挑剔的标点符号和括号规则。机器生成的程序似乎将所有这些组件组合在一起以完成指定的任务。还要注意大量的解释性评论,这肯定是为了我们的利益,而不是为了它。同样,描述性变量名称(currentWord、newWord、ladder)。

  ChatGPT 还主动包含了在特定示例( MARCH 到 APRIL )上运行程序的说明,并且它打印出了结果,该结果与我们之前的交流中给出的答案相匹配。该输出是通过实际运行程序生成的吗?ChatGPT 并没有明确说明,但它确实声称,如果您按照指示运行该程。

0754-836308890754-83630889
公司邮箱info@rhlcd.com
在线咨询在线咨询