首页  >  文章  >  科技周边  >  大型语言模型对编码来说是错误的吗?

大型语言模型对编码来说是错误的吗?

WBOY
WBOY转载
2023-06-05 12:34:281212浏览

当目标是准确性、一致性、精通游戏或找到一个正确答案时,强化学习模型会击败生成式人工智能。

大型语言模型,如GPT-4,令人瞩目,因为它们可以生成高质量、流畅自然的文本,极具说服力。可悲的是,炒作也是如此:微软的研究人员屏气地将微软资助的OpenAI GPT-4模型描述为展示“人工通用智能的火花”。

当然,除非微软指的是产生幻觉的倾向,生成的错误文本肯定是错误的。GPT还不擅长下棋和围棋等游戏,不擅长数学,编写的代码可能有错误和微妙的漏洞。

这并不意味着大型语言模型都是炒作。我们需要一些新的角度来讨论生成式人工智能(GenAI),而不是过分夸大它与其他技术的区别。

正如IEEESpectrum的一篇文章所详述的那样,一些专家,例如OpenAI的IlyaSutskever,认为添加带有人类反馈的强化学习可以消除LLM幻觉。但是其他人,比如Meta的YannLeCun和GeoffHinton(最近从Google退休),认为大型语言模型中更根本的缺陷在起作用。两人都认为,大型语言模型缺乏非语言知识,而非语言知识对于理解语言所描述的潜在现实是至关重要的。

Diffblue公司的CEO Mathew Lodge在一次采访中指出,存在一种更为优秀的解决方案。他说,“小型、快速、运行成本低廉的强化学习模型,在从玩游戏到编写代码的各种任务中,都能轻松击败拥有千亿参数的大型语言模型。”

我们是否在错误的地方寻找人工智能黄金?

Lodge所说的是,生成式人工智能一定有其应用场景,但我们也许正试图将其强行引入不太适合的强化学习领域。以游戏为例。

Levy Rozman, 一位国际象棋大师,发布了一个他与 ChatGPT(聊天式人工智能)对弈的视频。这个模型做出了一系列荒谬和非法的动作,包括捕捉自己的棋子。最好的开源国际象棋软件(Stockfish,它根本不使用神经网络)让ChatGPT在不到10步的时间里击败,因为大型语言模型找不到合法的走法。这证明了大型语言模型远远不能达到通用人工智能的宣传,而这并不是一个孤立的例子。

由于其强化学习算法的驱动,谷歌AlphaGo是当前围棋人工智能中表现最佳的。强化学习的工作原理是为一个问题生成不同的解决方案,尝试它们,使用结果来改进下一个建议,然后重复这个过程数千次以找到最佳结果。

在AlphaGo的例子中,人工智能会尝试不同的走法,并预测这是否是一个好走法,以及它是否有可能从这个位置赢得比赛。它使用反馈来“跟踪”有希望的移动序列,并生成其他可能的移动。其效果是对可能的移动进行搜索。

这个过程被称为概率搜索。虽然招式繁多,你不需要尝试所有,但可以耐心搜索可能找到最佳招式的领域。这对于玩游戏来说非常有效。AlphaGo过去曾击败过围棋大师。AlphaGo并非万无一失,但它目前的表现比当今最好的大型语言模型还要好。

概率与准确性

支持者相信,即使有证据表明大型语言模型的表现明显落后于其他类型的人工智能,它们也会逐渐变得更好。然而,Lodge指出,我们需要理解为什么他们能够在这种任务中表现得更优秀,如果我们认同这个观点。他继续说道,在这个问题上出现困难的原因是,没有人能够准确预测GPT-4对于特定提示的反应会带来怎样的结果。这种模式是人类无法解释的。他认为,这就是“‘即时工程’不存在的原因。”他强调,对于人工智能研究人员来说,证明大型语言模型的“涌现特性”存在也是一场斗争,更不用说预测它们了。

可以说,最好的论证是归纳法。GPT-4在一些语言任务上比GPT-3更好,因为它更大。因此,更大的模型会更好。

Lodge的看法是GPT-4仍需克服GPT-3所面临的挑战,因此存在一个问题。其中之一便是数学;虽然GPT-4在加法运算方面比GPT-3更优秀,但它在乘法和其他数学运算方面仍然存在瓶颈。

增加语言模型的大小并不能神奇地解决这些问题,据OpenAI称更大的模型并不是解决方案。原因归结为大型语言模型的基本性质,正如OpenAI论坛所指出的那样:“大型语言模型本质上是概率性的,并且通过根据他们在训练数据中观察到的模式生成可能的输出来运行。在数学和物理问题中,找到唯一的正确答案的可能性很小。”

