本篇文章Data Science After ChatGPT: What Still Matters探讨了在AI时代数据科学家的新角色。文章的技术亮点在于强调了生成模型(LLM)如何加速代码生成和模型构建,使数据科学家能更专注于问题理解和决策制定。适用场景包括快速原型开发和复杂模型设计,尤其适合需要高效处理重复性工作的项目。



1 前言

1.1 为什么你的价值不在代码或构建机器学习模型中,而且它从未在那里。

这周,我问我的一位下属,他们是如何如此迅速地构建出一个原型的。

前一天我们刚进行了一次非正式的讨论,提出了使用机器学习来探索特征重要性的想法。这并非紧急或生产就绪的任务,只是一个“我们能否更清楚地了解哪些特征可能真正重要,而无需花费数天手动摸索?”的想法。

第二天,他们几乎完成了所有工作。数据确实已经准备好了,但模型已经构建完成,他们完成了所有可视化,应用了 SHAP……换句话说,这是一次真正深入的探索。

于是我问道:“等等……你实际写了多少代码?”
他们笑了。“说实话?没多少。ChatGPT 完成了大部分工作。”

事实是,这完全没问题。 这个原型奏效了,促进了讨论,并节省了数小时。我真的不在乎他们是如何完成这项工作的。这是一项简单而有效的工作,而这正是我想要的。

然而,这也触动了我内心更深层次的东西。

如果机器可以编写代码……那我们还剩下什么可做?

如果大型语言模型(LLMs)能够快速、足够好地完成 80% 的工作——那么今天数据科学家真正与众不同之处是什么?

在这篇文章中,我将探讨这些问题,并研究数据科学家的角色如何演变,这并非因为人工智能,而是通过人工智能。

1.2 本博客将涵盖的内容

  • 自动化趋势并非始于大型语言模型。 为什么代码生成只是数据科学中抽象和工具化漫长故事的最新篇章。
  • 大型语言模型:好的、坏的以及大部分是样板代码。 回顾大型语言模型并非黑魔法。
  • 为什么这不会让数据科学家过时。 机器(目前)无法做到的:判断、优先级排序、批判性思维。
  • 数据科学家价值所在的变化。 如果代码廉价,那么上下文和清晰度就是一切。
  • 给初级数据科学家的一点忠告。 为什么大型语言模型让人看起来更聪明,但更难变得真正聪明。
  • 结束语。 这种转变不是威胁。它是一个专注于工作中真正重要部分的机会。

让我们开始吧!

2 自动化趋势并非始于大型语言模型

早在 ChatGPT 或 Claude Sonnet 开始生成代码之前,数据科学家就已经在自动化那些繁琐的工作了。我们有 sklearn 中的封装器,PySpark 中的管道,Optuna 进行超参数调优,H2O 等 AutoML 平台,以及通过 Databricks 等工具运行 MLOps 的更简单方法。

我亲身经历了这一转变。

在那之前,我必须从头开始编写 sklearn.pipeline()。超参数调优意味着相当多的 for 循环。我只能负担得起训练几个模型,而不是运行一个全面的 AutoML 扫描。模型部署意味着手动导出到 ONNX(或类似棘手的东西),然后将其全部封装在一个容器中。

我知道这些工具让我的生活变得多么轻松。多亏了它们,我们能够模板化特征工程,抽象训练循环,重用 ETL 脚手架,并通过 MLflow 或 Airflow DAGs 运行实验。工作变得更快、更安全、更可重复,因为有人编写了样板代码,所以我们不必再写了。

目标始终如一:

减少编写“胶水代码”的时间。

花更多时间思考。

然后大型语言模型出现了,它们让这个过程瞬间完成

2.1 大型语言模型并非发明了自动化

它们只是普及了自动化——并使其变得对话式

例如:

  • “编写一个 PySpark ETL,用于对每日酒店数据进行去重。”
  • “构建一个带有提前停止和对数损失的 LightGBM 分类器。”
  • “将这段混乱的代码转换为带有文档字符串和测试的模块化 sklearn 管道。”

在几秒钟内完成。附带示例。

这并不新鲜。这绝对不是魔法,它更像是一个“加强版”的自动补全。

它之所以有效,是因为大型语言模型正是通过我们已经尝试自动化的那种样板代码进行训练的。如果说我们已经将重复的机器学习工作封装在模板和工具中,那么大型语言模型就只是下一个封装器。

3 大型语言模型:好的、坏的以及大部分是样板代码

3.1 好的方面

如果你在工作流程中认真使用过大型语言模型,你就会知道它们可以自信地处理以下任务:

  • 样板代码:管道、编码器、配置、评估循环
  • 入门级笔记本:用于探索性数据分析(EDA)、模型原型设计,甚至简单的仪表板
  • 代码转换:SQL 到 Pandas,Pandas 到 PySpark,旧脚本到新 API
  • 辅助代码:单元测试、文档字符串、可视化、基本错误处理
  • 调试支持:“这个警告是什么意思?”

