中文 英语

固件技能短缺

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

受欢迎程度

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

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

大学正在努力培养出足够多的具备行业所需各种技能的毕业生。部分问题在于,技能范围正在扩大,以至于没有几个学位就无法实现这一目标。例如,应届毕业生可能知道如何创建人工智能算法,但很少有人了解如何使其在边缘设备上高效运行,或者如何调试提供不正确结果的系统。

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

但是有了新的硬件,就需要更多的固件人员。“你如何确保你能以最好的方式利用硬件?这是一个巨大的问题,而不仅仅是技能差距,”阿诺普•萨哈(Anoop Saha)表示西门子EDA.“这不仅仅是知识差距。从根本上说,这是一个必须解决的硬件/软件协同设计问题。过去,硬件是由软件使用相当标准的接口来设计和使用的。现在它超越了这一点。硬件和软件之间有如此多的接口和层次,因此打破组织孤岛是极其重要的。”

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

当时,这需要新的技能。“20年前,我在图像压缩领域工作,”微软的首席技术官Benoit de Lescure说Arteris IP.“我们也遇到过类似的问题,既有现成的DSP,也有我们自己的专用DSP。找到能够有效使用SIMD硬件的人员是非常困难的,因为您需要“并行思考”。但很少有人准备深入研究一种可能在两三年后就过时的硬件架构。”

尽管如此,每个人都知道他们必须找到那些人。Imagination公司人工智能研究主管蒂姆•阿瑟顿(Tim Atherton)表示:“不管硬件基板有多好,如果使用起来很噩梦,人们就不会这么做。”“软件投入了大量的成本和时间。对于一款产品的成功来说,凌驾于硬件之上的软件至关重要。”

我们看到了最近一些成功的例子。“看看英伟达(Nvidia)在CUDA上所做的,”ibm定制IC和PCB组软件工程组主管Elias Fallon说节奏.“他们的成功很大程度上在于制作了一个编程界面,让人们不用太担心硬件。以这种方式编写代码,使用这些库,您将获得性能上的巨大改进。所有的加速器都有类似的东西。”

该行业正面临着下一个挑战。山猫软件技术公司销售和营销副总裁伊恩•弗格森表示:“创造了创新处理器架构的半导体公司现在面临着挑战。“他们如何帮助程序员利用这些组件来应对不断变化的各种工作负载和框架?”

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

人工智能改变了游戏规则
虽然许多大学毕业生都掌握了人工智能的知识,但很少有人知道如何将其应用到硬件上。“在创建和训练神经网络的ML开发人员和习惯于为嵌入式平台优化算法或应用程序代码的嵌入式程序员之间,有明显的技能集差异,”Steve Roddy说,他是微软机器学习集团的产品营销副总裁手臂.“认为这两个群体中有大量的人可以迅速接受再培训以弥补差距的想法是错误的,因为所涉及的技能需要多年的时间来培养和掌握。”

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

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

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

Imagination的阿瑟顿说:“对于cpu,包括其架构的高性能方面,细节在很大程度上已经被抽象了。“设计非常庞大和复杂的程序的新网络,通常以图形的形式出现,并将其映射到几十种不同类型的架构上,如果不是不可能的话,手工将非常困难。”

这些体系结构有根本的区别。Cadence的法伦说:“当人们谈论内存和执行分离的非冯·诺依曼架构时,作为一名电气工程师,我理解这一点。“但当我开始思考如何编写代码,或者如何调整代码以更以数据为中心时,就会产生更多问题。这是一个很大的差距,很多加速器公司都会为此而挣扎。”

该行业正在制定框架以实现这一目标。图1中显示的一个例子是Tensor Virtual Machine (TVM),这是一个用于深度学习的分层多层编译器堆栈和运行时系统,无论后端硬件是什么,它的大部分内容都是相同的。

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

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

技能组合
考虑到正在创建的独特硬件架构的数量,这意味着必须编写许多不同的后端。这些人需要广泛的技能。阿瑟顿说:“他们需要精通软件,精通硬件,精通计算机硬件,他们必须理解你可能应用于描述特定神经网络的图的优化。”“这不是很多人都具备的技能。我们应对的方法是将几个研究工程师的技能组合在一起,其中一些拥有博士学位,他们一起构建完整的图景。但要在一个人身上做到这一切是很难的。”

这需要用不同于过去的方式来思考问题。西门子的萨哈表示:“我们必须打破组织的竖井。“今天,你有一个硬件团队,每个人都是硬件专家,软件团队也是如此。但我们需要的是一个由一定数量的硬件工程师和软件工程师组成的联合团队,所以联合团队的知识是有用的。”

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

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

许多大学正在提高他们的人工智能/毫升课程。欧文说:“供给是有限的,而对大学产出的需求是巨大的。”“大学意识到他们应该培养更多这类毕业生,而且他们正在努力这么做。除了大学学位,可能还需要几年时间来培养必要的技能,但我并不反对,而且他们的薪水会很高。”

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

然而,即使这样也不能满足半导体行业的需求。“机器学习真的很酷,但我如何让它在边缘设备上工作?法伦问道。“当我只有定点数学时,我怎么让它工作?”当我想要真正压缩网络时,我该如何做得更好呢?我如何使网络尽可能小,而不是增加1%的准确率?如果它只消耗1/10的面积,我如何调查降低1%精度的可能性?”

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

新的课程正在设计中。欧文说:“我们正在开设一门名为边缘人工智能原理与实践的课程。”“它的目标受众是大学生。除了涵盖基础知识,它还能让学生做一些练习——不仅仅是看图像和分割图像,还包括语音应用等。如今,我们几乎把语音识别、语音翻译、自然语音创造等技术视为理所当然的前沿技术,因为这些技术几乎融入了所有事物。”

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

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

看不见的问题
公司还面临一些很少被提及的额外问题。萨哈说:“影响我们的还有另一个因素。“当我们发布一款具有人工智能功能的产品时,如果它不起作用会发生什么?你怎么知道问题出在哪里?您不能只运行调试器就发现这段代码不能工作。你得弄清楚少了什么。是因为算法吗?是因为数据吗?是因为应用程序吗?它可以是更广泛的事物。 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公司的需求,但针对更普通的问题开发课程,使它们可用,似乎仍有很长的路要走。

对于那些拥有必要的技能组合而不追求名声的人来说,财富可能是奖励。

相关的
难招的工程类工作
寻找有技能的工程师的困难是全球性的。
拉伸的工程师
工程师的角色正在发生变化,如果他们想继续成为有价值的团队成员,就需要学习新的技能。他们可以有几个方向。
想在半导体行业找工作?
芯片行业的全球就业委员会
测试工程师供不应求
为什么这些工作如此难以填补。
工程人才短缺是最大的风险因素
新的市场机会和全球竞争力受到合格人才的限制。



留下回复


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

Baidu