随着人类工程师学会如何利用 AI,AI 承担的工程工作也越来越多,直到遥远的未来,我们再也无法分辨出两者之间的区别。
原文链接:https://www.latent.space/p/ai-engineer
未经允许,禁止转载!
作者 | swyx 译者 | 弯月
责编 | 夏萌
出品 | CSDN(ID:CSDNnews)
我们发现在基础模型的新兴功能和开源/API 的推动下,应用人工智能的发展出现了一次“右转”。
2013年的时候需要 5 年时间和一个研究团队才能完成的各种人工智能任务,如今只需要一些 API 文档和一个下午即可完成。
“从数量上看,AI 工程师的数量可能远多于机器学习工程师和大型语言模型工程师。无需接受任何培训就可以非常成功地担任这一角色。”—— Andrej Karpathy
然而,细节决定成败,成功评估、应用和产品化 AI 所遇到的挑战无穷无尽:
模型:无论是评估最大的 GPT-4 和 Claude 模型,还是最小的开源 Huggingface、LLaMA 以及其他模型。
工具:无论是最流行的工具链、检索和向量搜索工具(如 LangChain、LlamaIndex 和 Pinecone),还是新兴的自主代理领域(如 Auto-GPT 和 BabyAGI)。
新闻:随着兴趣和资金的增加,相关论文、模型和技术的涌现数量呈指数级增长,只有投入全部精力才能掌控这一切。
我认为这个岗位需要全职工作人员。我认为软件工程将催生一个新的子学科,专门研究 AI 的应用并有效地运用新兴的技术栈,就像“站点可靠性工程师”、“开发运维工程师”、“数据工程师”和“分析工程师”的出现一样。
这个岗位就是 AI 工程师。
据我所知,每家初创公司都有一个“AI 讨论群”之类的群。这些群将逐步发展为正式团队,就像 Amplitude、Replit 和Notion 一样。成千上万的软件工程师投身于 AI API 和 OSS 模型,有些是在上班时间,而有些是利用晚间和周末,他们努力的专业方向即为 AI 工程师。这可能是未来十年需求最高的工程岗位。
AI 工程师随处可见,无论是微软和谷歌等大型公司,还是 Figma、Notion 等小型公司,以及Simon Willison、Pieter Levels 和 Riley Goodside 等个人技术者。他们正在努力将 AI 转化为可供数百万人使用的实际产品。
这中间没有博士人才,因为交付 AI 产品需要的是工程师,而不是研究人员。
AI 工程师与 ML 工程师需求量的反转
我希望人们能够关注这一趋势。根据求职网站 Indeed,目前 ML(机器学习)工程师的岗位数量是 AI 工程师的 10 倍,但 AI 工程师岗位的增长率更高,我认为这个比例将在 5 年内出现反转。
所有职位名称都不完美,但有些名称很有用。我们已经厌倦了有关 AI 与 ML 之间的差异之争,而且我们很清楚“软件工程师”角色完全有能力构建 AI 软件。然而,最近网上的讨论说明了人们的普遍认知:
大多数人仍然认为 AI 工程师只不过是 ML 或数据工程的一种形式,因此这些岗位的要求基本相同。但我向你保证,上面提到的高效 AI 工程师中没有一个接受过相关的培训,他们不了解 PyTorch,也不知道数据湖或数据仓库之间的不同。
在不久的将来,没有人会建议只需阅读一些论文就可以成为 AI 工程师,就像即便你阅读了车辆的机械原理图也无法学会如何驾驶车辆一样。当然,了解基础知识和历史背景会有帮助,而且可以帮助你发现公众未意识到的想法和效率/能力提升。但有时你可以直接使用产品并通过经验了解它们的品质。
我不认为这种反转会在一夜之间发生。塞满简历、填补市场空缺、通过引用更有权威的更深层次主题来凸显自己,这是人类的天性。换句话说,在很长一段时间内,提示工程和 AI 工程还无法与拥有良好数据科学或 ML 背景的人相媲美。然而,我认为市场的供求关系不可阻挡。
为什么 AI 工程师会兴起?
基础模型是“小样本学习”,展现出了上下文学习的能力,甚至是零次学习的能力,其泛化能力超出了模型训练者最初的计划。换句话说,创建模型的人并不完全了解这些模型的能力。非大型语言模型研究人员只要多花点时间在模型上,并将其应用到被研究低估的领域,就能够发现和利用这些能力。
微软、谷歌、Meta和大型基金会模型实验室已经垄断了稀缺的研究人才,以提供“ AI 研究即服务”API。虽然你招不到这类人才,但可以租用他们——如果你的软件工程师知道如何与他们合作。全球大约只有 5000 名大型语言模型研究人员,但软件工程师大约有 5000 万。供应限制决定了处于“中间”层的 AI 工程师将崛起以满足需求。
GPU 囤积。当然,OpenAI/微软是第一,但 Stability AI 强调他们拥有 4,000 个 GPU 的集群,这算是拉开了初创公司 GPU 竞赛的序幕。
从那以后,新起的创业公司纷纷筹集到巨额种子轮资金来购置硬件,比如Inflection(13 亿美元)、Mistral(1.13 亿美元)、Reka( 5800万美元)、Poolside( 2600 万美元)以及 Contextual(2000 万美元)等。Dan Gross 和 Nat Friedman5 甚至宣布了 Andromeda,这是他们专门为投资的初创公司打造的 1 亿美元、10 exaflop GPU 集群。全球芯片短缺的局势愈演愈烈。而 API 另一端的 AI 工程师使用的模型无需训练就能拥有更多能力。
先开火再瞄准。各个公司不再需要数据科学家/ ML 工程师担任繁琐的数据收集工作,训练单个领域的特定模型,然后再投入生产;产品经理/软件工程师可以直接向大型语言模型输入提示,构建并验证产品创意,然后微调数据。假设软件工程师的数量是 ML 工程师的 100~1000 倍,并且“先开火再瞄准”工作流程的速度比传统的机器学习快 10~100倍,那么 AI 工程师验证 AI 产品的成本仅为千分之一或万分之一。这相当于瀑布式开发对战敏捷开发,而 AI 工程师就是敏捷开发。
Python + JavaScript。传统的数据/AI 皆以 Python 为中心,第一款 AI 工程工具(如 LangChain、LlamaIndex 和 Guardrails)就诞生于 Python 社区。然而,JavaScript 开发人员的数量并不少于 Python 开发人员,因此如今的工具(比如LangChain.js、Transformers.js 以及 Vercel 的新 AI SDK)逐步向这批更广大的受众倾斜。该领域的扩张和机遇至少增大了一倍。
生成式 AI 与分类器 ML。 “生成式 AI”已失宠,取而代之的是“推理引擎”等,但我们经常使用生成式AI 来阐述两类工具和人员之间的区别:现有 ML 运维工具和 ML 从业者之间,与新兴的擅长使用大型语言模型和文本到图像生成器的人员。现有的机器学习侧重于欺诈风险、推荐系统、异常检测和特征存储,而 AL 工程师的工作是编写应用、个性化学习工具、自然语言电子表格以及可视化编程语言。
具有完全不同的背景、讲不同的语言、生产完全不同的产品、使用完全不同的工具的小组出现时,最终必然会分裂出自己的分支。
1+2=3:代码在软件 2.0进化到软件 3.0 的过程中的作用
六年前,Andrej Karpathy 写了一篇非常有影响力的文章,文中描述了软件 2.0:软件 1.0 指的是“经典技术栈”,即精确建模逻辑的、手工书写代码的编程语言;与之相比,软件 2.0 指的是“机器学习”神经网络技术栈,这类技术能够解决的问题远远多于人们能够建模的问题。今年他又指出,最热门的新型编程语言是英语,填补了下图中未标记的灰色区域。
去年,随着 GPT-3 和 Stable Diffusion 投入使用,有关提示工程给各个工作岗位带来的影响的表情符层出不穷。人们嘲笑 AI 创业公司不过是“OpenAI 包装器”,同时也因大型语言模型应用很容易受到提示注入和反向提示工程的影响而感到焦虑。
然而, 2023 年最热门的话题之一便是如何重新确立人类编写的代码的作用,协调大型语言模型的力量或取而代之,Langchain 获取了巨额融资估值高达 2 亿美元,还有 Nvidia 支持的 Voyager,这些都展示了生成和重用代码的重要性。
我认为,提示工程只不过是一时的炒作,而且还会长期存在,但软件 1.0 范式在软件 3.0 应用程序中的重新出现既是一个充满机遇/混乱的领域,也为众多初创公司创造了空白:
当然,这不仅仅是人类编写的代码。最近,我尝试了 smol-developer、 gpt-engineer 以及其他代码生成代理(如 Codium AI、Codegen.ai 和 Morph/Rift),它们都在朝着成为 AI 工程师工具包的一部分的方向发展。随着人类工程师学会如何利用 AI,AI 承担的工程工作也越来越多,直到遥远的未来,我们再也无法分辨出两者之间的区别。