线程计数

在我们到达死亡现场之前,让我们回到过去…

历史倾向于关注添加新的力量,例如水轮和蒸汽发动机,作为工业革命的变革方面。可以说,将货物的生产分成不同的任务,然后在规模中具有专业系统,是实际革命。在纺织工业中,作为山寨行业的早期通道 - 那些可以旋转,编织和缝制的技术人员 - 当任务分开并被新工厂的专家的集合进行了舒适地表现出来。

通才会一个接一个地承担任务:梳理羊毛或棉花,然后纺成一根线,然后织布,然后做衣服。工厂里有许多工人在同时工作,几层纺纱机和织布机同时在许多条线上工作。

这可能并不令人惊讶的是,通过计算开拓者采用这种类比 - 从“60年代”向后,可以调度由计算机执行的谨慎指令的集合开始被称为“线程”。一组可以在一次通过一组任务工作的计算机是“单螺纹”,并且可以处理多个并行处理的任务是“多线程”。

家用电脑 - 新的山寨行业

70年代后期的家庭电脑的出现是依赖于将有用的计算设备的成本降低到它可以适应的点,以便在足够大的社会部分的自由支出范围内。Starting with 8-bit computers like the Apple II or Commodore PET, and progressing through the 16-bit era and into the age of IBM PC compatible dominance in the ‘90s and early 2000s (286, 386, 486 and Pentium processors), personal computing hardware was almost universally single-threaded. Clever programming meant that multi-tasking – or the ability for two or more applications to appear to be running at the same time – existed at the operating system layer. Amiga OS was a particularly early example, and the feature came to the PC with much fanfare in Windows 95. Even when OS-level multi-tasking was in use, under the hood the CPUs were dutifully executing instructions in series on a single thread at any one time. Serial, not parallel.

虽然有一些罕见的个人电脑以前可用的两个或更多CPU,但2002年Pentium IV处理器的出现是广泛的。在带有多个核心的长期CPU之前,虽然可以处理最多两个线程,是常见的。如今,有4,8或16个线程的4-6或8核心CPU是商品产品,“工作站”级CPU可能拥有28个或更多核心。早期电脑年龄的单线式小屋业正在促进CPU内的多线程工厂。

进入第三维度

90年代早期的单线CPU仍然足够强大,以点燃3D革命。敞口技术,伪3D发动机完全在CPU上运行,允许玩家从纳粹射击所有人到侵入火星的恶魔......我确实承诺有死亡。

真正的3D发动机,具有纹理映射,照明效果,透明度,更大的颜色深度和更高的分辨率所需的时间更加同时计算,即当天的CPU可以支持。一种新的专用协同处理器出生 - 3D显卡。

而不是第二个通用CPU,可以执行一系列不同类型的计算与高水平的精度,这些新的处理器被用来执行特定类型的线性代数和矩阵操作的3D游戏,以“足够好”的精度水平。重要的是,这些图形处理单元(Graphics Processing unit,简称gpu)是由单个芯片上的多个单独的简单计算核心组成的,允许许多低精度的计算并行执行。

不仅仅是一张漂亮的照片

在几年内,GPU彻底改变了PC游戏。1996年,用GPU出售的PC很少见。到1999年,专门的游戏玩家不会考虑没有人的PC。今天,即使是最具业务专注的PC也将运行一个带内置的3D图形加速的CPU,并且游戏玩家将在AMD上的最新图形卡上花费数千张。即使它们经常嵌入CPU内,GPU也是普遍存在的。

即使在今天的多核多线程CPU,GPU可以运行的同时线程的数量也将使CPU可以处理的线程。使用标准PC设置的GPU硬件部分,存在不可避免的项目来解锁该目的的并行计算能力。根据“通用计算单元上的图形处理单元”(GPGPU)的横幅收集,OpenCL等项目允许程序员访问当今GPU的大规模并行架构。

区块链技术是一个特别的用例,它创造了巨大的需求,并导致了GPU的短缺——工作证明加密挖矿尤其如此。由于在许多加密货币中使用的加密哈希函数依赖于线性代数(椭圆曲线)计算,这与支持3D图形的计算大体相似,挖掘软件将大部分工作转移到GPU。

人工智能——超大规模的并行化

