技术新浪潮:正在崛起的AI工程师

news2024/11/13 11:13:08

fc25704d080ea39a29ef3842997b6b98.gif

最近在latent.space上看到一篇关于AI工程师正在崛起的文章,引起了作者一些兴趣,经过进一步收集和整理了一些关于AI工程师的最新发展和资讯。作者梳理为本篇文章,希望能对大家有所帮助,共同探讨学习。

随着技术的日益发展,基础模型的能力不断增强和完善,AI的配套设施也越来越丰富。基于AI的产品正在渗透到我们日常生活的方方面面,许多行业,智能家具、教学模式、医疗诊断、自动驾驶都有它的身影,我们正在见证一个AI应用领域的历史性变革。



在这场变革中,正在兴起一个新的词汇:AI工程师(AI engineer)。并且它的角色和职责对比之前也正在发生变化。早先一个AI相关的任务需要一个整研究团队并花费大量的时间才能完成。到了2023年,人们只需查阅Open AI的API文档,在一个不忙碌的下午就能完成同样的任务。



这是一个Twitter上的讨论,随着AI领域的继续发展逐渐分化出不同的角色,细化分工,其中AI工程师的定位在API右侧,图中AI工程师的定位是基于API开发一些应用,工具,代理等。

9bac174a20f9c73d897425371d4d9070.png

2f9f90740c2361ac0a4cfca5c3099912.png

什么是AI工程师

因为这个领域当前快速发展,一些含义还没确定,AI也是一个很模糊的概念,AI工程师包含的内容其实也非常广,AI工程师(AI Engineer)而且是一个相对较新的职位,只是近年来随着AI技术的快速发展,这个职位已经变得越来越重要和突出。



为了聚焦内容,尝试给AI工程师下一些定义,前段时间也有叫Prompt Engineer的,不过只叫Prompt Engineer含义太窄了,很多事情没有包含进去。



定义:AI工程师是一个专门从事设计、开发和部署AI模型和应用程序的工程师。他们通常具有软件工程、数据科学和机器学习的背景,并能够将这些技能结合起来创建高效、可扩展的AI解决方案。



可以做的一些事情:

  1. 提示词工程(Prompt Engineer):负责调试Prompt来让模型具有稳定的输出。也许接下来随着模型的发展,对Prompt的要求就没有那么高。要真正利用这种模型的能力,你必须能够编写代码,而不能仅仅是一个非技术性的Prompt Engineer,这样才能更高效。或者说具备编程思维,使用自然语言进行编程。

  2. 数据处理:懂一些数据处理的手段,清洗、预处理、标注、增强数据,做一些模型的微调。

  3. 软件工程: 基于模型做一些应用程序,基于AI解决一些现实世界的问题,应用部署和扩展,系统的稳定性、扩展性设计,性能的优化等。懂AI模型周边的配套工具。

  4. 一些算法: 也可以深入算法领域... 做更高难度的AI模型训练

专注在AI的应用领域,解决在应用上的一些问题。

628816a1dec53c6a0ddeea7297e9d62c.png

ML工程师 VS  AI工程师

大多数人仍然认为AI工程是机器学习或数据工程的一种形式,因此很多人认为需要掌握深度学习、机器学习等技术。但是据国外一些大佬的观察,很多做AI相关的优秀工程师并没有完成关于深度学习上的学习和研究,他们也不知道PyTorch,甚至不知道数据湖和数据仓库之间的区别,因为AI工程师对数据工程也没有直接的要求。



在国外的一些讨论上,两者的一些关注点区别:

  1. ML工程师主要关注机器学习模型的设计、开发和部署,他们的工作通常更为具体和细化。处理与模型相关的实际问题,如过拟合、不平衡数据集、特征选择等。

  2. AI工程师用于实现AI解决方案:构建完整的AI应用,如聊天机器人、图像识别系统等。不仅要处理机器学习,还关注深度学习、强化学习等其他领域。



在国外的Indeed招聘网站上,可以看到ML,AL等招聘信息, 可以看到AI职位、ChatGPT职位的增长率最高,预计未来会逐步的超越ML。X轴是年份,Y轴是招聘贴类型的百分比。

