GPT-人工智能如何改变我们的编码方式

在本文中,您将找到我对人工智能和工作的最新研究的总结(探索人工智能对生产力的影响,同时开启对长期影响的讨论),一个准实验方法的示例(通过 ChatGPT 和 Stack Overflow 进行说明,了解如何使用简单的 SQL 查询从 Stack Overflow 中提取数据。

作为与大多数技术革命一样,ChatGPT 的发布伴随着新奇和革命性的创新。一方面,在短短两个月内,该应用程序就拥有 1 亿月活跃用户,打破了历史上增长最快的消费者应用程序的记录。另一方面,高盛的一份报告声称,此类技术可能会取代全球超过 3 亿个工作岗位。此外,埃隆·马斯克 (Elon Musk) 与 1,000 多名技术领导者和研究人员签署了一封公开信,敦促暂停最先进的人工智能开发 。

“我们只能看到前方很短的距离,但我们可以看到很多需要做的事情。”艾伦·图灵

根据艾伦·图灵的引言,本文并不试图预测人工智能的遥远未来及其影响。然而,我关注的是影响我们的主要可观察后果之一:人工智能如何改变我们的编码方式。

ChatGPT 的诞生改变了世界。至少,作为一个每天都编码的人,我的世界一夜之间就改变了。我不必花几个小时在 Google 上寻找正确的解决方案,也不必在 Stack Overflow 上深入研究答案,并使用正确的变量名称和矩阵维度将解决方案转化为我的确切问题,我可以直接询问 ChatGPT。ChatGPT不仅会在眨眼之间给我答案,而且答案会适合我的具体情况(例如正确的名称、数据帧尺寸、变量类型等)。我大吃一惊,我的工作效率突然飙升。

因此,我决定探索 ChatGPT 发布的大规模影响及其对生产力以及最终对我们工作方式的潜在影响。我定义了三个假设 (Hs),并使用 Stack Overflow 数据进行了测试。

H1:ChatGPT 减少了 Stack Overflow 上提出的问题数量。如果 ChatGPT 可以在几秒钟内解决编码问题,那么我们可以预期编码社区平台上的问题会减少,因为提出问题和获得答案需要时间。

H2:ChatGPT 提高了所提问题的质量。如果 ChatGPT 被大量使用,那么 Stack Overflow 上的剩余问题必须得到更好的记录,因为 ChatGPT 可能已经有所帮助。

H3:剩下的问题更加复杂。我们可以预期剩下的问题更具挑战性,因为 ChatGPT 可能无法回答这些问题。因此,为了测试这一点,我们正在测试未回答问题的比例是否增加。此外,我还测试每个问题的浏览量是否发生变化。如果每个问题的浏览量保持稳定,这将是一个额外的迹象,表明剩余问题的复杂性增加了,并且这一发现不仅仅是由平台上的活动减少引起的。

为了测试这些假设,我将利用 Stack Overflow 上突然发布的 ChatGPT。2022 年 11 月,当 OpenAI 公开发布他们的ChatGPT时,没有其他替代品可用(例如 Google Bard),并且访问是免费的(不限于 OpenAI ChatGPT 4 或 Code Interpreter 等付费订阅)。因此,可以观察在线编码社区在震惊之前和之后的活动如何变化。然而,尽管这种冲击多么“干净”,其他影响可能会被混淆,从而质疑因果关系。特别是季节性(例如发布后的年末假期)以及问题越新,浏览量和找到答案的概率就越低。

理想情况下,为了减轻季节性等潜在混杂变量的影响并衡量因果效应,我们希望在没有 ChatGPT 发布的情况下观察世界,这是不可能的(例如因果推理的基本问题)。尽管如此,我将通过利用 ChatGPT 对编码相关问题的答案质量因一种语言而异而另一种语言不同这一事实来应对这一挑战,并使用准实验方法来限制其他因素混淆效果的风险(Difference-in -不同之处)。

为此,我将比较 Python 和 R 之间的 Stack Overflow 活动。Python 是一个显而易见的选择,因为它可以说是最
流行的编程语言之一(例如,在 TIOBE 中排名第一)
Python 的大量在线资源为 ChatGPT 等ChatGPT提供了丰富的训练集。现在,为了与 Python 进行比较,我选择了 R。Python 通常被认为是 R 的最佳替代品,而且两者都是免费的。然而,R 不太受欢迎(例如,在 TIOBE 编程社区索引中排名第 16),因此训练数据可能较小,这意味着 ChatGPT 的性能较差。证据证实了这种差异(有关该方法的更多详细信息,请参阅方法部分)。因此,R 代表了 Python 的有效反事实(它受到季节性影响,但我们可以预期 ChatGPT 的影响可以忽略不计)。

图1:ChatGPT对Stack Overflow每周提问数量的影响
 

上图显示了原始的每周数据。我们可以看到,在 ChatGPT 3.5 发布后,Stack Overflow 上每周提出的有关 Python 的问题数量突然大幅下降 (21.2%),而对 R 的影响则稍小一些(下降了 15.8%)。

这些“定性”观察得到了统计模型的证实。稍后描述的计量经济学模型发现,Stack Overflow 上的 Python 每周问题平均下降了 937.7 个(95% CI:[-1232.8,-642.55 ];p 值 = 0.000),具有统计显着性。随后的分析利用 Diff-in-Diff 方法,进一步揭示了问题质量的提高(在平台上通过分数来衡量),同时未回答问题的比例也有所增加(而每个问题的平均浏览量似乎有所增加)。不变)。因此,本研究为之前定义的三个假设提供了证据。

