了解如何帮助您的软件工程师获得技术技能、理论知识和同理心,转向人工智能开发人员和 LLM 工程师角色。
翻译自 Tech Works: How to Fill the 27 Million AI Engineer Gap 。
编辑注:《Tech Works》是由长期为《The New Stack》撰稿的 Jennifer Riggins 撰写的月度专栏,探讨工作场所条件、管理思想、职业发展以及技术就业市场,以及它如何影响那些构建和运行全球所依赖的软件的人们。我们欢迎您的反馈和未来专栏的想法。
全球范围内,仅有约 15 万名机器学习工程师,占全球 2900 万名软件工程师的一小部分。
然而,人工智能正推动着对大型语言模型(LLM)开发人员日益增长的需求,这已经变得难以满足。全球芯片短缺和当前技术限制等外部因素意味着,最受需求的技能组合在短期和长期内将有很大的变化,而在这个新的人工智能时代,这可能仅仅是几个月的事情。这就是为什么美国的人工智能工程师职位招聘中吹嘘六位数的薪水。
快速缩小这一差距的最佳机会在于对技术人员进行再培训。
那么,组织如何帮助软件工程师转变为人工智能开发人员呢?
在本期《Tech Works》中,我与 Activeloop 的市场负责人 Mikayel Harutyunyan 进行了交谈。Activeloop 是一家将数据与机器学习模型连接起来的公司,谈到了人工智能对开发者体验的影响,以及提示工程师、数据科学家和 LLM 开发人员的成长之旅。
由于工程思维本质上是科学的,所以毫不奇怪,您的大多数工程团队已经在尝试使用人工智能进行实验。无论您是否要求他们这样做,他们可能已经在与 GitHub 的 Copilot 和 ChatGPT 进行配对编程。(值得注意的是,最近有消息称,尽管它们似乎非常令人信服,但 ChatGPT 的代码建议超过一半的时间都是错误的。)
在开发中人工智能市场的下一步逻辑是成为一个提示工程师。
在人工智能中,提示是任何信息,如问题和答案,它们向人工智能传达您希望得到的响应。因此,提示工程师的任务包括:
一个常见的当前用例是客户服务聊天机器人。提示工程师不仅需要了解模型,还需要了解最终用户或客户。
但是 Harutyunyan 预测,这种提示工程师更像是反映了当前人工智能限制的一个权宜之计角色——很快,人工智能模型很可能会比人类做得更好,甚至可以阅读和识别情感,比如挫折感。
在未来的一年左右,结合图像和文本的提示很可能也可以由生成式人工智能进行翻译。想象一下,通过书面描述和一些汽车事故照片来评估汽车保险索赔是否有效。
随着聊天机器人工具变得更加自主且不那么技术化,提示工程师将成为专业领域的专家。一旦客户支持代表获得了重复的查询,他们将自动将问题和答案输入到机器学习工具中,以便聊天机器人下次回答这个问题。
为了将机器学习模型更接近特定行业或组织的要求,去掉开发人员的角色是有道理的。毕竟,楼宇经理比离岗开发人员更了解他们的建筑物,并且很快将能够更好地调整与暖通空调和安全摄像头通信的模型。
但在提示工程师角色发展到这个阶段之前,Harutyunyan 表示,这份工作需要更多关注用户的思维和语言方式的同理心。“人们会写这个或那个,我需要确保我的模型预期他们会写这个内容,”他指出,包括俚语、缩写、表情符号等。
即兴表演课程和工程师与客户支持代表的搭档是培养这种同理心和口头多样性的两种方法。或者,您可以为客户代表提供技术培训,他们很可能已经具备这种同理心和客户视角。
而且,不要担心,即使提示工程师角色只持续一两年,同理心始终是软件工程师一项必备的技能。
确实很少能找到能够满足所有条件的人工智能工程师候选人,但有一些特定的技术和核心技能会让您成为比大多数人更好的候选人。Harutyunyan 将它们归为机器学习工程技能和更多的 LLM 工程技能。
开源编程语言 Python 在机器学习领域占据主导地位。特别是在 Facebook 提出了一项非常技术性的 Python 变更之后,Python 的地位变得更加重要。Harutyunyan 表示,这使得 Python 更适合进行 LLM 培训。全局解释器锁定(GIL)一次只允许一个线程运行,因此去除该锁定可以实现多线程处理,从而加快训练速度。
绝大多数软件工程师至少对 Python 有一些了解,但许多人缺乏其他机器学习的基本知识,包括统计学。开发人员需要复习基本的统计学知识,Harutyunyan 说,还需要了解机器学习的基础知识,例如:
除了 Python 之外,还应该了解用于开发大型语言模型应用程序的 LangChain 框架。此外,深入研究用于人工智能的长期记忆的向量数据库。
Harutyunyan 将大型语言模型更多地归为“深度学习技能”,因为这仍然是一个新兴的主题,而且在学术界已经被相当限制。
为了开始您的 LLM 之旅,他建议学习 Transformer 机器学习模型。他将其比作一个神秘小说,您可以逐页收集线索来确定罪犯。
“Transformer 模型可以同时查看书的所有页面,然后交叉引用线索,并说'好的,这是下一个单词的概率',或其他什么内容。”
Harutyunyan 表示,这个主要用于文本数据的模型“有助于确保您理解在数据内部跨越非常长距离分布的某些关系和模式。”
然后,Transformer 的注意机制允许您对不同的输出和其他信息分配更大的重要性。
Harutyunyan 和许多数据科学家还建议阅读康奈尔大学研究人员的重要论文《Attention Is All You Need》。
如果您迄今为止错过了阅读这篇研究论文,他补充说,没关系。“如果您正在学习驾驶汽车,您实际上不需要再多了解第一辆汽车的历史以及它是如何制造的,”他说。“这就是现在正在发生的特殊之处。”
他指出,许多软件工程师只是跳上驾驶座,将 LLM API 与存储在数据库中的数据连接起来, Harutyunyan 指出,“他们正在构建一个真正起作用的演示。”
但是,他补充说,了解基本原理会让您具有优势:“那个层次将会非常快速地变得大众化,因为每个人都将能够将大型语言模型的API连接到其数据,并为特定用例构建一个带有简单用户界面的通用应用程序。”
在整个学习过程中,继续了解 LLM 的训练方式——考虑自然语言处理——以及为什么您的模型不起作用。
在采取了这些步骤之后,Harutyunyan 表示,现在是学习数据飞轮的时候了,其中您会将数据产品化,从而提高从私有数据中产生的端到端价值的速度。这种实时数据和模型在生产中运行,不断反馈变化和改进,比如分析为什么一次销售成功或失败。
他建议查看由前特斯拉和 OpenAI 的 Andrei Karpathy 制作的面向 AI 初学者的深入详细解说视频。
一旦投入生产,您可以利用知识检索器架构为 LLM 提供支持。这会将 Slack、电子邮件或客户聊天等现有来源的数据整合起来,并了解如何存储您的数据,以便对问题的回答是相关的。这在您不想支付存储不相关数据和回答时更为重要。
就像一个具有不同技能的 DevOps 团队比一个单一的全栈开发人员更容易成功一样,将工程师(从前端到后端再到机器学习)和领域专家配对或组成团队,将加速您组织的人工智能增长。
与将生成式人工智能从记者手中夺走工作的传言相反,语言技能比以往任何时候都更受欢迎。
“我所看到的是,像我这样的非技术人员往往能够从 LLM 获得比技术人员更好的输出,” Harutyunyan 表示。
他发现与开发同事搭档创建适用于改进提示和结果的查询会取得更好的效果。
“工程师通常是非常面向对象的。所以他们会说:X 做 Y,然后从 Y 走向 Z,”他说。“也许您还需要具备一些更丰富的语言能力,并且能够用更好的词语解释——如果您有这个用例,您就是这个人。”
他指出,加利福尼亚大学伯克利分校的新成立的“计算机、数据科学和社会学学院”部分是为了关注将人为中心的技能纳入人工智能领域。
世界上所有的钱都不能买到不存在的东西。最近尝试购买汽车、手机或视频游戏机的人都受到了持续不断的微芯片供应链危机的影响。计算资源严重不足。而大型语言模型需要数百 TB 的数据,随着 LLM 模型的增长,数据需求也会增加。
“在我们当前的范式中,计算资源是制约因素,而不是软件人才。产品领导者必须重新定义如何优先考虑各种产品或功能,将 GPU 限制置于战略决策的前沿,”技术和战略顾问 Prerak Garg 最近在 HackerNoon 上写道。
为了帮助组织做出关于 LLM 培训的决策,他提供了一个 GPU 优先级框架给产品领导者。
首个需要提升技能以适应 LLMs 的目标受众是经典的机器学习工程师,他们已经能够训练较小的模型,并可以将这些技能应用于大型语言模型的规模。
Harutyunyan 表示,这样的工程师需要更多地了解如何为 AI 存储数据和数据库,以及如何以更高效、更低成本的方式包装数据,以便训练这些规模更大的模型,包括表格数据、非表格数据和原始数据,比如需要正确标记的图像。
此外,还需要掌握 MLOps 的基础知识,以进行训练和部署,从而得到复杂的 LLM 开发人员工作描述。
能够优化计算资源的 LLM 开发人员需求很大。Harutyunyan 及其同事认为,对于精细调整 LLM 以实现成本效益,CPU 优于 GPU,特别是当 GPU 稀缺时。
但是,如果您可以优化特定领域的性能,Harutyunyan 认为,通过对模型进行精细调整,您可以大大降低成本。还要注意,对计算效率的强调始终会转化为更小的环境影响。