c764142908bfd77f75d64ac1be89d323.png

在未来,可能也不会有人建议从阅读“Attention is All You Need”开始学习AI工程,了解基础知识和原理肯定是有帮助的,不过不是必须要具备的条件。开发中有那么多的框架,也不一定每个框架都要深入原理层面 有时你只需要使用产品,能把应用做好也是很重要的。



可能短期来看那些有良好的数据科学/ML背景的人来说,AI工程师、Prompt工程师在很长一段时间内都会感到自卑。然而大佬的观点是纯粹的需求和供应经济学将会占据上风,AI工程师也会有自己的一席之地。

  Hacker News关于AI/LLM工程师的讨论

https://news.ycombinator.com/item?id=36538423



关于AI工程师是否正在崛起?



持正向观点:

实用性:AI/LLMs已在生成文本、艺术、代码补全和对话AI等领域产生实际收入,这表明其实用性超出了炒作。

工程挑战:在提示工程、数据准备、模型评估和模型集成到产品等领域存在非小的工程挑战。这证明了"AI工程师"专业的合理性。

工作市场:当前的工作市场偏爱有经验的AI/LLM工程师,因为人才稀缺。公司愿意支付高薪。

资源和工具:与5-10年前相比,资源和工具的改进使AI/ML对工程师更加容易访问。

持怀疑观点:

职称:"AI工程师"这个职称太过模糊。像"LLM工程师"或"生成工程师"这样的具体职称更好。

深度理解:许多"AI工程师"只是轻微地整合了现成的模型,而没有深入的理解。这有可能稀释其含义。

AI能力:AI的能力仍然有限。过度承诺可能导致失望。

法律问题:商业AI应用仍存在尚未解决的版权/IP法律问题。

模型评估:适当的模型评估和错误处理是困难的,经常被"AI工程师"忽略。

数据生成:自动数据生成在没有人工监督的情况下,存在偏见和模型退化的风险。

be06f4fc47a91e85efbfe2f01f9576e4.png

为什么AI工程师会出现?



  AI产品化氛围火热

国外初创公司大多都有一个关于AI的Slack讨论频道#discuss-ai,这些频道将从非正式的小组变成正式的团队,比如Notion、Amptitude,Replit都做到了。此外还有独立的黑客,如Simon Willison、Pieter Levels(Photo/InteriorAI的创始人)和Riley Goodside(现在在Scale AI工作),这些工程师在空闲的周末在AGI House上研究创意,并在/r/LocalLLaMA2上分享技巧。他们都在利用AI的最新进展,快速的将其转化为被数百万人使用的实际产品。



已经有大量的工程师正在努力将AI进行产品化,随着时间的推移,这些软件工程师将逐渐专业化,并统一使用一个职称——AI工程师。预计在这个十年里,AI工程师将成为最受欢迎的工程师职位。尽管AI领域有很多研究者和博士,但当涉及到实际开发和发布AI产品时,更需要的是AI工程师而不是研究者。在AI的实际应用中,实践和执行经验可能比学术研究更为重要。

  产品化有一定的挑战

AI技术的应用和产品化看起来很有前景,但是在实际操作中,成功地评估、应用和产品化AI充满了还有很多细节的挑战:

  1. 模型的多样性:从评估最大的GPT-4和Claude模型,到最小的开源Huggingface、LLaMA等模型,选择和评估合适的模型是一大挑战。

  2. 工具的多样性:工具的选择范围从最受欢迎的链式、检索和向量搜索工具,如LangChain、LlamaIndex和Pinecone,到新兴的自主代理领域的工具,如Auto-GPT和BabyAGI。

  3. 信息过载:每天发布的论文、模型和技术的数量正在指数级增长。以至于跟上这些信息几乎成了一份全职工作。

  市场的供需关系

  1. 大公司的角色:像Microsoft、Google、Meta这样的大公司已经垄断了稀缺的研究人才,提供“AI研究即服务”API。你不能雇佣他们,但你可以利用他们的能力,全球大约有5000名LLM研究者,但有约5000万名软件工程师。供应限制意味着一个“中间”类别的AI工程师将应运而生。

  2. GPU囤积:Stability AI通过强调他们的4000 GPU集群引发了初创公司的GPU竞赛。各种公司都在做GPU的储备竞赛。全球芯片短缺进一步加剧了这一趋势。大部分公司是训练不了模型的,只能去利用模型。

    8a4d9b471d534398dd0ecd50f6d336c5.png

  3. 快速验证想法:与其要求数据科学家/ML工程师在训练一个特定领域的模型之前进行繁琐的数据收集,不如让产品经理/软件工程师Prompt一个LLM,并构建/验证一个产品想法,然后再获取特定数据进行微调。使用LLM原型的工作流程可以使你的工作速度比传统的机器学习快10-100倍。因此,AI工程师能够以比传统方法低1000-10000倍的成本验证AI产品。

    8dd88c602b0fb1afacf796348d3cb710.png

市场上没有那么多的人会训练基础模型,但是市场上需要很多人快速验证有关LLM的想法,并且有足够多的开发人员可以具备开发LLM应用的能力。



参考AI应用全景报告:https://ramsrigoutham.medium.com/the-landscape-of-generative-ai-landscape-reports-615a417b15d

5cd0b2c2fa82cdaf77b62beb8d40cce6.png

8c130ecc472ad74650a01374d3c3a19d.png

软件工程演变中代码的角色?编程语言->自然语言

六年前,Andrej Karpathy写了一篇很有影响力的文章,描述了“软件2.0”。他比较了两种软件开发方式:

  1. 传统方式:程序员通过编写代码来明确指示计算机如何执行任务。

  2. 新方式:通过神经网络和机器学习来“学习”如何执行任务,而不是通过明确的编程指令。这种方法的优势在于,它可以处理大量的数据并从中学习,而不需要人为地为每一个可能的情况编写代码。 类似于当前的算法推荐;

他最近又提到,现在最热门的“编程语言”实际上是英语,通过自然语言对话来完成特定的任务。

4a8a8e661c47646a7fd6ac217b565e1c.png

去年,随着人们开始使用GPT-3和Stable Diffusion,"Prompt Engineering"成为了一个流行的概念,如何通过提示来与这些模型交互和工作。“Prompt Engineer”这个称呼可能不太准确,因为这个角色不仅仅是给AI模型提供提示,还涉及到很多代码和基础设施的工作。或许还是AI工程师(AI Engineer)这个称呼更为合适。

248069489d74f292fcfa256f12ddfe49.png

有人说这种做法只是OpenAI的包装,只是使用技术而没有进行任何创新,还有担心LLM应用的安全隐私问题、提示注入和一些反向工程问题。



问题虽然存在,但毕竟这个是一个正在快速发展的领域,每个都可以有自己的观点,如果相信这个领域会快速发展,这些问题可以在前进的路上逐渐的去解决。还有当前LLM看似大,但也需要人类编写代码(或者通过Prompt)来指导和增强它的功能。



未来的编程不仅仅是由人类编写的代码,随着工程师越来越擅长利用AI,AI也将越来越多地参与到工程设计中。直到有一天,我们可能无法分辨出哪些是人类编写的,哪些是AI生成的代码。通过自然语言就可以构建出复杂的软件工程...

18e6b2f63b6ad48c1788cd1a7ecff0e9.png

怎么成为AI工程师?

AI当前是一个快速发展的领域,所以要持续的学习跟随趋势关注行业的最新动态,推特上的大佬 @swyx 在一次AI的播客讨论上,提出了一些成为AI工程师的参考路径,大概如下。

