Arm希望如何将机器学习带入普通计算设备
对于整个机器学习和人工智能浪潮来说,ARM可能有点晚了,至少对于现代芯片而言,它是专门设计的。但是芯片知识产权的设计者在部署在最广泛的设备中的AI和机器学习芯片的数量方面,每个人都击败了。
Arm的客户,包括竞争对手Intel和Nvidia,都在忙于在各处部署AI技术。该公司还创建了特定的机器学习指令和其他技术,以确保将AI集成到几乎所有电子设备中,而不仅仅是将高端设备集成到服务器中。
在服务器级别,亚马逊等客户正在将基于ARM的机器学习芯片引入数据中心。在公司最近在加利福尼亚州圣何塞举行的TechCon活动上,我与Arm机器学习小组副总裁Steve Roddy进行了交谈。
上图:史蒂夫·罗迪(Steve Roddy)是Arm机器学习小组的副总裁。
VentureBeat:您对机器学习的关注是什么?
史蒂夫·罗迪(Steve Roddy):我们在市场上拥有机器学习处理器已有一年左右的时间。我们针对高端消费者市场,这显然是首选。Arm为何闻名?手机处理器。这就是高端手机中专用NPU(神经处理单元)概念首次出现的地方。现在,您有Apple,Samsung,MediaTech和[和] Huawei都在设计自己的产品,Qualcomm等。这在1000美元的手机中很常见。
我们要介绍的是一系列处理器,不仅可以服务那个市场,而且可以服务主流和低端市场。我们最初的设想–我们进入市场是为了服务于制造VR眼镜,智能手机的人们,在这些地方您更关心性能而不是成本平衡等。历史表明,该功能集会出现在高端手机中,需要花费几年时间,然后才降到主流的400-500美元的手机中,然后几年后才出现在更便宜的手机中。
我认为整个NPU机器学习事物移动的速度最有趣的是,它发生的速度更快,但是出于不同的原因-过去,好的8百万像素传感器从这里开始,然后价格足够便宜它去了这里,然后当它更便宜时就去了那里。不仅仅是组件成本下降并集成在一起,而是被其他东西所取代。机器学习算法可以用于就系统如何集成和组合在一起做出不同或更明智的决策,从而以不同的方式增加价值或以不同的方式减少成本。
上图:Simon Segars在Arm TechCon 2019上
VentureBeat:今天有一个演讲描述了神经网络将如何弄清楚如何做某事,然后您剔除了那些不必要的东西。最后,您可以得到可以嵌入微控制器的效率更高或更小的产品。
罗迪:这是一个新兴领域。退一步,机器学习实际上有两个组成部分。存在所谓的算法,学习或训练的创建,它几乎完全在云中发生。对我来说,我想开玩笑地说,大多数从业者都会同意,这是具有100万台打字机的100万只隐猴。Poof,其中之一写了莎士比亚十四行诗。这就是训练过程的样子。
实际上,谷歌对此很明确。Google现在有了一个叫做AutoML的东西。假设您有一个从某个开放源代码存储库中挑选的算法,并且在您要执行的任务上非常出色。您已对图像识别进行了一些调整。您可以将其加载到Google的云服务中。他们之所以这样做,是因为它显然是在计算服务上运行仪表。但这基本上是您要支付多少钱的问题。
他们将随机尝试伪随机创建的神经网络的不同变体。这里有更多的过滤器,那里有更多的层,逆向操作,将它们乱序处理,然后再次重新运行训练集。哦,这个准确度现在是.1%。这就是您要花多少钱。1,000美元还是10,000美元的计算时间?一百万只猴子,一百万台打字机。瞧,我发现无论脸部识别,语音识别,它的准确率都要高2%。
放开所有。那就是神经网络的发展。部署称为推理。现在,我想对我要识别的对象(是什么面孔,什么对象)进行一次特殊的推理。我想在汽车上运行它,并在人行横道上认出奶奶,或者有什么。显然,Arm专注于已部署在边缘或端点的批量硅市场。
例如,您将一堆传感器粘贴在会议中心的墙壁上,灯光熄灭,因为着火了,烟雾弥漫。您可能拥有能够识别火势,启动并在地板上寻找尸体的传感器。他们可以向消防部门发出求救信号。“这里是人们的所在地。”“别去这个房间,那里没人。”“去这个房间。”这是一件很酷的事情。但是您希望它超级高效。您不想重新连接整个会议中心。您只想贴上电池供电的东西,并期望它可以运行三六个月。您每六个月进入一次并使用该传感器更换安全系统。
这是采用数学家创建的抽象模型并将其简化为适合受限设备的问题。这是仍然面临的最大挑战之一。我们有我们的处理器。他们非常擅长在终端设备中实现高效版本的神经网络。从正在构想新型神经网络并理解其中的数学的数学家那里获取知识的过程,然后将其连接到低级程序员(后者是嵌入式系统程序员)—那里存在巨大的技能差距。
如果您是24岁的数学向导,而您刚获得了本科数学学位和数据科学研究生学位,并且您从斯坦福大学毕业,那么大型互联网公司将在您的宿舍之外为您提供工作机会—您在神经网络及其背后的数学方面很出色,但是就定义而言,您在嵌入式软件编程方面没有任何技能。他是一位嵌入式软件工程师,负责组装CPU,GPU和ARM NPU,将操作系统集成在芯片上,并提供驱动程序和低级固件,他被告知:“嘿,这是带有神经网络的代码。确保它在具有2兆内存和200MHz CPU的受限小型设备上运行。让它起作用。”
好吧,等一下。那里有差距。嵌入式专家说:“我不知道这个神经网络能做什么。它需要的计算量是我的10倍。我可以扔掉的90%是多少?我怎么知道?”高水平的人,数学家,对约束设备一无所知。他处理数学,即大脑模型。他不了解嵌入式编程。大多数公司在同一公司没有两个人。很少有高度集成的公司将所有人聚集在一起进行交谈。
上图:Simon Segars在Arm TechCon 2019上讨论了自定义说明。
经常-假设您是数学家,而我是嵌入式软件专家。我们甚至必须要有NDA(保密协议)才能进行对话。您愿意许可模型输出,但是您不会放弃源数据集,训练数据集,因为那是您的财富。这就是价值。您给我一个训练有素的模型,可以识别人行横道上的猫,人或奶奶,很好,但是您不会透露细节。你不会告诉我发生了什么。在这里,我试图解释这在我的约束系统中不适合。你能为我做什么?
你有这个鸿沟。您不是嵌入式程序员。我不是数学家。我们做什么?那是我们正在投资的领域,而其他人正在投资。将来,随着时间的推移,这将成为魔术领域之一。这有助于关闭它们之间的循环。这不是单向的事情,您向我许可了一种算法,并且我会不断尝试下去,直到找到合适的算法为止。您给了我99%的准确度,但是我只能实现82%的准确度,因为我不得不花大量的计算才能使它适应。那总比没有好,但是我当然希望我可以回去再培训,并有一个无休止的循环,以便我们可以更好地进行协作。可以将其视为受限与理想之间的协作。
VentureBeat:我想知道这里听起来熟悉的部分是相同还是非常不同,但是Dipti Vachani谈到了汽车联盟,以及每个人将如何在无人驾驶汽车上进行合作,将其从原型制造到生产。她说我们不能在这些汽车中安装超级计算机。我们必须将它们放入体积更小的,价格合理的设备中,然后才能投入生产。您所谈论的内容是否有些相似?超级计算机已经找到了这些算法,现在需要将这些算法降低到实际水平。
Roddy:是同样的问题,对吗?当这些神经网络由数学家创建时,它们通常使用浮点算法。他们以无限的精度和本质上无限的计算能力来抽象地进行处理。如果您需要更多的计算能力,则可以启动更多刀片服务器,并启动整个数据中心。你在乎什么?如果您愿意将支票写到Amazon或Google,则可以这样做。
VentureBeat:但是您不能将数据中心放在汽车中。
上图:无人驾驶汽车需要一个标准的车身才能到达终点线。位于明尼阿波利斯的VSI Labs在Arm TechCon上的研究工具。
罗迪:对。一旦确定了算法的形状,它就会成为一个问题-您会听到诸如量化,修剪,聚类之类的术语。您如何通过删减实际上无关紧要的部分来降低复杂性?您的大脑中有许多神经连接-试图模仿大脑-但其中有一半是垃圾。他们中的一半做些真实的事情。有牢固的连接可以传输信息,而较弱的连接可以被删除。如果您失去了一半的脑细胞,您仍然会认识您的伴侣或配偶。受过训练的神经网络也是如此。它们在想象的神经元之间有很多联系。您可以摆脱其中的大多数,并且您仍然可以获得相当不错的准确性。
VentureBeat:但您担心,您摆脱的一件事是在某些情况下可以防止汽车撞毁。
罗迪:这是一个测试案例。如果我放弃了一半的计算,会发生什么?这就是所谓的再培训。重新培训,或更重要的是,要牢记目标。训练不是假设数据中心或超级计算机具有无限容量,而是训练我只有有限的计算能力。
汽车就是一个很好的例子。假设距现在已有10年,您是XYZ德国零部件公司行人安全系统的实验室主任。您的算法在最新,最出色的雷克萨斯和梅赛德斯汽车中运行。他们每个人都拥有价值5,000美元的计算硬件。您的算法还在运行了9年的中国轿车上运行,而该轿车恰好具有您的第一代系统。
您的一位科学家提出了最佳的新算法。准确度提高了5%。好极了!无论如何,在梅赛德斯中,它的准确率要高出5%,但您有义务(实际上您可能有一份合同,说您将按季度进行更新)给另一个人。更糟糕的是,现在我们有来自10家汽车公司的17个平台。您如何将这项新的数学发明应用于所有这些地方?围绕它必须有一些结构化的自动化。这是汽车财团试图在一个封闭领域中进行的工作的一部分。
我们正在开发的技术围绕“我们如何创建这些桥梁?”的方式,例如,如何将模型放入开发人员使用的训练集中-TensorFlows,Caffes-允许他们说“ ,而不是假设我在云中运行以进行推理,如果我在智能门铃中的2美元微控制器上运行该怎么办?有很多基础设施可以使用。
无论好坏,它必须跨越整个行业。您必须在Facebook的数据科学家,XYZ Semiconductor的芯片专家,制造商以及试图对它们进行相互升级的软件算法人员之间架起桥梁。