什么是AI Engineering?

AI百科4个月前更新 快创云
47 0

  近期,AI工程再次成为热议话题。这让我有些惊讶,因为直觉告诉我,在大型语言模型(LLMs)热潮过后的这两年里,该角色的定义应该已经尘埃落定了。此外,在机器学习基础设施领域工作的我,经常听到关于AI工程师理想客户画像(ICP)的讨论,似乎对于我们所讨论的人才类型已经有了清晰的认识。看来,我之前可能只是生活在自己的小圈子里!

  在本文中,我将阐述自己对AI工程师角色的看法,以及这一角色在近几年的演变。文章概要如下:

  1. LLMs时代AI系统的演变:探讨在大型语言模型技术不断进步的背景下,AI系统是如何发展变化的。
  2. AI工程与机器学习或软件工程的区别:分析AI工程作为一个专业领域,与机器学习或传统软件工程在目标、方法、技能需求等方面的不同之处。
  3. 入行AI工程师所需技能:列举并解释想要成为AI工程师所需掌握的关键技能和知识领域,包括技术技能、业务理解能力、团队合作与沟通能力等。
  4. AI工程的未来展望:预测AI工程领域的发展趋势,包括技术进步、市场需求变化、新兴应用场景等,以及这些变化对AI工程师角色和技能要求的影响。

  在LLMs(大型语言模型)时代,AI系统的演变情况,我的看法很简单(可能有些人会觉得有争议)。AI系统本身并没有发生太大变化,真正改变的是我们现在拥有了LLMs,这使得我们能够解决一些以前无法解决的复杂任务——作为AI系统流程中的一环。总体而言,LLMs在日常应用中是一种极其多功能的工具,但当涉及构建AI系统时,它的哪些新关键能力值得关注呢?

  答案是:规划、内容提取、内容生成和代码生成。大致就是这些。它强大吗?当然强大!尤其是与常规软件和机器学习相结合时。

  AI系统仍然是一个由多个组件构成的系统,其中一些组件可以是LLMs,一些是代码执行,还有一些可能是传统的分类模型。说到这里,值得探讨的是,这些结合了新旧技术的新型应用是如何演变的,因为AI工程师与它们的开发和部署紧密相连。

  如果由我决定,我会更倾向于使用“AI系统工程师”这一术语,而非“AI工程师”,因为这样能更贴近构建成功AI产品的本质。在构建最终成果——即生产化的AI系统时,主要涉及两个关键的工程相关角色:

  1. AI研究人员:他们负责在LLM(大型语言模型)应用生命周期的初始阶段(上图标记为1)进行工作。这包括LLM的预训练和后训练,这些LLM将随后被用于AI系统中。近几个月来,后训练阶段越来越受到重视,因为我们似乎终于达到了LLM缩放定律的极限。后训练研究催生了一些产品,如OpenAI的o1。尽管其用途目前仍有限,但随着延迟的减少,它可能会显著提升基于此类“推理”模型构建的系统。
  2. AI工程师:他们利用预训练的LLM构建AI系统(上图标记为2),以解决实际的业务问题。在过去几年中,实践已经从构建基于单一提示→回答架构的简单应用程序,演变为更复杂的检索增强生成系统,然后是代理式RAG(检索增强生成),最终是能够执行超出简单回答问题范围的任务的代理。在未来两年内,我们应该能够可靠地部署更复杂的多代理系统,并且可能(更可能在2026年底或2027年)实现几乎不需要人类操作员监控的完全自主代理系统。

  如果我们按照角色的通用定义(第3点)来看,AI研究人员和AI工程师在日常工作中会有一些重叠。这个领域正在快速发展。如前所述,越来越多的研究正投入到后训练过程中,AI工程师将在这其中扮演多少角色尚待观察,但似乎这一任务可能会更多地转向AI研究人员。AI工程师的目标是利用已有的资源,构建一个能解决业务问题的AI系统。这并不意味着你不需要时不时地微调LLM。

  如今,一个真正准备好投入生产的AI系统很少是简单的。大多数项目失败的原因在于输出的准确性难以提升至所需水平(或者是在不了解准确性的情况下部署),这通常会导致最终悄无声息地失败,并带来灾难性的后果。为了改进系统,我们通过各种方法为其赋予一定程度的自主性,如:路由、反思、查询重写等。“AI工程师的目标是利用现有资源,构建一个能解决实际业务问题的AI系统。”随着系统变得越来越复杂,管道中的大多数节点都会产生非确定性结果。这些结果需要被评估,因为任何一步的失败都可能导致最终输出的偏离。评估是困难的,且目前尚未成为普遍解决的问题,尽管它正在被积极研究。为了增强系统的稳健性,我们引入了额外的组件,如:评估、可观测性、防护栏等。

  一个极为简单的自主系统示例是基础代理式检索增强生成(Agentic RAG)。以下是描述此类系统的高级步骤:

  1. 用户查询分析:我们将原始用户查询传递给基于大型语言模型(LLM)的代理进行分析。在这一环节:原始查询可能会被重写(有时需多次重写),以生成一个或多个查询供后续流程使用;代理会判断是否需要额外数据源来回答查询。
  2. 若需额外数据,则触发检索步骤。在代理式检索增强生成(Agentic RAG)中,可能有一个或多个代理负责确定应利用哪些数据源;例如:实时用户数据、用户可能感兴趣的内部文档、网络上可用的数据。
  3. 若无需额外数据,我们则尝试直接通过LLM生成答案(或多个答案)。
  4. 对答案(或多个答案)进行正确性、相关性分析和总结;若代理认为答案足够好则将其返回给用户;若代理认为答案需要改进则尝试重写用户查询并重复生成循环。显然常规检索增强生成(RAG)流程中增加了大量非确定性因素在某些情况下如果未适当中断流程可能会陷入无限推理循环。在未来的新闻简报中我们将逐步介绍如何优化您的RAG流程。代理式RAG已可被视为一种代理且是业界最常见的代理之一这正是AI工程师需要处理的!

  让我们明确一点如今构建大型语言模型(LLM)应用似乎轻而易举只需连接到第三方API设计一些提示语将应用与聊天界面或电子邮件流相连你就能拥有一个代理系统确实这样做很容易但系统一旦开始崩溃其效用也就终止了!在与利用LLM进行开发的公司交流时我观察到大多数公司仍处于初级阶段通常由软件工程师构建初始应用(通常是聊天机器人、聊天代理或邮件代理)。然而遗憾的是软件工程师并不擅长处理非确定性系统这正是机器学习工程师的专长这些系统通常缺乏适当的可观测性甚至缺乏某种基本的自动化评估机制——组织在盲目运行并依赖人力对大规模产品进行评估!就在一年半前我还会说所谓“AI工程师”这一新角色的存在并不合理当时人们正公开讨论现在每个人都能构建LLM应用并在几天内将其投入生产但在构建了几个这样的应用后我的看法发生了改变开始很容易但如果没有坚实的基础项目终将失败——我们需要AI工程师!有人可能会争辩说从机器学习工程师、软件工程师或AI研究人员转向AI工程最为自然!

  AI研究人员擅长原型设计能够提出新颖的想法并测试其假设他们分析输出数据探索持续改进模型的新策略对统计学和机器学习基础知识有深刻理解如今他们很可能已能够自行在分布式系统上运行大型语言模型(LLM)训练。然而他们在技能上的初步不足在于部署现实世界中的生产应用以及在LLM领域实施机器学习运维(MLOps)最佳实践的能力;机器学习工程师则能够构建和部署配备MLOps所有功能的常规机器学习模型作为AI/ML系统这包括实现反馈循环以及观察并持续改进系统的能力此外机器学习工程师通常在一定程度上参与数据工程经常使用机器学习专用的数据存储如特征存储或向量数据库但他们在技能上的初步不足在于进行深入研究构建生产就绪的高吞吐量系统以及实施和运行常规软件最佳实践的能力;软件工程师同样表现出色他们能够打造复杂的高吞吐量、低延迟确定性系统将业务需求转化为复杂的软件流程他们是DevOps和软件工程最佳实践的专家能够以高速度安全地开发和部署到生产环境然而他们在技能上的初步不足在于处理非确定性系统的推理能力以及如何观察和评估这些系统此外他们通常不会持续学习非软件相关的知识这些知识可能在一天内发生巨大变化从而需要重构整个系统!期望存在许多在这三个领域都表现出色的专业人士是不切实际的——这样的人如同独角兽般稀有因此我认为我们通常会看到AI工程师融合了其中两个领域的技能并归入上述图表中的1、2或3类区域这些角色是否会有不同的名称尚不清楚我首先想到的是或许第3类人员可以被称为AI系统工程师或AI架构师让我们拭目以待其演变!如今一个新趋势是新成立的公司以较少的工程师数量就超越了老牌公司我认为全栈AI工程师将是最有可能颠覆市场的群体!在代理应用(Agentic applications)领域研究活动层出不穷令人目不暇接例如最近就有一篇论文发布了关于提示格式(Prompt Formatting)如何影响大型语言模型(LLM)应用性能的研究成果!研究能力:白皮书应成为你的得力助手在代理应用领域研究活动如此之多难以跟上节奏事实上凭借内部数据和计算资源作为AI工程师的你最有条件进行自主研究探索哪些方法有效哪些无效并且为了雇主的利益你应该这么做!提示工程(Prompt Engineering):虽然听起来简单但提示工程和格式化的技巧却非常广泛在代理系统中你还需处理跨代理提示依赖、共享状态和通过提示实现的内存此外你需要为创建的每个提示定制评估方法并搭配可用于测试的数据集!软件开发能力:这一点毋庸置疑你部署的系统必须坚实可靠你需要了解并遵循软件工程和DevOps的最佳实践!基础设施能力:一方面你需要能够部署自己的工作成果这可以说是软件开发的一部分另一方面你需要理解数据以及新型存储系统如向量数据库(Vector DBs)这些并非新事物但非机器学习工程师很少使用!数据工程能力:你可能会惊讶于自己在理解、清洗和处理用于AI系统的数据上所花费的时间并非一切都与提示有关最困难的部分通常是将数据源集成到AI应用中!适用于AI系统的MLOps(AgentOps):过去五年我们通过MLOps运动为构建AI系统引入了许多良好实践在构建LLM时大部分实践都应得到应用!评估与可观测性:我在一篇文章中谈到了观察代理系统的一些挑战:LLMOps管道中的可观测性不同规模的层级 LLMOps管道中的可观测性不同规模的层级 提示跟踪与版本控制、反馈与持续系统改进飞轮也是关键要素记住:“并非一切都与提示有关最困难的部分通常是将内部数据源集成到AI应用中!”作为AI工程师你的日常工作会是什么样子?令人惊讶的是作为AI工程师你的日常工作中有很多与非工程相关的内容组织仍在LLM的热潮中你可能会被要求在任何地方实施它们即使它们并不适合你的关键职责之一将是指导组织并走在前列决定何时何地甚至是否需要LLM来解决业务问题你将进行大量研究阅读论文和博客密切关注顶尖玩家的动向还记得Anthropic推出上下文嵌入(contextual embeddings)时吗?现在看来这显然是个好主意但直到有人撰写相关文章并通过提示缓存使其在成本上可行之前还花了一段时间你将花费大量时间构建测试数据集以便评估你的系统与利益相关者的协作至关重要例如你需要与前端系统紧密集成以实现反馈之后工程部分才开始而上述所有努力都是值得的!“你的关键职责之一将是指导组织并走在前列决定何时何地甚至是否需要LLM来解决业务问题。”我预测未来几年内每家企业都将拥有一套自主流程来自动化其内部流程因此所有企业都将需要人工智能工程师的技能此外人工智能应用将成为为企业带来最大价值的工具为了在竞争中保持领先每个企业都将加大对这项技术的投入!未来几年人工智能工程师将成为最热门的职业由于该领域人才短缺其薪资水平高且需求将持续增长2025年将是自主代理之年而2026年则很可能是多代理系统和自主代理之年!不仅如此人工智能工程师现在以及未来都最适合承担用最少资源创建新公司的任务人工智能工程师的技能越全面他们将拥有的能力就越强大!如果你想踏入人工智能工程师这一职业

© 版权声明

相关文章