这些发现强调了人工智能在我们工作方式中的深远作用。通过解决日常查询,生成式人工智能使个人能够将精力投入到更复杂的任务上,同时提高他们的生产力。然而,重要的长期潜在不利影响也在讨论部分进行了讨论。

本文的其余部分将介绍数据和方法,然后是结果,并以讨论结束。

数据

数据是使用Stack Overflow 数据浏览器门户上的 SQL 查询提取的(许可证:CC BY-SA)。这是使用的 SQL 命令:

SELECT Id, CreationDate, Score, ViewCount, AnswerCount
FROM Posts
WHERE Tags LIKE '%<python>%'
AND CreationDate BETWEEN '2022–10–01' AND '2023–04–30'
AND PostTypeId = 1;

然后,我按周汇总数据以减少噪音,从而获得了从 2022 年 10 月 17 日星期一到 2023 年 3 月 19 日的数据集,其中包含有关每周帖子数量、观看次数、每个问题的观看次数的信息,每个问题的平均分以及未回答问题的比例。分数由平台用户定义,他们可以投票赞成或反对,以判断问题是否显示“研究努力;它是否有用且清晰” 。

方法

为了测量因果效应,我使用了双重差分模型,这是一种计量经济学方法,通常利用随时间的变化并将处理单位与未处理组进行比较。

简而言之,Diff-in-Diff 模型计算双重差异以识别因果效应。这是一个简化的解释。首先,我们的想法是计算两个简单的差异:治疗组和未治疗组(此处分别是 Python 和 R 问题)的前(ChatGPT 发布之前)和后时期之间的“平均”差异。我们关心的是处理对处理单元的影响(这里是ChatGPT发布对Python问题的影响)。然而,如前所述,可能还有另一种影响仍然与治疗相混淆(例如季节性)。为了解决这个问题,该模型的想法是计算双重差异,以检查处理组 (Python) 的第一个差异与第二个差异(对照组 R 的差异)有何不同。

这是一个稍微更正式的表示。

参考值的第一个差异:

E[Yᵢ| Treatedᵢ, Post]-E[Yᵢ| Treatedᵢ, Preₜ] = λ+β

这里的 i 和 t 分别指的是语言(R 或 Python)和周。While对待是指与Python相关的问题,Post是指ChatGPT可用的时期。这个简单的差异可能代表 ChatGPT (β) + 某些时间效应 λₜ 的因果效应(例如季节性)。

控制变量组组的第一个差异:

E[Yᵢ| Controlᵢ, Post]-E[Yᵢ| Controlᵢ, Pre] = λ

对照组的简单差异不包括治疗效果(因为未经治疗),而仅包括 λ。

因此,双重差分将给出:

DiD = ( λ+β) — λ = β