人工智能过程中,由强化学习驱动的方法能够更准确地产生结果,因为这是一个追求目标的过程。强化学习通过迭代寻找最接近目标的最佳答案,以达到预期的目标。Lodge指出,大型语言模型课程“并不是为了迭代或寻找目标而设计的。它们的设计目的是给出‘足够好’的一次或几次回答。”

“一次性”答案是模型产生的第一个答案,它是通过预测提示中的一系列单词而获得的。"Few-shot learning" involves providing additional samples or cues to the model to assist it in generating better predictions.。大型语言模型通常也会加入一些随机性(也就是说,它们是“随机的”),以增加更好的回答的可能性,所以他们会对同样的问题给出不同的答案。

并不是说大型语言模型世界忽视了强化学习。GPT-4结合了“强化学习与人类反馈”(RLHF)。人类操作员训练后的核心模型更倾向于某些答案,但从根本上来说,这并不会改变模型首先生成的答案。Lodge指出,大型语言模型可能会提供以下选项来填补句子“韦恩•格雷茨基喜欢冰...”的空缺。

1.韦恩•格雷茨基喜欢冰淇淋。

2.韦恩•格雷茨基喜欢冰球。

3.韦恩•格雷茨基喜欢冰上钓鱼。

4.韦恩•格雷茨基喜欢滑冰。

5.韦恩•格雷茨基喜欢冰酒。

人工操作员对答案进行排序,可能会认为加拿大传奇冰球运动员更喜欢冰球和滑冰,尽管冰淇淋有着广泛的吸引力。人类的排名和更多的人类写的回答被用来训练模型。请注意,GPT-4并没有假装准确地知道韦恩•格雷茨基的偏好,只是在提示下最可能的完成。

最后,大型语言模型的设计并不是高度准确或一致的。在准确性和确定性行为之间存在一种权衡,以换取普遍性。对Lodge来说,所有这些都意味着,在大规模应用人工智能方面,强化学习击败了生成式人工智能。

将强化学习应用于软件

软件开发呢?正如我所写的,GenAI已经为那些使用GitHubCopilot或AmazonCodeWhisperer等工具提高生产力的开发人员提供了机会。这不是猜测——它已经发生了。这些工具可以预测接下来可能出现的代码,它们根据集成开发环境中插入点前后的代码来进行预测。

事实上,正如VisualStudio杂志的DavidRamel所言,最新版本的Copilot已经生成了61%的Java代码。对于那些担心这会减少软件开发人员工作的人,请记住,这些工具需要勤奋的人工监督来检查完成情况,并对其进行编辑,以使代码正确编译和运行。自IDE诞生之初,自动补全功能就一直是IDE的主要功能,而Copilot和其他代码生成器使它变得更加有用。大规模的自主编码不同,实际上需要编写61%的Java代码。

然而,强化学习可以进行精确的大规模自主编码,Lodge说。当然,他这么说是出于既得利益:2019年,他的公司Diffblue发布了基于强化学习的商业单元测试编写工具Cover。Cover在没有人工干预的情况下编写完整的单元测试套件,使大规模自动化复杂的、容易出错的任务成为可能。

Lodge有偏见吗?绝对的。他有许多经验证明强化学习在软件开发中胜过GenAI的信念是正确的。如今,Diffblue使用强化学习来搜索所有可能的测试方法的空间,为每个方法自动编写测试代码,并在编写的测试中选择最佳测试。强化学习的奖励函数以多种标准为基础,包括测试覆盖率和美学,其中之一就包括符合人类编写的编码风格。该工具平均在一秒钟内为每种方法创建测试。

Lodge认为,如果目标是为一个没有人理解的程序自动编写10,000个单元测试,那么强化学习是唯一真正的解决方案。“大型语言模型无法竞争;人类没有办法有效地监督它们,并在这种规模上纠正它们的代码,使模型更大、更复杂并不能解决这个问题。”

结论:大型语言模型最强大的地方在于它们是通用语言处理器。他们可以完成没有受过明确训练的语言任务。这意味着他们可以在内容生成(文案)和许多其他事情上做得很好。Lodge强调:“但这并不能使大型语言模型成为人工智能模型的替代品,人工智能模型通常基于强化学习,后者更准确、更一致,而且可以大规模使用。”

以上是大型语言模型对编码来说是错误的吗?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文转载于:51cto.com。如有侵权,请联系admin@php.cn删除