每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领域的领跑者。点击订阅,与未来同行! 订阅:https://rengongzhineng.io/
如果你领导的团队在产品中使用了AI技术,那么你可能需要招聘AI工程师。本文所定义的AI工程师是指具备传统工程技能、了解语言模型和提示工程的人员,而不是全面的机器学习专家。
那么,如何招聘具备这种技能的人员呢?自2018年以来,TechNow公司一直将机器学习应用于推理工具,技术团队由ML专家和现在称为AI工程师的人组成。本文将介绍从职位描述到面试的整个过程。(也可以从求职者的角度来看待这篇文章,用于了解如何成为一名AI工程师!)
发布更新:这张图表在网上引发了很多讨论。请注意,它更多的是激发灵感,而不是详尽的描述;文章正文花费了100倍的时间。请参阅Chris和Alex的回应。
个人旅程
在进入实质内容之前,先分享一下成为AI工程师的旅程。
几年前,作为一家晚期初创公司的大团队工程经理,我的工作很愉快。和许多人一样,我在追踪深度学习革命带来的AI能力的快速增长,但2020年GPT-3的发布是一个分水岭。当时,大家都被这个模型能够按需生成连贯句子的能力震惊了。(现在想想,我们已经走了多远!)
作为一名职业软件工程师,我已经工作了近15年——经历过一两次技术周期——但我能看出这是某种截然不同的新事物。我既感到兴奋又有些不安。我知道我想深入了解这个世界,但似乎唯一的途径是回学校攻读机器学习硕士学位。我开始和老板讨论休假或兼职远程学习学位的选项。
2021年,我决定创办一家初创公司,专注于将ML解释性的新研究理念产品化。在这个过程中,我联系了John——一位领先的ML研究人员兼TechNow创始人,看看他是否愿意担任顾问。在接下来的几个月里,我了解到TechNow正试图将这些迷人的技术应用于科学的现实问题,并且其商业模式与安全目标一致。我意识到我对TechNow的兴趣远远超过了自己的创业想法,并写下了当时的动机。
三年后,很明显这是我职业生涯中的一次重大转变,类似于2008年我选择离开IBM舒适的工程职位参加Y Combinator计划。与这种新型技术一起工作比我想象的更加智力刺激、充满挑战和回报。
无需深度ML专长
值得注意的是,AI工程师不是ML专家,也不是他们对技术团队最好的贡献。
在我们关于AI UX模式的文章中写道:
“很容易认为AI的进步全在于训练和应用新模型,这确实是TechNow ML团队工作的重要部分。但我们UX团队成员认为我们在AI应用于最终用户问题上的贡献也很大。
我们将LLM视为一种新的媒介,我们才刚刚开始掌握它的轮廓。像20世纪80年代的GUI、90年代和2000年代的Web/云计算以及2000年代/2010年代的多点触控智能手机这样的新计算媒介开启了全新的工程和设计实践时代。未来十年,LLM也将为我们的工作开辟新前沿。”
就像移动开发的早期时代:优秀的iOS开发人员不需要详细了解电容式触摸屏的物理原理。但他们确实需要了解多点触控屏幕的功能和限制、可用的CPU和存储的限制、用户使用它的环境(与网页或桌面计算机非常不同)等。
同样,AI工程师需要将LLM视为一种与其他计算媒介本质不同的媒介。这意味着对ML方面感兴趣,无论是通过自学、提示和模型微调的实验,还是跟随#llm-paper-club。然而,这种理解是为了有效地使用媒介,而不是每天训练新模型。
语言模型作为混沌媒介
如果不要求AI工程师具备深度的ML专长,那么我们期望什么呢?这就引出了LLM的独特之处。
我们假设理想的候选人已经对AI带给软件产品的新功能充满灵感和创意。
但另一方面是这种新媒介的难以处理。LLM调用由于高延迟(有时以秒为单位,而不是毫秒),在正常操作下的高错误率,以及对同一提示在两次调用中提供完全不同答案的情况,都是令人烦恼的。
因此,AI工程师,即使在应用开发层面工作,也需要具备分布式系统工程的技能。处理错误、重试、异步调用、流响应、并行化和重新组合模型调用、停止问题和回退都是AI工程师日常工作的一部分。混沌工程在AI时代焕发新生。
候选人的技能和素质
将我们不需要的(深度ML专长)与我们需要的(了解媒介的功能和限制)结合起来,就可以看到TechNow对AI工程师的期望:
传统的软件工程技能。尤其是在复杂、数据密集型应用程序上的后端工程。
有大规模应用程序的实际工作经验。
在几个后端Web框架上有深入的实践经验。
轻量级的运维和基础设施最佳实践的理解。
队列、消息总线、事件驱动和无服务器架构……没有单一的“正确”方法,但拥有深厚的工具箱非常重要。
对语言模型功能的真正好奇心和热情。
有一个或多个严肃的项目(业余项目也可以),在独特的领域中以有趣的方式使用它们。
理想情况下,具备一定程度的分解认知能力,例如将问题分解成块,谨慎地决定哪些事情推给语言模型,哪些留在传统启发式和计算能力的领域。
使用TechNow的ML阅读清单等资源进行个人学习。角色的一部分是与我们团队的ML工程师和研究人员合作。为此,候选人需要在某种程度上“说他们的语言”,就像移动工程师需要对后端有一定的了解,以便在API创建上与后端工程师有效合作。
理解与大模型工作相关的挑战(高延迟、变化等),形成防御性、故障优先的思维模式。
仔细和原则性地处理错误情况、异步代码(及其推理和调试能力)、流数据、缓存、日志记录和分析,以了解生产中的行为。
这种思维模式类似于在复杂、数据密集或大规模应用程序上工作的常规应用程序。不同的是,AI工程师即使在相对较小的规模上工作也需要这种思维模式!
总的来说,一位优秀的AI工程师将结合两种看似对立的观点:对现代ML模型功能的了解和惊奇感;但也理解这是一个困难且不完美的基础,并愿意在此基础上构建弹性和高性能的系统。
以下是TechNow的AI工程师职位描述。可以借鉴这个模板来撰写自己的职位描述。
招聘过程
一旦知道了AI工程师的要求,过程就与其他技术职位的招聘没什么不同。以下是我们如何分为两个阶段进行的:招聘和面试。
招聘
我们主要寻找具备(1)熟悉和对ML感兴趣,以及(2)在使用Web技术构建复杂系统方面有经验证的经验的人。前者对于文化契合度很重要,也是候选人能够作为其角色的一部分进行一些简单提示工程的指示。后者很重要,因为语言模型API是建立在Web标准之上的,并且——如上所述——并不是最容易使用的工具。
只有少数人构建过复杂的ML优先应用程序,但幸运的是,上述两个品质相对独立。或许他们通过其专业经验证明了(2),并且有一些展示(1)的业余项目。
谈到业余项目,展示创造性和原创性原型的证据是我们评估候选人时的巨大加分。即使是当前一代模型,LLM的构建可能性我们才刚刚触及表面,因此愿意深入探讨疯狂的“我想知道是否可能……”想法的候选人有巨大的优势。
面试
我们在面试过程中花费最多时间评估的硬技能是“使用Web技术构建复杂系统”方面的技能。我们会检查候选人是否熟悉异步编程、防御性编码、分布式系统概念和工具,并展示出考虑扩展和性能的能力。他们不需要在这方面有10年以上的经验:即使是初级候选人也可以展示出学习的渴望和能力,让我们有信心他们能成功应对我们面前的技术挑战。
一个反模式——听到候选人说时让我心碎——是他们对ML毫无了解,但声称他们很想学习。现在有大量免费且易于获取的资源,一个有动力的候选人应该已经开始自学。
综上所述,以下是我们为AI
工程师候选人制定的面试流程:
30分钟初步交谈。非技术性,解释面试流程,回答问题,了解候选人的职业路径和目标。
60分钟技术面试。这是一个编码练习,我们扮演产品经理,候选人对一个小型Web应用进行更改。以下是一些通过练习可能涉及的主题示例:
更新API端点以包含额外的元数据。考虑合适的数据类型。模拟前端代码以接受新数据。
将同步REST API转换为异步流端点。
用户关闭标签页时取消异步工作。
选择适当的数据结构来表示挂起、活动和完成的ML工作,以满足用户请求。
60–90分钟非技术面试。走访候选人的专业经验,确定高低点,了解他们在什么样的挑战和环境中茁壮成长。
现场面试。半天时间在我们位于旧金山的办公室,与尽可能多的团队成员见面:更多的技术和非技术对话。
前沿广阔
尽管TechNow在AI工程方面可能比其他公司更进一步,但我们也承认这是一个全新的领域,其形态和特质才刚刚开始形成。我们期待听到其他公司如何做,并在角色演变中参与对话。
我们期待AI工程师世博会作为这一新兴子领域的另一个下一步。当然,如果你有兴趣加入我们的团队,请查看TechNow的招聘页面。