对于许多数据科学家来说,大型语言模型现在已成为“标配”。你知道你想要什么。你描述它。你会得到一个通常已完成 80% 的草稿。然后你清理它,调整它,然后继续前进。

最后一点很重要。作为一名高级数据科学家,我总是阅读大型语言模型生成的代码。我不会只是复制-粘贴-运行。大型语言模型适用于样板代码的初稿,但对于更复杂的东西……也许现在还不行。

然而,如果机器能写出这么多初稿(并且将来可能会写出更好的代码)——那你还剩下什么可做?

3.2 坏的方面

尽管备受炒作,大型语言模型在真正让数据科学家有价值的事情上仍然会遇到困难。它们在以下方面表现不佳:

  • 模糊性 — 我们真正要解决的问题是什么?
  • 优先级排序 — 我们应该优化准确性、公平性、速度还是可解释性?
  • 上下文判断 — 那个模型看起来很棒,但它符合业务约束吗?
  • 领域细微差别 — 不,我们不会在合作伙伴之间平均分配收入。这个假设会破坏一切。
  • 伦理和权衡 — 偏见、公平性、意外后果——所有这些仍然是非常人类的责任。

大型语言模型可以让你更快。但它们无法告诉你什么才是重要的。现在还不能(也许永远不能)。

这就是发挥作用的地方。

4 为什么这不会让数据科学家过时

编写代码从来都不是这份工作的全部。构建模型也从来不是你获得高薪的唯一原因。

至少,它不是全部工作。也不是最重要的部分。

当然,这令人满意。我们中的一些人喜欢从头开始构建一个好的管道,或者调整最后一个超参数(我承认,我喜欢构建机器学习模型)。但是,数据科学家的核心价值,尤其是在商业环境中,从来都不是关于谁能进行深度学习或谁能构建时间序列预测模型。

真正的价值在于理解问题

在于知道要构建什么为什么它很重要,以及何时停止。

模型只是复杂的工具,可以帮助你推动比简单的手工解决方案更好的最优解。但是,如果你不知道要构建什么,为什么它很重要,以及何时足够好,那么我敢保证,一个有清晰愿景的产品经理,用一些基本规则就能超越你花哨的机器学习模型。

4.1 什么让你有价值

我们都知道大型语言模型可以编写代码。它们甚至可以构建不错的机器学习模型。但 AutoML 也能做到(开源软件包多年来一直在这样做)。

大型语言模型和 AutoML 都无法做到的(除其他外)是:

  • 选择正确的业务目标
    它可以优化点击率,但它不会问每用户收入、长期留存率或合作伙伴之间的公平性是否更重要。
  • 挑战模糊的利益相关者请求
    当有人说:“预测流失率就行了,”大型语言模型不会反驳并问:“哪种流失?不活跃用户?取消预订?还是我们真正想失去的用户?”
  • 提出没有人问的令人不适的问题
    例如:“我们是否正在使用包含欺诈性预订的数据来训练这个模型?”
    或者:“这个实验是否因为跟踪漏洞而排除了 40% 的用户?”
  • 在精度和延迟之间选择正确的权衡
    它可以最大化 F1 分数。但它不会知道你需要小于 200 毫秒的推理时间,因为这个模型为实时搜索排名提供支持。
  • 告诉你数据何时在撒谎
    收入激增?人类会记得有一个合作伙伴集成错误导致交易重复。大型语言模型则会愉快地将其视为一个信号。

这些是真正的数据科学发生的时候。当你介入并提供判断、上下文以及提出更好问题的能力时。你总是可以回到大型语言模型,根据你的知识调整它提供的内容,但正如你所看到的,你已经超越了样板代码。

你进入了创造价值的空间——而不仅仅是执行。

这是工程师、分析师甚至利益相关者都可能难以完成的工作。而这正是你作为数据科学家仍然能发挥作用的地方。

5 数据科学家价值所在的变化

我们已经确定,如果每个人都可以使用大型语言模型编写代码,那么代码就不再是差异化因素。如果构建模型只需一个提示即可完成,那么构建模型也不再是你的优势所在。

那么,优势在哪里呢?

清晰思考。
良好地构建问题。
设计巧妙的实验。
区分信号与噪声。

在我看来,价值正在向上层移动。

5.1 曾经的“加分项”现在成了工作本身

让我们回溯五年。

你可能可以作为一名“专注于后端”的数据科学家,不那么喜欢与利益相关者开会,也能获得一份稳定的职业。也许你不擅长构建问题,但你是能够构建最佳模型的人。你了解超参数,能够处理 Spark,更重要的是,你交付了其他人无法交付的东西。