假设两组的 λ相同(平行趋势假设,如下所述),双重差异将使我们能够识别 β,即因果效应。

该模型的本质在于平行趋势假设。为了断言因果效应,我们应该相信,如果没有 ChatGPT,Stack Overflow 上 Python(已处理)和 R(未处理)帖子的演变在处理期间(2022 年 11 月之后)将是相同的。然而,这显然不可能观察到,因此无法直接测试(参见因果推理的基本问题)。然而,可以测试冲击之前的趋势是否平行,这表明对照组是一个潜在的良好“反事实”。对数据进行的两个不同的安慰剂测试表明,我们不能拒绝 ChatGPT 之前时期的平行趋势假设(测试的 p 值分别为 0.722 和 0.397(参见在线附录 B))。

正式定义:

Yᵢ = β₀ + β₁ Pythonᵢ + β₂ ChatGPT + β₃ Pythonᵢ × ChatGPT+ uᵢ

“i”和“t”分别对应 Stack Overflow 上问题的主题(i ∈ {R; Python})和周。Yᵢ 表示结果变量:问题数量 (H1)、平均问题得分 (H2) 和未回答问题的比例 (H3)。Pythonᵢ 是一个二元
变量,如果问题与 Python 相关,则取值 1,
否则取值 0(与 R 相关)。ChatGPTₜ是另一个二进制变量,
从 ChatGPT 版本及之后的版本开始,其值为 1,
否则为 0。uᵢ 是聚集在编码语言级别 (i) 的错误项

该模型的本质在于平行趋势假设。为了断言因果效应,我们应该相信,如果没有 ChatGPT,Stack Overflow 上 Python(已处理)和 R(未处理)帖子的演变在处理期间(2022 年 11 月之后)将是相同的。然而,这显然不可能观察到,因此无法直接测试(参见因果推理的基本问题)。然而,可以测试冲击之前的趋势是否平行,这表明对照组是一个很好的“反事实”。在这种情况下,两个不同的安慰剂测试表明,我们不能拒绝 ChatGPT 之前时期的平行趋势假设(测试的 p 值分别为 0.722 和 0.397(参见在线附录 B))。

结果

H1:ChatGPT 减少了 Stack Overflow 上提出的问题数量。

如简介中所述,Diff-in-Diff 模型估计 Stack Overflow 上的 Python 每周问题平均下降了 937.7 个(95% CI:[-1232.8, -642.55];p 值 = 0.000)(参见如下图2)。这意味着每周的问题数量下降了 18%。

图 2:ChatGPT 对每周问题数量的影响

H2:ChatGPT 提高了所提问题的质量。

ChatGPT 可能有助于回答问题(参见 H1)。然而,当ChatGPT无法解决问题时,它可能允许人们走得更远,获得有关问题或解决方案某些要素的更多信息。该平台允许我们测试这个假设,因为如果用户认为“这个问题显示了研究成果;有用且清晰”(增加 1 分)或没有(减少 1 分)第二次回归估计问题得分平均增加 0.07 分(95% CI:[-0.0127 , 0.1518 ];p 值:0.095)(见图 3),即增加 41.2%。

图 3:ChatGPT 对问题质量的影响(作者提供的图片)

H3:剩下的问题更加复杂。

现在我们有一些证据表明 ChatGPT 能够提供重要的帮助(解决问题并帮助记录其他问题),我们想确认剩下的问题更加复杂。为此,我们要考虑两件事。首先,我发现未回答问题的比例正在上升(没有答案可能表明问题更加复杂)。更准确地说,我发现未回答的问题比例增加了 2.21 个百分点(95% CI:[ 0.12, 0.30];p 值:0.039)(见图 4),这意味着增加了 6.8%。其次,我们还发现每个问题的观看次数没有变化(我们不能拒绝它没有变化的零假设,p 值为 0.477)。

图4:ChatGPT对未回答问题比例的影响

讨论

这些发现支持这样一种观点,即生成式人工智能可以通过处理常规问题彻底改变我们的工作,使我们能够专注于需要专业知识的更复杂的问题,同时提高我们的生产力。

猜你喜欢

转载自blog.csdn.net/qq_41929396/article/details/132760252