一个多月前,一篇带着 DAMO 院的标签的“文献”《Is GPT-4 a Good Data Analyst?》在文末这样总结道:
> The results and analysis show that GPT-4 can achieve comparable performance to humans, but further studies are needed before concluding that GPT-4 can replace data analysts.
> GPT-4 的表现媲美人类,但是能否取代数据分析师仍需继续研究。
当然,在网文里,二道贩子们直接把标题写成了“震惊!达摩院论文证明GPT-4可以取代数据分析师”。二道贩子们确实也有一些敬业,把文章中的各种实验数据贴到自己的文中,用于实证此时很震惊。于是,在一些数据分析群里,就有被震惊到的网友开始转发讨论。
有趣的是。这个如此震惊,足以影响到职业生涯的消息,并没有多少人关注,关注到了也并不讨论。参与讨论的群友,也几乎没有人去看过文献原文。这反而足够令我震惊!不过也正合了我前段时间对一个希望投身大潮但是害怕已经来不及的朋友说的话(当然我现在文字版才是完整版):
别看大家都在讨论大语言模型,声势浩大,似乎我们已经落伍。要这样评估,一个巨大变革的第一波浪潮里,只有 1/10 的人看到了消息,看到消息的人里只有 1/10 真的阅读了消息,阅读了消息的人里只有 1/10 的人认真评估了消息的价值,评估了消息的价值的人里只有 1/10 的人开始长期关注了这波浪潮,长期关注这波浪潮的人里只有 1/10 的投身其中开始尝试,投身其中的人里只有 1/10 的人坚持试错,坚持试错的人里只有 1/10 的获得了一些可被认可的结果。此时,人群中只有 0.1^7(即 10^-7,一千万分之一)的人和你站在决赛圈里。所以,还不晚。
如果继续考虑这一千万分之一的人里,有一些是和你同一队伍,不和你同一队伍的人不一定和你处于一个细分赛道上。那么就不难理解,为什么最后真实的参赛者往往只有个位数的玩家。
这篇《Is GPT-4 a Good Data Analyst》虽然最终仍然给出了保守的结论,并且直接承认了自己研究方法的缺点,但仍然逃不开蹭热点的嫌疑。如果没有发现新的东西,那么为什么要把预期之中的结论写成一篇文章,而且还是论据不够力量的文章。或许,这篇文章给我的核心价值,就是实证了我的预判:GPT-4 已经是一个不错的数据分析助手,但无法帮助不会数据分析的人完成数据分析工作。而后者,正是我在这一波浪潮里希望最终看到的“智能分析”的新能力。
### 文章惊喜之处
先说说我从中感受的惊喜:
- 在基础的描述型统计分析上,获得等同于人类的能力。这个我预判到了。文章帮我实证了猜想。
- Python code generation 的能力,是早已经知道的,但是我没有实际操作过,所以不知道实际效果如何。这篇文章告诉我,效果的 baseline 是令人满意的。至少确实能用了。可能在实际使用时,还需要使用者自己判断效果。
- 文章提出的框架的成果证明,它可以作为 DA-Assistant 的基础版本,作为我们后续研究的基础。
- ![[GPT-4 is NOT YET a Good Data Analyst20240930155036.png]]
- 文章采用的评估模型也是我们未来可以借鉴采纳的。评估模型,在我眼里甚至比核心的模型更重要。
### 文章不足之处
文献本身总结了一些自认不足的地方。我个人比较在意的点是:
- 处理的数据分析问题过于简单,给出的分析结论也比较简单。在业务使用中,基本处于废话文学的状态。
- 不过,当这个分析师是机器人时,业务方会不会比对我们数据分析师更加宽容呢?真是令人心酸呢。
- 数据分析问题太确定,不符合实际业务分析时的“开放场景问题”的特性。文章自己也承认了,说明他们找的几位资深分析师确实是资深分析师。
- “开放场景问题”也是一些不太懂行的分析师吐槽面试问题莫名其妙的典型问题。
- 最终成果和人的成果的对比次数太少,甚至统计学都不答应这种对比结果。(不过可能也不需要太多的对比,反正我们知道这文章的“目的”就在于得出这个结论,那么拿到结论就好。这也是我不喜欢这篇文章的另外一个理由,典型的自证型分析,如何得不出结论?)
- 真人 anotator 打分,不是分析专业从业人员打分,对于打分的质量我存疑。但也算是合理,毕竟分析结果的最终使用者是非分析师用户,他们觉得分析结论有用就“真的”有用。真的令人心酸呢。
### “机器”的不足之处
在文章里,仍然还是看到了以算法为基础的“机器”的几个常规不足:
- 没有业务知识
- Input 缺少语境
- Output 的幻觉问题
我们甚至看到了 GPT-4 自身特性造成的“不足”
- 不够谨慎。给出分析结论时的 tone 语调十分自信,完全不担心源头数据质量、分析前提假设不成立等问题,和喜欢在结论前加各种前置条件的真人分析师判若两“人”?
- 不够人。给出来的结论就是干干的结论,无法在结论中带着一些分析师应该在此时补充的背景信息来帮助结论的 consumer 理解,也无法运用一些暗示性的词汇传达这个结论对于业务来说是正面还是负面的“指向性”信息(比如“稳中有降”这样的话术)。
### 我的结论
- GPT-4 为代表的大语言模型已经具备工具价值。
- 前提是,数据厂商们把这种能力集成到自己的产品里,毕竟 Python 并不是唯一的数据分析工具。
- 这些工具已经明显可以提升分析师一些工作的效率。
- 一些能力欠佳的初级分析师,会被更快地挤出市场。
### 其他学到的东西
- 伪代码很好用。在构建问题的描述时,这种看起来很废话的伪代码,可以让我们多花时间思考问题,而不是解法的实现。这就是计算机科学和软件工程的差异。
- (重复说一次)这个架构图可以参考。
### 担心的问题
(1)如何把业务知识融入到大语言模型中仍然是个问题
我随便想了一下,一般来说就是这三种方式:
- 在模型参数里
- 我最初的想法,可能需要将业务知识结构化后作为参数输入模型。
- embed 告诉我第四种,直接在 input 里输入 context。
- 在后处理里
- 将模型的输出输入另外一个业务知识模型(一般就是业务专家本人),二次加工后作为最终输出。
- 在原始数据里面:
- 我有个模糊假想,能否将知识映射到一个或者一组数据库行,自动继承映射,自动推理影响。注意,这里的知识,不是知识库的图结构的知识论层面的干燥的知识,而更多是指业务事实这样的水分很大的知识,其实就是信息本身。这里涉及到对知识的分类,暂时不展开。理解这一点就行:业务逻辑型知识需要采用知识库的图结构表达,这在每一次分析中基本都是保持一致的,而能够影响分析结论的知识往往是一个业务实际事件。简单打个比方,一次爆单到底是哪个商品爆了,还是哪一个带货主播爆了。当然简单的聚合分析就可以给出,但是机器也要同步给出这个聚合分析后面的明细数据,让用户看到,这样才是可信的结论,而不是一种数据操作结果。
(2)安全问题。
- 我们需要一个私有化版本的 LLM
- 如果是本地版,计算性能下降,推理能力如何保障?
- 如果不采用私有化版本,数据安全如何保障?
- 如果只把元数据给 LLM,似乎可以确保数据安全,但是字段级别的泄露就不是数据泄露了吗?
- 特别是问题本身就是泄漏信息。问题本身就是信息。
- 难道你的提问(就是你的想法)被泄露,不比你的数据被泄露更有价值吗?直接超过三体人,了解你的思想了。