播客地址:https://twitter.com/swyx/status/1674895620870651909

  1. 基础教育 AI工程师需要对线性代数、微积分、概率和统计有了解,因为这些都是机器学习算法的基础。掌握至少一种编程语言,如Python或R,这是进行机器学习编程的基础。

  2. 专业知识培养: 机器学习: 学习各种机器学习算法,如线性回归、决策树、神经网络等。深度学习: 了解CNN、RNN、Transformer等模型结构,以及如何使用框架如TensorFlow和PyTorch来实现它们。

  3. 实践经验:

    项目实践: 手头上的项目经验很重要。从小项目开始,逐渐处理更复杂的问题。

    参与竞赛: Kaggle等平台提供了很多数据科学和机器学习的竞赛,通过这些竞赛,你可以学习到很多实践经验。

  4. 信息获取:

    研究: 阅读最新的研究论文,了解最新的技术和趋势。

    网络: 加入AI和机器学习的社区,如OpenAI、Google AI等,与其他专家交流,分享知识。

    课程与认证:考虑获得与AI和机器学习相关的认证,如TensorFlow认证或AWS Machine Learning认证。

  5. 确定方向:AI是一个快速发展的领域,总有新的技术和方法出现。保持好奇心,始终对新知识保持开放的态度。同时AI是一个可以广泛应用的领域,确定你最感兴趣的领域,深入研究。

不过以上感觉是针对研究型人员的成长路径,针对大多数人,想要往AI领域发展,怎么样学习成长,个人尝试按照自己的理解梳理一下:

  1. 编程语言: 首先要懂一门编程语言、Python简单易上手,而且现在有AI加持;通过GPT辅助自己学习Python。

  2. 基础原理: 了解大模型的原理,LLM是如何工作的,SD是如何工作的,对常见的AI领域的算法有一定了解,知道大致是干什么的。

  3. 模型了解:了解市场上有哪些模型,各自的适用场景,都可以用来做什么;能都亲自体验一把

  4. 提示词工程,学习怎么通过提示词让模型返回自己期望的结果。

  5. LLM工具,通过工具提升自己对大模型的操作效率,利用相关工具能快速验证想法;

  6. 软件工程,将LLM的能力产品化封装,并且能具备一定的部署运维能力,做一些实际的项目,积累实践经验

如果说想要往这个方向发展,最关键的部分,可能还是要有好奇心,保持持续的对技术的探索和学习,以及能够亲身实践对应的一些项目。



f71a55715ba99f737d319e42fb3357c2.png

未来AI工程师的畅想?

  1. 与其他领域的合作:也许未来的AI工程师可以类似当前的软件工程师,深入某个领域做领域建模,与领域专家合作,深入到各行各业,与医生、艺术家、建筑师等其他领域的专家合作,共同创建创新解决方案。例如,在医疗领域,AI工程师可以与医生合作,开发出更精确的诊断工具。

  2. 自动化任务: 随着技术进步,大部分的任务都可以被AI自动化掉,AI工程师的角色将更多地转向创造、优化和维护复杂的系统,而不仅仅是编写代码。

  3. AI的解释性: 工程师更加重视AI决策的透明度和解释性,确保AI的决策可以被人类理解和接受。

  4. 道德和伦理:由于AI的普及和深入,对道德和伦理的考虑将成为AI工程师的基本素养。不仅要考虑技术的创新,还要确保其技术的应用不会对社会和个人造成伤害。

  5. 具身AI,机器人:融合对心理学、生物学、神经科学、哲学等学科有一定的理解,开发出能理解人类智慧和情感,更加高效和人性化的AI系统,AI机器人。

8cae9ec618392401f78cf85aaa877a63.png

总结

当下,随着大模型的不断发展和基础设施的完善,AI的技术越来越丰富,AI工程师这一新角色正在崛起,它会区别于以往的ML工程师,其重点不是设计和训练模型,通过Prompt提示,结合一些软件工程,一些大模型工具,然后构建AI相关的产品,解决实际问题。



最后也尝试去梳理了下成为AI工程师要学习成长的路径,期望能和大家一块进步和探索,在未来的世界中,利用新技术改变大家的生活。



Tomorrow belongs to those who embrace it today



e5fbbfc009b154020f986ccfa569c65c.png

团队介绍

大淘宝技术用户运营平台技术团队是一支最懂用户,技术驱动的年轻队伍,以用户为中心,通过技术创新提升用户全生命周期体验,持续为用户创造价值。

