ChatGPT 出现后,人们预测「所有行业都要通过 AI 进行重塑」,有些工作会被代替,也有工作会改变形式。作为把 AI 造出来的程序员,他们的职业会变成什么样?
最近,事情看起来有了谱,一群工程师和学者喊出了「AI 工程师」的概念,获得了众多响应:
图片
(资料图)
由于 GPT-4 等大语言模型展现出的通用化且强大的能力,我们的工作方式或许很快就会转变成和 AI 协同工作,跟上人工智能的步伐本身就是一项全职工作。
据说,这个「AI 工程师」处于全栈工程师和机器学习工程师之间,占据后端工程师的一部分,专注于大模型的构建。现在它还处于定义阶段,不过看大家热烈讨论的样子,距离落地应该不远了,毕竟 ChatGPT 革命的速度就是这么快。
想法一出,AI 领域大 v 们迅速有了点评。OpenAI 科学家、前特斯拉 AI 和自动驾驶主管 Andrej Karpathy 表示赞同。「大模型创建了一个全新的抽象和专业层,到目前为止,我把它称为『提示工程师』,但现在不止是提示的问题。」
另外他指出四个要点:
过去的机器学习工作通常要从头开始训练算法,而结果一般性能有限。大模型训练与传统机器学习有很大不同,前者系统工作量很大,进而分裂出一种新角色,专注于在超级计算机上对 Transformer 进行大规模训练。从数字上看,AI 工程师的数量可能会比机器学习工程师 / 大模型工程师多得多。你无需接受任何训练就可以成功担任这一角色。图片
马斯克看完以后也说了:
图片
职位需求大,有重要意义且门槛低,看起来让人既兴奋又焦虑。
在讨论中,也有人提出了「认知工程师」、「AI 系统工程师」等名称作为候选,英伟达 AI 科学家 Jim Fan 认为这种新兴的职业应该被称为「无梯度工程师」—— 从传统工具 1.0,到神经网络 2.0,再到无梯度架构的 3.0,我们终于等来了 GPT 系列自我训练的 4.0 版本。
图片
对此,威斯康星大学助理教授 Sebastian Raschka 表示,这仅适用于通用助理,对于大多数业务,你也不需要「通用」。
名称和定义给了很多,让我们看看这个「AI 工程师」到底是什么样的职位?
在基础模型的突破性能力和开源大模型、API 的推动下,我们正在见证应用人工智能十年一次的转变。
在 2013 年需要花费五年时间和一个研究团队才能完成的人工智能任务,现在只需要 API、文档和 2023 年一个空闲的下午即可完成。
图片
然而,细节决定成败 —— 应用和产品化人工智能的挑战无穷无尽:
模型上,有从最大的 GPT-4 和 Claude 模型,到开源的 Huggingface、LLaMA 和其他模型;工具上,从最流行的链接、检索和矢量搜索工具(如 LangChain、LlamaIndex 和 Pinecone)到新兴的自主代理领域(如 Auto-GPT 和 BabyAGI);技术上,每天新提交的论文、模型和技术的数量随着兴趣和资金的增加而呈指数级增长,以至于了解这一切几乎已是一项全职工作。若认真严肃地对待此种情况,这应该被认为是一份全职工作。因此,软件工程将催生出一个新的子学科,专门研究人工智能的应用并有效地运用新兴的堆栈,就像「站点可靠性工程师」(SRE)、「开发运营工程师」、「数据工程师」和「分析工程师」的出现一样。
这个角色的全新(也是最不令人敬畏的)版本似乎是:人工智能工程师。
我们知道,每家创业公司都有某种讨论 AI 使用的 Slack 频道,很快这些渠道将从非正式团体转变为正式团队。目前,成千上万的软件工程师正致力于生产 AI API 和 OSS 模型,无论是在上班时间还是晚上和周末,在公司 Slacks 或独立 Discords 中,这一切都将专业化并集中在一个头衔上:AI 工程师。
这可能是未来十年需求最高的工程工作。
人工智能工程师将随处可见,从微软和谷歌等科技巨头,到 Figma、Vercel 和 Notion 这样领先的初创公司,独立开发者,如 Simon Willison、Pieter Levels 和 Riley Goodside。他们在 Anthropic 进行的工程实践,每年可以赚取 30 万美元,在 OpenAI 构建软件,每年能赚取 90 万美元。他们利用周末空闲时间在 AGI House 思考想法,并在 Reddit 的 /r/LocalLLaMA 专区上分享技巧。
他们的共同点是,几乎可以在一夜之间就能把人工智能的进步转化为数百万人使用的实际产品。而在其中,你看不到一个博士学位的头衔。在交付人工智能产品时,你需要的是工程师,而不是研究人员。
AI 工程师与 ML 工程师的大反转在 Indeed 网站上的一组数据表明,机器学习工程师的职位数量是 AI 工程师职位数量的 10 倍,但相比较而言,AI 领域的增长速率更快一些,有预测认为这种比例将在五年内发生反转,即 AI 工程师将会是 ML 工程师的数倍。
图片
HN Who’s Hiring(其是 Hacker News 上的一个月度帖子,它提供了一个平台,供雇主发布招聘信息) 不同类别的月度就业趋势
一直以来,关于 AI 和 ML 之间差异的争论无休无止,但又小心谨慎。我们也很清楚,职位为普通的软件工程师完全可以构建起 AI 软件。然而,最近大家又在围绕另一个问题展开讨论,即在 Hacker News 的一个热帖「如何进入 AI 工程」引起了大家的广泛兴趣,这则热门帖子也说明了市场上仍然存在的基本限制原则,对每个职位的区分还是很细的。
图片
Hacker News 上 2023 年 6 月一个帖子的截图:「如何进入 AI 工程」的热门投票答案。
直到现在,还有很多人认为 AI 工程是 ML 工程或数据工程的一种形式,所以当有人询问如何进入某一领域时,他们倾向于推荐相同的先决条件,如在上面的回答中,很多人推荐了吴恩达(Andrew Ng)的 Coursera 课程。但那些高效的 AI 工程师中没有一个人完成过吴恩达在 Coursera 上的课程,他们也不熟悉 PyTorch,也不知道数据湖(Data Lake)和数据仓库(Data Warehouse)之间的区别。
在不久的将来,没有人会建议通过阅读 Transformer 的论文《Attention is All You Need》来开始学习 AI 工程,就像你不会通过阅读福特 T 型车的设计图纸来开始学习驾驶一样。当然,理解基本原理和技术的历史进展是有帮助的,它可以帮你找到提高思路和效率的方法。但有时你也可以通过使用产品,以实际经验来了解它们的特性。
AI 工程师与 ML 工程师的反转不会在一夜之间发生,对于拥有良好的数据科学和机器学习背景的人来说,Prompt 工程和 AI 工程可能会在很长一段时间内不被看好。然而,随着时间的推移,需求和供应的经济规律将会占上风,人们对 AI 工程观点也会改观。
为什么 AI 工程师会兴起?在模型层面,现在很多基础模型是少样本学习器,具有很强的上下文学习以及零样本迁移能力,模型展现出来的性能往往超越了训练模型的最初意图。换句话说,创建这些模型的人并不完全知道模型的能力范围。而那些非 LLM(大语言模型)专家的人可以通过与模型更多地交互,并将其应用于研究所低估的领域来发现和利用这些能力。
在人才层面,微软、谷歌、Meta 以及大型基础模型实验室已经垄断了稀缺的研究人才,他们提供了「AI 研究即服务」的 API。你可能无法雇佣这种研究人员,但你可以租用他们的服务。现在全球大约有 5000 名 LLM 研究人员、5000 万名软件工程师。这一供应限制决定了处于「中间」类别的 AI 工程师将会崛起,从而满足人才需求。
硬件层面,各大科技公司、机构等大量囤积 GPU,当然,OpenAI、微软是第一个这样做的,但 Stability AI 通过强调他们的 4000 个 GPU 集群开启了初创公司的 GPU 竞争战。
图片
此外,一些新的初创公司开始崛起,如 Inflection(13 亿美元)、Mistral(1.13 亿美元)、Reka(5800 万美元)、Poolside(2600 万美元)和 Contextual(2000 万美元)已经普遍开始筹集巨额种子轮融资,以拥有自己的硬件设施。
美国科技行业的高管和投资者 Nat Friedman 甚至宣布了他们的 Andromeda 计划,该计划是一座价值 1 亿美元、拥有 10 exaflop 计算能力的 GPU 集群,专门为其投资的初创公司提供支持。在 API 领域的另一侧,将会有更多的 AI 工程师能够使用模型,而不仅仅是训练模型。
效率方面,与其要求数据科学家、机器学习工程师在训练单个特定领域模型并投入生产之前进行繁琐的数据收集工作,产品经理、软件工程师可以通过与 LLM 进行交互,构建和验证产品想法。
图片
假设后者(数据、ML 工程师)的数量是前者(AI 工程师)的 100 到 1000 倍,而通过与 LLM 交互的工作方式会让你比传统的机器学习快 10 到 100 倍。因此,AI 工程师将能够以比以往便宜 10000 倍的方式验证 AI 产品。
软件层面,会出现 Python 到 JavaScript 的变化。传统上,数据和 AI 领域以 Python 为中心,而第一批 AI 工程工具(如 LangChain、LlamaIndex 和 Guardrails)也以 Python 为主。然而,JavaScript 开发者的数量至少应与 Python 开发者数量相当,因此现在的工具越来越多地向这个方向扩展,从 LangChain.js 和 Transformers.js 到 Vercel 的新 AI SDK。JavaScript 的市场总体规模的扩大和机遇是令人瞩目的。
每当一个有着完全不同的背景、使用完全不同的语言、生产完全不同的产品、使用完全不同的工具的子群体出现时,他们最终会分裂成自己的群体。
代码在软件 2.0 到软件 3.0 演进中的作用6 年前,Andrej Karpathy 撰写了一篇非常有影响力的文章,描述了软件 2.0,将精确建模逻辑的经典堆栈手写编程语言与近似逻辑的机器学习神经网络的新堆栈进行对比。文章表明软件能够解决更多问题,而这些问题是人类无法建模的。
今年,Karpathy 继续发表文章指出,最热门的新编程语言是英语,因为生成式 AI 的提示可以理解为人类设计的代码,很多情况下是英语,并由 LLM 解释,最终填补了他的图表中的灰色区域。
图片
注:软件 1.0(Software 1.0)的经典堆栈是用 Python、C++ 等语言编写的。软件 2.0 是用神经网络权重编写的,没有人参与这段代码的编写过程,因为权重有很多。
去年,Prompt Engineering 成为一个流行的话题,人们开始将 GPT-3 和 Stable Diffusion 应用于工作。人们嘲笑 AI 创业公司为 OpenAI 包装器,并对 LLM 应用程序易受提示注入和反向提示工程的问题感到担忧。
但 2023 年很重要的一个主题是关于重新确立人类编写的代码的作用,从超过 2 亿美元的巨头 Langchain 到由英伟达支持的 Voyager,显示出代码生成和重用的重要性。Prompt Engineering 既被过度炒作又具有持久性,但在软件 3.0 应用程序中重新出现的软件 1.0 范式既是一个巨大的机遇,也为大量的创业公司创造了新的空间:
图片
随着人类工程师学会利用 AI,AI 越来越多地接手工程工作,未来,当我们回头看时,分辨出两者之间的区别已经很困难了。
标签: