ChatGPT o1-预览模型测试: 改进了计算,但存在显著的精度问题

Image generated by DALL·E from a prompt by the author

我一直参与自然语言处理和对话人工智能领域,并自2022年开始测试ChatGPT以来,我非常喜欢测试每个新模型。

之后,我能够在Amarula Solutions融合这种激情与专业,我开始欣赏每个型号发布时所取得的稳定进步,无论是大还是小。

直到目前为止,ChatGPT的能力提升真的是非常了不起的。

然而,随着o1-preview Model的出现,事情出现了不同的转变。

我如何进行测试

自从我开始测试以来,我一直遵循相同的方法:向每个新模型提交相同的查询,以第一手了解ChatGPT的进展。

我通常提出各种各样涉及数学、物理和编程的问题。这次,我尤其兴奋地从数学开始,因为听说模型的计算能力有了显著的提升。

我在每次测试中严格遵循的关键准则是始终要问一些不常见的问题,我相当有信心这些问题并不是模型训练数据的一部分。

✅ 测试#1:我发明的丢番图方程

我发现(例如,在这个视频中)我不是唯一一个使用丢番图方程挑战ChatGPT的人。原因很简单:丢番图方程需要非标准计算,使它们非常适合推动人工智能所能处理的边界。这些方程寻求整数解,涉及复杂的关系,并测试模型超越标准数字计算的推理能力。

然而,如前所述,我更倾向于不使用像视频中那样的知名方程式(x³ + y³ + z³ = k),因为它们可能会使训练数据中包含的可能性扭曲测试结果。

有了这个想法,我设计了自己的方程式来看看最新版本的ChatGPT会表现如何。

这个方程有一对平凡解(m, n),即(1, 1)和(2, 1),以及一个非平凡解(5, 2),即使在被引导到正确方向后,之前的ChatGPT模型也无法发现。

我很高兴地看到o1-preview模型第一次尝试就正确识别了所有的解决方案。

❌ 测试#2:连续分数

我的这次测试的初始计划是评估o1-preview模型在十进制数中表现出对欠钦常数的依从性。简而言之,欠钦展示了几乎所有实数的连分数展开的系数具有有限的几何平均数,收敛到大约2.685452左右。

我本意是请ChatGPT展示一个由许多小数位随机生成的十进制数与金钦常数的符合性(以更好地近似真实数字)。遵循我的指导方针,我避免使用像π这样的众所周知的数字。

较旧的模型在准确计算系数的几何平均值方面存在困难,我希望o1-preview模型能显示改进。例如,当数字小于1时,gpt-4模型正确计算了连分数系数,但错误地包含了第一个系数,a₀ = 0,导致几何平均值不正确,并得出了定理不适用的结论。

令我大吃一惊的是,o1-preview模型计算出的连分数在第5次迭代时就开始偏离正确的结果。

我决定把注意力转移到连分数上,暂时把欣钦数放在一边。我向gpt-4o和o1-preview模型提出了以下问题:

Can you calculate the first 10 coefficients of the continued fraction of
0.1585536657064938800442275742180987996243882347015 ?

gpt-4o模型给出了一个直接、简洁的答案,正确解决了问题:

[0,6,3,3,1,7,1,15,2,1]

当o1-preview从第六个元素开始出错时:

[0, 6, 3, 3, 1, 2, 9, 20, 3, 1] [0,6,3,3,1,2,9,20,3,1]

出现这个错误的原因在于计算分数时采取的方法。

gpt-4o模型使用简单的Python代码:

from mpmath import mp

# Set precision high enough for the calculation
mp.dps = 50 # Decimal places

# Value of the number
number = mp.mpf('0.1585536657064938800442275742180987996243882347015')

# Function to calculate the continued fraction
def continued_fraction_coefficients(x, n):
coeffs = []
for _ in range(n):
a = mp.floor(x)
coeffs.append(int(a))
x = x - a
if x == 0:
break
x = 1 / x
return coeffs

# Calculate the first 10 coefficients
coefficients = continued_fraction_coefficients(number, 10)
coefficients

另一方面,o1-preview模型采用完全不同的方法,提供错误的结果,同时花费更多的时间来计算(14 秒)。

从 ChatGPT 的完整响应中可以看出,每一步都会随着时间推移逐渐增加精度误差,最终导致错误的结果。 这个错误早在第二步就出现了,其中 1/0.15855366570649388… 被错误地近似为 6.305762195498155 而不是 6.30701280569032605。 这造成了0.0198%的误差,这是非常高的。

❌ 测试 #3:指数计算

一个疑问开始在我的脑海中浮现:甚至数学表达式的计算也会受到这个问题的影响吗?

遵循我的准则,我提出了一个简单的指数表达式,挑战 o1-preview模型与gpt-4o相抗衡。

当提交给GPT-4o时,它几乎立即准确地提供了答案,精确到小数点后四位。

7.2625

然而,当我向o1-preview模型提出同样的问题时,它返回

7.273 7.273

以0.143957%的显著错误和14秒的响应时间!

应该注意的是,o1-preview模型所发生的三个精度错误彼此独立,意味着它们分别在各自的个别计算中发生。

  1. 计算ln π时出错:0.0000737872%
  2. 在将√3乘以lnπ时出现错误:0.10675783%
  3. 在计算exp(6.15593929226734)时出现错误:0.06874742%

結論

在新的 o1-preview 模型的数学能力方面,既有亮点也有缺点。

  • 在一方面,它显著提高了其推理能力,使其能以多种方式解决更复杂的问题。
  • 另一方面,在某些情况下应用相同的方法,而不是依赖简单可靠的Python代码,会导致错误和不精确的解决方案。

2024-09-19 04:11:14 AI中文站翻译自原文