团队以创新为核心价值观之一,鼓励团队成员在工作中不断探索、实验和创新,以推动业界技术的进步和用户体验的提升。我们不仅关注当前业界领先的技术,更注重未来技术的预研和应用。团队成员会积极参与学术研究和技术社区,不断探索新的技术方向和解决方案。

团队立足体系化打造业界领先的用户增长基础设施,以媒体外投平台、ABTest平台、用户运营平台为代表的基础设施赋能阿里集团用户增长,日均处理数据量千亿规模、调用QPS千万级。在用户增长技术团队,我们提供“增长黑客”极客氛围和丰富的岗位选择,欢迎业界贤才加入。

¤ 拓展阅读 ¤

3DXR技术 | 终端技术 | 音视频技术

服务端技术 | 技术质量 | 数据算法

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/932423.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

韶音骨传导耳机可以水洗吗,韶音骨传导耳机好不好

现如今的韶音骨传导耳机已经将防水区分开了,而在市面上最主要的产品为韶音OpenRun Pro以及韶音OpenSwim,其中韶音OpenRun Pro的防水是只有IPX5级,原因是在发声单元的表层存在着开孔的网状设计,所以无法直接在水龙头下冲洗&#xf…

PointNet论文解读及代码详解

一、论文解读 PointNet是第一个直接以三维点云作为输入的深度学习网络,点云的特点如下: # 无序:无论点的顺序如何打乱,点云传达的内容不变。 # 组合表达:某个点需要结合附近的点才能表达局部信息,仅看单个…

通讯录(C语言)

通讯录 一、基本思路及功能介绍二、功能实现1.基础菜单的实现2.添加联系人信息功能实现3.显示联系人信息功能实现4.删除联系人信息功能实现5.查找联系人信息功能实现6.修改联系人信息功能实现7.排序联系人信息功能实现8.加载和保存联系人信息功能实现 三、源文件展示1.test.c2.…

使用WSL修改docker文件存储位置

按照以下说明将其重新定位到其他驱动器/目录,并保留所有现有的Docker数据。 首先,右键单击Docker Desktop图标关闭Docker桌面,然后选择退出Docker桌面,然后,打开命令提示符: wsl --list -v您应该能够看到&a…

三极管NPN、PNP的区别及简单应用

目录 一、NPN、PNP三极管的概念 二、NPN、PNP三极管的区别 三、三极管NPN、PNP的简单应用 一、NPN、PNP三极管的概念 NPN型三极管: 由两块N型半导体和一块P型半导体组成,P型半导体在中间,两块N型半导体在两侧。 三极管是电子电路中最重要的…

【数据结构】如何用栈实现队列?图文解析(LeetCode)

LeetCode链接:232. 用栈实现队列 - 力扣(LeetCode) 注:本文默认读者已掌握栈与队列的基本操作 可以看这篇文章熟悉知识点:【数据结构】栈与队列_字节连结的博客-CSDN博客 目录 做题思路 代码实现 1. MyQueue 2. …

windows10 docker 安装在D盘

win10安装docker后发现c盘空间急速减少,360管家查看发现images镜像安装在C盘,于是重装docker desktop以为在安装过程中能够选择,遗憾的是没有提供选择权限,默认直接就安装到了c盘。 desktop 迁移 百度得知可以将c盘的docker安装…

【Sublime Text 】Sublime Text 设置中文 超详细 持续更新中

Sublime Text 设置中文 超详细 持续更新中 概述开发环境一、Sublime Text 设置中文 概述 一个好的安装教程能够帮助开发者完成更便捷、更快速的开发。书山有路勤为径,学海无涯苦作舟。我是秋知叶i、期望每一个阅读了我的文章的开发者都能够有所成长。 开发环境 开…

微积分基本概念

微分 函数的微分是指对函数的局部变化的一种线性描述。微分可以近似地描述当函数自变量的取值作足够小的改变时,函数的值是怎样改变的。。对于函数 y f ( x ) y f(x) yf(x) 的微分记作: d y f ′ ( x ) d x d_y f^{}(x)d_x dy​f′(x)dx​ 微分和…