这在当时就足够了。

今天?好吧,你知道我一直在说什么……价值不仅仅在于建模。

过去是加分技能的,现在决定了你的工作是否能落地或被埋没:

  • 清晰的问题框架
    “我们到底想改进什么?谁来定义成功?这是一个预测问题还是一个优先级排序问题?”
  • 智能的指标选择和细分
    你不仅仅报告一个提升。你知道要按国家、设备、获取渠道进行细分,并解释为什么某个细分市场表现不佳。
  • 将业务模糊性转化为可测试的假设
    利益相关者说:“让主页更智能。”你将其转化为:
    “我们是否希望预测用户更喜欢交易还是发现,并据此进行个性化?”
  • 利益相关者协调和优先级排序
    当资源紧张时,你知道如何从数据科学的角度定义可行性和潜力。这有助于利益相关者认同你的决策并信任你。
  • 用结果进行战略性叙事
    你不仅仅说“模型 A 比模型 B 胜出 X%,我们知道准确率提高了 Y%”。你通过连接点来增加价值:“模型 A 获胜是因为它更好地符合季节性用户意图,特别是对于低成本市场的移动用户。”

5.2 是的,理解数学仍然很重要

还有另一个值得指出的转变。

随着样板代码变得免费且快速,你实际的技术理解变得更重要,而不是更不重要

因为当你需要:

  • 处理高基数分类特征而不会内存爆炸
  • 决定何时深度学习是过度杀伤,何时 XGBoost 达到上限
  • 理解为什么对残差进行对数变换可以修复偏斜
  • 发现大型语言模型看起来没问题的数据泄露
  • 在不牺牲精度的情况下优化推理延迟

……你不能仅仅通过提示来解决(或者你也许可以,但如果没有这些知识,非数据科学家将花费很长时间)。

**基本上,大型语言模型可以帮助任何人入门。但是,专家仍然能完成工作。

这就是数学基础、实际的机器学习直觉以及从真实实验中获得的经验开始再次变得重要的地方。因为在极端情况下——当决策成本高昂时——真正的专业知识仍然会胜出

6 给初级数据科学家的一点忠告

如果你刚开始职业生涯,大型语言模型可能会让你觉得像魔法一样。它们帮助你更快地行动,解决问题,并构建你可能不知道如何从头开始的东西。这很有力量。但它也可能具有误导性。

仅仅因为某事有效并不意味着你理解它。如果你过于依赖大型语言模型来生成代码,你可能会跳过自己推理问题的艰苦而重要的学习过程。

你不会通过复制运行的代码而成为一名优秀的数据科学家。你通过理解代码在做什么,更重要的是,为什么在这种情况下这样做是正确的,从而成为一名优秀的数据科学家。

请注意不要用交付速度取代深入理解,因为可能会发生以下情况:

  • 为业务问题使用了错误的评估指标
  • 在不知不觉中包含了目标泄露
  • 忽略了糟糕的细分市场表现,因为总体结果看起来不错
  • 以一种悄悄扭曲结果的方式误用了插补或独热编码
  • 对某些分布使用了不正确的转换
  • 假设大型语言模型返回的任何东西都是最佳实践(通常不是)

大型语言模型让你很容易得到一个看起来足以演示的东西。但看起来有能力和真正有能力不是一回事。

这并不意味着你不应该使用大型语言模型——你绝对应该使用。但要把它们当作一个拥有快速大脑但判断力有待商榷的初级同事。检查它们的工作。提问。在运行之前阅读每一行。尝试破坏它。当感觉不对劲时,深入挖掘。

因为总有一天会有人问你:“你为什么选择这个模型?”或者“为什么这个细分市场表现不佳?”或者“我们能相信这个结果投入生产吗?”当这种情况发生时,你绝对不能说:“嗯,ChatGPT 写的。”

到那时,需要知道。

7 结束语

工作正在改变。不是在未来。就在现在

大型语言模型已经重塑了数据科学家的意义。它们将脚手架——样板代码、翻译、设置——变得即时可用。对我来说,这是一个绝佳的机会。

现实是,当样板代码消失后,真正的工作才开始:理解问题、优化模型、设计实验、驾驭模糊性,以及将数字转化为决策。如果这不是让你兴奋的工作部分……现在是重新考虑的好时机。

但如果这确实是让你兴奋的部分——如果你喜欢与难题搏斗,弄清楚什么才是重要的,并构建真正改变产品运作方式的东西——那么这种转变对你有利。

在一个代码廉价、上下文至关重要的世界里,清晰度、判断力和领域理解是你的竞争优势。

所以,使用机器。让它让你更快。但不要让它让你变得被动。

你不是来写样板代码的。

你是来解决问题的。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