基于神经网络的任何机器学习系统都需要进行重要的计算资源来运行,仍然更大的资源训练。即使是一个相对简单的神经网络,每个层可能有数百或数千个神经元,以及几层。如果层中的每个神经元必须连接到前一层中的每个神经元,并且对于所有这些连接都具有权重和偏差,则计算的数量需要迅速飙升到荒谬大的数量,并且可以保持该信息所需的存储器。试图运行训练有素的AI可以将一个强大的机器带到其膝盖 - 以及GPU可以同时浅地落入微不足道的线程。如果我们在培训AI所需的附加计算中,则使用诸如BackProjagation的技术优化那些权重和偏置的额外计算,计算任务通常是幅度或更大的阶数。

这一现实是为什么专家AI硬件越来越重要。新的AI聚焦处理器的阶级提供了这种超大的平行化,内置了处理器内置的内存,允许使用较大的数据集更有效地培训模型和运行。在我们的最后一篇文章中,我们提请注意包括GraphCore'智能处理单位'(IPU)的示例。Taking that example again (although other specialist AI hardware is available), when compared to the few tens of threads that a workstation CPU might run, GraphCore’s latest-generation Colossus MK2 IPU can process nine thousand threads in parallel – and with multiple IPUs in each machine, there is simply no comparison to what can be achieved with general purpose hardware.

虽然高端gpu可能有大量的内核,但专业的AI硬件再次胜出——这一次是因为内存带宽。一个显卡可能自夸为GPU单独的内存,但架构对标准内存模块通过逻辑板连接到GPU。这限制了向GPU上的大量计算核输入和接收信息的速度。对于3D图像或加密挖掘,这往往不是一个重要的限制,但对于运行或训练AI模型,这往往是一个重要的限制。将硅上内存存储连接到每个核心,作为处理器体系结构的一部分,可以避免这个瓶颈,提高性能,如果在一台机器上连接多个专业处理器,则可以实现更有效的扩展。

即使在专业AI硬件中的所有这些优点,通过稀疏技术减少负载,避免了浪费的计算循环(即,摆脱值为零的冗余计算)产生巨大的差异。如此经常这种情况,具有良好调整软件的高能力硬件的组合是最好的方法。

整合完整性

在技​​术炒作曲线的峰值上,在高度的情况下,跑步和训练最佳机器学习模型的积极部署是许多企业的重要差异。拥有最佳和“最聪明”的机器的竞争压力只会增加。

这些技术平台的巨大潜力可能会被糟糕的部署、糟糕的集成和糟糕的数据质量(垃圾输入,垃圾输出仍然适用……)所彻底侵蚀。就像21世纪初新的企业资源规划(ERP)部署风靡一时一样,对于系统集成商来说,这是巨大的机遇,人工智能也是如此。大多数组织不太可能在设计、部署和集成这些新的人工智能平台方面拥有重要的内部专业知识——购买专业知识是可行之路。

许多与系统集成交易的合同挑战将是熟悉的 - 要求设计,项目时间表和延迟后果,支付触发的里程碑,验收测试和被视为接受。成功的关键将是要交付的目标和结果的清晰度,以及提供给予他们的计划。复杂的事项是AI系统在能够产生结果的范围内,如果没有适当的结构,可以在精度或性能方面是次优的,但是在训练,并调整以避免冗余工作,以避免冗余努力,以避免冗余的努力,以便在准确度或性能方面是“工作”的程度。这些事项对第三方的硬件和相关软件的背景资本支出进行了新的意义,并加强了作为监管要求增加的AI系统运营商的法律责任。我们已经看到了欧盟的拟议AI规则,并且知道合规性负担将是物质,罚款甚至比GDPR细阈值更大。

下一个步骤

我们将讨论这个激动人心的时期在硬件中的含义欧洲技术峰会在我们的“硬件文艺复兴”小组中。要了解更多并注册参加峰会,请访问活动网站。

您可以从DLA Piper团队找到更多关于AI,硬件和博客技术的法金博宝188转账律边缘的相关法律问题的更多信息。

如果您想讨论本文中讨论的任何问题,请与之联系加雷斯斯斯托克斯或者您通常的DLA Pipe金博宝188转账r联系。

作者的观点不一定代表欧华律师事务所或其客户的观点。金博宝188转账