STTran: Spatial-Temporal Transformer for Dynamic Scene Graph Generation

文章目录 0 Abstract1 Introduction2 Related Work3 Method3.1 Transformer3.2 Relationship Representation3.3 Spatio-Temporal Transformer3.3.1 Spatial Encoder3.3.2 Frame Encoding3.3.3 Temporal Decoder 3.4 Loss Function3.5 Graph Generation Strategies 4 Experimen…

最新ChatGPT网站AI系统源码+详细图文搭建教程/支持GPT4/AI绘画/H5端/Prompt知识库

一、AI系统 如何搭建部署AI创作ChatGPT系统呢?小编这里写一个详细图文教程吧! SparkAi使用Nestjs和Vue3框架技术,持续集成AI能力到AIGC系统! 1.1 程序核心功能 程序已支持ChatGPT3.5/GPT-4提问、AI绘画、Midjourney绘画&#…

3.1、BGP的通告原则

BGP的通告原则 1、BGP通过network、.import-route、aggregate聚合方式生成BGP路由后,通过Update?报文将BGP路由传递给对等体。 2、BGP通告遵循以下原则: 只发布最优且有效路由。从EBGP对等体获取的路由,会发布给所有对等体。IBGP水平分割…

R语言画样本不均衡组的箱线图

# 导入 ggplot2 包 library(ggplot2)# 示例数据框&#xff0c;包含数值数据和分组信息 data <- data.frame(Group c(rep("Group A",10), rep("Group B",15),rep("Group C",20)),Value c(rnorm(10, mean 10, sd 2),rnorm(15, mean 15, sd…

渗透测试漏洞原理之---【XSS 跨站脚本攻击】

文章目录 1、跨站 脚本攻击1.1、漏洞描述1.2、漏洞原理1.3、漏洞危害1.4、漏洞验证1.5、漏洞分类1.5.1、反射性XSS1.5.2、存储型XSS1.5.3、DOM型XSS 2、XSS攻防2.1、XSS构造2.1.1、利用<>2.1.2、JavaScript伪协议2.1.3、时间响应 2.2、XSS变形方式2.2.1、大小写转换2.2.2…

【设备树笔记整理6】中断系统中的设备树

1 中断概念的引入与处理流程 1.1 中断处理框图 1.2 中断程序的使用 主函数() while(1) {do_routine_task(); }中断处理函数() {handle_interrupt_task(); }如何调用中断处理函数&#xff1f; 1.3 ARM对异常(中断)的处理过程 &#xff08;1&#xff09;初始化 ① 设置中断…

springboot+mp完成简单案例

目录 1.框架搭建 2.前端搭建 3.后端编写 需求&#xff1a;完成简单的连表条件查询以及添加即可 1.框架搭建 1.创建springboot项目 2.相关依赖 <!--web依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boo…

Java 时间日期处理,工作必用(建议收藏)

工作中经常会遇到对时间日期进行处理的业务&#xff0c;像日期类的API个人觉得不需要背&#xff0c;需要的时候去查资料就行。我整理了Java8之前及之后日期类常用的时间日期处理方法&#xff0c;方便工作需要时查找&#xff0c;觉得有用的朋友可以收藏。 一、日期格式化和解析 …

ElasticSearch - 海量数据索引拆分的一些思考

文章目录 困难解决方案初始方案及存在的问题segment merge引入预排序 拆分方案设计考量点如何去除冗余数据按什么维度拆分&#xff0c;拆多少个最终的索引拆分模型演进历程整体迁移流程全量迁移流程流量回放比对验证异步转同步多索引联查优化效果 总结与思考参考 困难 索引数据…

DaVinci Resolve(达芬奇)软件安装包分享(附安装教程)

目录 一、软件简介 二、软件下载 一、软件简介 DaVinci Resolve是一款专业的影视后期制作软件&#xff0c;被广泛应用于电影、电视剧、广告、纪录片等影视制作领域。它提供了全面的后期制作工具&#xff0c;包括色彩校正、颜色分级、视觉效果处理、音频处理等&#xff0c;能够…