中文 英语

固件技能短缺

为设备添加智能需要不同的技能,而找到足够多的合格人才正成为一项挑战——尤其是在不那么吸引人的领域。

受欢迎程度

好的硬件没有好的软件是对硅的浪费,但是随着如此之多的新处理器和加速器架构的创建,以及如此之多的新技能的需求,公司发现很难雇佣足够多的具有低水平软件专业知识的工程师来满足需求。

编写编译器、绘图器和优化软件没有开发新的人工智能算法或新的智能手机应用那样的活力。但没有它们,整个行业都会遭殃。

大学正努力培养出足够多的具备行业所需技能的毕业生。部分问题在于,技能的范围正在扩大,以至于如果没有几级学位,就不可能完成这一任务。例如,刚毕业的学生可能知道如何创建一个人工智能算法,但很少有人知道让它在边缘设备上高效运行意味着什么,或者如何调试提供不正确结果的系统。

一开始就缺少软件人员。“你永远不会有足够的程序员,”牛津大学全球大学项目首席顾问罗伯特•欧文(Robert Owen)表示想象力的技术。“你可以制作的软件数量总是可以更多。你总是可以添加额外的功能,你总是可以创建更多的测试,更多的验证,更好的工具。最广泛意义上的编程需求正在增长,并将在可预见的未来继续增长。”

但对于新的硬件,需要更多的固件人员。“你如何确保你能以最好的方式利用硬件?这是一个巨大的问题,而不仅仅是技能差距,”萨哈表示西门子EDA。“这不仅仅是知识鸿沟。从根本上说,这是一个必须解决的软硬件协同设计问题。过去硬件是由软件使用相当标准的接口来设计和使用的。现在它超越了这一点。硬件和软件有着如此多的界面和层次,打破组织结构的‘竖井’至关重要。”

没有软件的硬件是无用的
许多充满希望的创业公司已经认识到,无论他们的硬件有多好,如果他们在软件上没有投入足够的资金,或者不能使产品足够容易使用,他们就会失败。“德州仪器在数字信号处理(DSP)方面的早期成功是由于其编译器的质量,”欧文说。“回头看,这个编译器一点也不好,但它是最好的一个。这给了德州仪器一个竞争优势,编译器也逐渐改进了。”

在当时,它需要新的技能。“20年前,我从事图像压缩领域的工作,”该公司的首席技术官伯努瓦·德雷斯库尔(Benoit de Lescure)说Arteris IP。“我们也遇到了类似的问题,不管是关于现成的DSP还是我们自己专门的DSP。找到能够有效使用SIMD硬件的人是非常困难的,因为你需要“并行思考”。但很少有人愿意深入研究一个可能在两三年后就过时的硬件架构。”

尽管如此,每个人都知道他们必须找到那些人。想象力公司人工智能研究主管蒂姆•阿瑟顿(Tim Atherton)表示:“不管硬件衬垫有多好,如果使用起来像噩梦,人们就不会这么做。”“软件投入了大量的成本和时间。软件凌驾于硬件之上,才是产品成功的关键所在。”

我们已经看到了更多最近成功的例子。“看看Nvidia用CUDA做了什么,”Elias Fallon说,他是微软定制IC和PCB集团的软件工程小组主任节奏。“他们的成功很大程度上是围绕着让人们不用太担心硬件的编程界面。以这种方式编写代码,使用这些库,您将在性能上获得巨大的改进。所有的加速器都必须想出类似的东西。”

该行业正面临下一个挑战。Lynx Software Technologies的销售和市场副总裁Ian Ferguson说:“那些创造了创新处理器架构的半导体公司现在面临着这样的挑战。“它们如何帮助程序员利用这些组件来应对变化中的各种工作负载和框架?”

与过去不同的是,并不总是硬件架构处于领先地位。Ferguson指出:“两年前,来自变形器的双向编码器表示(BERT)和基于信息实体的增强语言表示(ERNIE)基本上只是学术论文。”“但现在,这些模型被用于许多自然语言处理应用。这将在未来一段时间内对硬件处理器架构和工具链产生影响。”

AI是游戏规则的改变者
虽然许多大学毕业生拥有人工智能知识,但很少有人知道如何将其映射到硬件上。“在创建和训练神经网络的机器学习开发人员和习惯于为嵌入式平台优化算法或应用程序代码的嵌入式程序员之间,技能有明显的区别,”史蒂夫·罗迪(Steve Roddy)说,他是机器学习集团的产品营销副总裁手臂。“认为任何一种群体中都有大量的人可以通过迅速的再培训来弥补差距的想法都是错误的,因为这些技能需要多年的时间来建立和掌握。”

缺口需要填补人和工具都有。“目前,在高级数据科学家(他们也从事高级工具的工作)和具体的硬件实现之间存在差距,”Andy Heinig说,他是高级系统集成小组的领导和高效电子部门的负责人弗劳恩霍夫IIS的自适应系统部工程。因此,新的设计方法是必要的,以支持数据科学家的高级工具,并将他们的知识转化为高度优化的硬件。此外,设计方法是必要的,可以用来比较在现实世界条件下特定硬件上的不同高级实现。”

这些比较不是简单的1:1映射问题。“成功的人工智能芯片将是那些同时满足两套标准的芯片,”该公司首席执行官杰夫•塔特(Geoff Tate)表示Flex Logix。“首先,他们必须以高质量为客户的神经网络模型每秒、每美元、每瓦特提供更多的推断。客户有资金预算和电力预算,希望在预算范围内获得最大的性能。其次,他们希望能够重用软件。如果客户必须做详细的、低级的、特定于硬件的编程,这将增加他们的人工智能开发成本,并推迟他们的进度。这也将使评估新架构变得非常困难。”

传统的cpu使用编译器来创建优化的映射,只使用几个开关来修改优化的执行方式。即使对于cpu来说,这也被证明是非常有限的,因为这种方法没有考虑到功率优化、代码大小优化或许多事情——除了性能——这些在今天变得越来越重要。

Imagination的Atherton说:“对于cpu,包括其架构的高性能方面,大部分细节都被抽象掉了。”“设计新的网络是非常大和复杂的程序,通常以图表的形式出现,并将它们映射到几十种不同类型的架构,手工完成将是非常困难的,如果不是不可能的话。”

在这些架构中存在着根本的差异。Cadence的Fallon说:“当人们谈论非冯·诺伊曼架构时,其中存在内存和执行分离,作为一名电气工程师,我理解这一点。“但当我开始考虑如何编写代码,或如何使代码更以数据为中心时,就会产生更多问题。这是一个巨大的差距,许多加速器公司将努力克服它。”

业界正在开发框架使之成为可能。图1中显示的一个例子是张量虚拟机(Tensor Virtual Machine, TVM),这是一个用于深度学习的分层多层编译器堆栈和运行时系统,无论后端硬件是什么,它的大部分都是相同的。

图1:AI框架的开放编译器:源代码:Apache Software Foundation

图1:AI框架的开放编译器:源代码:Apache Software Foundation

的技能
考虑到所创建的独特硬件体系结构的数量,这意味着必须编写许多不同的后端。这些人需要广泛的技能。阿瑟顿说:“他们需要懂软件,懂硬件,懂计算机硬件,他们必须理解你可能应用到描述特定神经网络的图上的优化。”“这不是很多人都具备的技能。我们应对的方式是让几位研究工程师(有些是博士)拥有综合技能,他们一起创造出完整的画面。但想把所有这些都集中在一个人身上很难。”

这需要从不同于过去的角度来思考这个问题。西门子的萨哈说:“我们必须打破组织层面的隔阂。”“如今,你有一个硬件团队,每个人都是硬件专家,软件团队也是如此。但我们需要的是一个由一定数量的硬件工程师和软件工程师组成的组合团队,因此组合团队的知识是有用的。”

有一个人能理解这一切吗?“对这些人来说,理想的背景是他们有数学学位,可能也有计算机科学学位,也许他们也做过一些计算机工程,所以他们对硬件架构有了解,”欧文说。完成这三个学位后,他们将能够应用这些技能,通过一个高效的编译器将Tensorflow之类的世界很好地连接到一个架构上。”

这样的人要付出很高的代价。“整个行业都面临着挑战,因为学习编程是一项基本技能,”萨哈说。“这必须是一门‘101’课程。然后你可以专攻不同的领域。我们还需要算法和数据科学方面的知识。统计学、数学建模和数据科学的知识比机器学习更基础。这是跨所有领域的,并且同样适用于EDA的需求。EDA主要是硬件行业的一个优化问题。我们总是设法与那些有良好编程技能的人沟通,但他们也了解硬件设计,以及如何创造好的硬件。”

许多大学正在提高他们的人工智能/毫升课程。欧文说:“供应是有限的,而大学的产出有巨大的需求。”“大学意识到他们应该培养更多的这类毕业生,他们也正在努力这样做。在获得大学学位之后,也许需要几年时间才能掌握必要的技能,但我并不反对,他们也会得到高薪。”

我们不要忘记,往往是大学创造了变革。Untether AI软件工程副总裁亚历克斯•格比克(Alex Grbic)表示:“在过去10年里,大学一直是推动非传统计算架构变革的关键。”“除了成为这些领域的创新温床外,大学还一直在增加机器学习/深度学习领域的学位课程和毕业生数量。特别是多伦多地区、安大略省和加拿大的大学已经看到了这一需求,并正在解决这一问题。”

然而,即使这样也不能满足半导体行业的需求。“机器学习真的很酷,但我如何让它在边缘设备上工作?””法伦问道。“当我只有定点数学时,我如何让它工作?”我怎样才能让它变得更好当我想真正压缩网络的时候?怎样才能让网络尽可能小,而不是把准确率提高1%?如果它只消耗了十分之一的面积,我如何研究降低1%准确率的可能性?”

这是AI部署的实际方面。Lynx的弗格森说:“差距正在逼近。”程序员用高级语言编写代码,假定云提供无限的内存和CPU周期。我认为人们还需要为更多的自定义应用程序创建优化的应用程序,特别是那些资源受限、能力或处理能力有限的应用程序。虽然TinyML的努力有很大帮助,但仍然存在差距。”

新的课程正在设计中。欧文说:“我们正在组织一门课程,叫做边缘人工智能原理和实践。”“它的目标受众是大学生。除了涵盖基础知识之外,它还能让学生做一些练习——不仅仅是看图像并对其进行分割,还能像语音应用这样的事情。如今,我们几乎把语音识别、语音翻译、自然语音创作等视为理所当然的,因为它们正被嵌入几乎所有事物中。”

工具是其中必不可少的一部分。Arm的Roddy表示:“答案在于构建工具集,引导并自动化AI工作负载的迁移,从最初在具有无限数值精度和计算资源的云中迁移到受限计算设备中的推理部署。”“对于嵌入式开发人员,将一个预先训练的量化模型映射到目标硬件,需要一系列专门针对特定目标的优化工具。他们正在优化数据流、压缩模型权重、合并运营商以节省带宽等。”

必须有人来编写工具。”功率、性能和面积过去一直在推动事情的发展,”阿瑟顿说。“人工智能增加了第四个——带宽。神经网络真的很耗带宽。你必须输入和输出数据,你必须修改架构以提高带宽,最小化面积,而功率一直是推动性能提升的重要因素。”

看不见的问题
公司还面临一些很少被提及的额外问题。萨哈说:“还有一个因素对我们产生了影响。“当我们发布一款具有人工智能功能的产品时,如果它不起作用会发生什么?”你怎么知道问题是什么?您不能只运行调试器就发现这段代码不工作。你得弄清楚少了什么。是因为算法吗?是数据吗?是应用程序吗?它可以是更广泛的东西。 So now, the support people have to be data scientists and be able to understand where the problem may be found.”

对许多人来说,招聘是一项挑战。弗格森表示:“鉴于人工智能在程序员中具有如此广泛的适用性,许多人都在苹果(Apple)、谷歌和特斯拉(Tesla)等家喻户晓的公司工作。”“虽然这些公司有一个健康的招聘流,但这让其他行业很难填补自己公司的空缺。”

EDA必须为这些人而竞争。法伦说:“欧洲经济教育学院的毕业生对芯片和硬件的工作原理有足够的了解,并具备一些软件和机器学习知识,他们的需求非常大。”“整个行业都需要这些人来从事机器学习工作,所以我们会看到很多问题。”

结论
作为一名固件或低水平的软件工程师从来就没有什么吸引力。这些人很少因为他们所取得的成就而得到赞扬,业界已经看到了很多这种软件的失败导致一家公司倒闭的例子。尽管大学正在努力满足知名AI/ML公司的需求,但针对更普通问题的课程开发似乎仍有很长的路要走。

对于那些具备必要的综合技能且不追求名利的人来说,财富可能就是回报。

相关的
Hard-To-Hire工程工作
寻找熟练工程师的危机已经蔓延至全球。
拉伸的工程师
工程师的角色正在发生变化,如果他们想成为有价值的团队成员,他们需要学习新的技能。他们可以往几个方向走。
想在半导体行业找份工作?
全球芯片行业的就业公告板
测试工程师非常短缺
为什么这些工作这么难填补。
工程人才短缺现在是最大的风险因素
新的市场机会和全球竞争力受到合格人才的限制。



留下一个回复


(注意:此名称将公开显示)