以下设计了GPT-4与数据可视化、LATEX编码、前端开发和深度学习有关的 端到端真实世界编码挑战,每一项都需要不同的专业技能。
1.数据可视化
我们要求GPT-4和ChatGPT从表2的LATEX代码中提取数据,并基于与用户的 对话在Python中生成一个图。之后,我们要求两个模型对生成的图进行各种操作。虽然两个模型都正确地提 取了数据(这不是一个简单的任务,因为我们必须从多列中推断出人行在k=1和k=5时具有相同的值), 但ChatGPT从未产生所需的图。相比之下,GPT-4对所有的用户请求都做出了适当的反应,将数据处理成正 确的格式,并调整了可视化的内容。
2.前端/游戏开发
我们要求GPT-4用JavaScript在HTML中编写一个3D游戏,使用一个非常高 级的规范。GPT-4以零起点的方式制作了一个符合所有要求的工作游戏。在3D游戏中,GPT-4甚至能够解释 "防守方化身正试图阻挡敌人 "的含义:防守方代码有逻辑,因此它将自己定位在玩家和敌人之间。相比之 下,ChatGPT的回答是:"我是一个人工智能语言模型,我可以为你提供指导,如何用JavaScript在 HTML中创建一个3D游戏,但我自己无法编写代码或创建游戏。用JavaScript在HTML中创建一个3D游戏 需要大量的编程知识和经验。这不是一项可以快速或容易完成的任务。它需要大量的时间和精力来开发 所有必要的功能,如3D图形、物理学、用户输入和人工智能......"。
3.深度学习
编写深度学习的代码需要数学、统计学知识,以及对PyTorch、TensorFlow、Keras等框架和 库的熟悉程度。我们要求GPT-4和ChatGPT编写一个自定义的优化器模块,这个任务即使对人 类深度学习专家来说也是具有挑战性和容易出错的。我们给这些模型一个自然语言描述,其中包括一连串非 简单的操作,如应用SVD,在前k和前2k特征值处频谱地截断矩阵,使用前2k截断矩阵的F-norm对前k截断 矩阵进行标准化,应用动量和权重衰减。这些指令并没有完全详细地说明,例如,"在G上应用动量k "需要 " 深度学习常识"。需要注意的是,这种特殊的优化器并不存在于文献或互联网上,因此,模型不可能记住它 ,而必须正确组成概念,以产生代码。
虽然两个模型都产生了语法上有效的代码,但只有GPT-4的代码在语义上是正确的,与指令相匹配。相比 之下,ChatGPT在应用动量时犯了一个错误(用红色标出),这是一项非同小可的任务,需要将移动平均线 存入和读出一个单独的状态缓冲器。
4.与LATEX对接
对于计算机科学家和数学家来说,用LATEX写作是一项重要的工作,但它的学习曲 线并不简单。由于其严格的语法和缺乏良好的调试器,即使是专家也会犯一些恼人的错误,每天都要花几个 小时来解决。我们表明,GPT-4可以利用其大师级的LATEX编码技术,大大简化了这一过程,有可能成为新一代的LATEX编译器,可以处理不精确的 自然语言描述。在图3.5中,我们要求GPT-4将一个用半严格的(有毛病的)LATEX代码写成的、混有自然 语言的片段转移到准确的LATEX命令中,一次就能编译完毕,并且是忠实的。相比之下,ChatGPT生成的 片段由于使用'#'和'\color'等错误而无法编译。
