Neural Magic 简化模型部署并通过基于 CPU 加速推理帮助企业降低成本

  • Neural Magic 为企业提供一系列软件、算法和工具,在第三代英特尔® 至强® 可扩展处理器上实现了 GPU 级性能,使企业能够利用广泛部署且高性价比的 CPU 资源大规模实现性能突破,降低推理的计算成本,同时获得纯软件解决方案带来的部署灵活性,满足机器学习团队及开发人员部署机器学习模型的需要。

author-image

作者

机器学习团队希望利用能够与其日常所用的机器学习 (ML) 框架无缝协作的自动化工具来构建并部署经过高度优化的模型。开发人员希望能够在云端、本地或是边缘,按照自己的需要在现成的计算资源上部署高性能、高准确率的深度学习 (DL) 应用,而不必因为要使用专用硬件而增加预算。

但是,当前很多机器学习方法都要通过专有硬件加速器来驱动,同时性能优化技术也十分复杂,必须由专门的数据科学团队来实施。这些加速器无论是用于本地推理还是云端推理,往往都价格不菲。因此,对于资金并不充裕的项目来说,大都难以负担。这样的难题意味着企业往往无法进行全面优化,打造能够满足其组织目标的管道,而要在性能、准确性、灵活性和成本之间做出妥协。为避免使用昂贵的设备,他们不得不推迟计划以及/或牺牲准确性。或者,他们可能受限于单一加速技术架构,而这也许会使数据科学家无法利用行业标准技术去探索新的方法及创新解决方案。研究表明,60% 的公司在部署深度学习模型时无法使用现有的优化技术1

Neural Magic 利用广泛部署且高性价比的 CPU 资源,专注于自然语言处理 (NLP) 和计算机视觉用例。他们提供经过优化的软件算法,利用英特尔® 至强® 处理器及其内置的高性能矢量和整数计算与 AI 技术。Neural Magic 的专有算法和工具让数据科学家能够在采用推理加速技术设计的高性能 CPU 上运行工作负载。


Neural Magic DeepSparse 平台:基于 CPU 提升 AI 性能

Neural Magic 在第三代英特尔® 至强® 可扩展处理器上实现了 GPU 级性能。Neural Magic 推理引擎 (Neural Magic Inference Engine) 是一种运行时软件,能够利用剪枝 (pruning) 和稀疏-量化 (sparse-quantization) 等现成的模型优化技术以及第三代英特尔® 至强® 可扩展处理器先进的新功能。这些技术可以在不影响准确性的情况下减少模型占用空间,进而减少处理神经网络所需的算力,同时还能加速在 CPU 上运行的内存敏感型进程。

图 1. 在广泛部署的英特尔® CPU 上运行深度学习工作负载。

Neural Magic 已对这些模型压缩技术进行了简化,使其更易实现。他们的方法消除了在压缩神经网络时围绕性能和准确性权衡产生的手动设置和迭代的复杂性。这种算法优化与推理引擎相结合的方法基于英特尔® 架构 (IA) 会带来非常出色的性能。

Neural Magic 算法利用了英特尔® 架构及 AI 技术,包括英特尔® 高级矢量扩展 512 和采用矢量神经网络指令 (VNNI) 的英特尔® 深度学习加速技术,使最终用户能够以更低的位精度运行 Neural Magic 算法来处理他们的深度学习工作负载,同时在进行 FP32 和 INT8 计算时均能实现性能提升。

DeepSparse 引擎 (DeepSparse Engine) 的设计是为了能够集成到机器学习部署管道的常用工具中。该引擎提供了一套面向 TensorFlow、PyTorch 和 Keras 的校准工具。它与 ONNX Runtime 服务器一起出货,方便没有模型服务解决方案的最终用户用来开展测试。


使用 Neural Magic 进行推理,每秒帧数提升高达 6.64 倍以上2

ONNX Runtime 开源项目(可在 GitHub 上获得)旨在在一系列框架、操作系统和硬件平台上实现机器学习加速。但由于某些神经网络层的执行效率低下,ONNX 会出现降速的情况。而第三代英特尔® 至强® 可扩展处理器的一系列底层功能,包括推理吞吐加速技术等,就能改善这种状况。Neural Magic 的专有稀疏加速算法能够整合利用这些功能,提升在英特尔® 架构上运行计算机视觉模型的性能和准确性。


在英特尔® 至强® 铂金 8380 处理器上对 Neural Magic 进行基准测试

英特尔对 Neural Magic DeepSparse 引擎的各项功能及算法开展了测试。工程师们对使用 ONNX Runtime 和经过完全优化的 DeepSparse 推理堆栈及其算法进行 ResNet-50 模型计算机视觉推理的性能进行了比较。

在加载模型并融合算子后,测试开始进行。运行后,测试证明稀疏化有利于大幅减少在经过 INT8 量化的 Neural Magic DeepSparse 引擎和英特尔® 至强® 8380 处理器上运行 AI 所需的时间(见图 2)2。基准测试表明,与 ONNX Runtime 相比,使用 DeepSparse 实现的 ResNet-50 模型速度提升高达 6.64 倍2(见图 2)。

由于每秒帧数 (FPS) 提高六倍多,因此可以更快完成工作负载,从而为客户大规模减少推理成本,显著提高部署灵活性。

图 2. Neural Magic DeepSparse 引擎借助英特尔® 至强® 铂金 8380 处理器将 ResNet-50 模型的推理速度提升高达 6.64 倍。

结论

Neural Magic DeepSparse 引擎是一种基于第三代英特尔® 至强® 可扩展处理器的深度学习推理加速软件解决方案。借助 Neural Magic 的算法,企业可以使用广泛部署且高性价比的 CPU 大规模实现性能突破,同时获得纯软件解决方案带来的部署灵活性。Neural Magic 解决方案可以用于多个行业领域的推理。

Neural Magic 提供全套工具,用于在商用 CPU 资源上选择、构建和运行高性能深度学习模型。他们的软件包内含:

• Neural Magic DeepSparse 引擎,一种能够为在英特尔® 架构上运行的深度学习应用带来高度优化性能的运行时。
• Neural Magic Sparsify,一款界面易于使用的软件解决方案,可以对模型进行剪枝和优化,从而提高性能。
• Neural Magic SparseML,一种提供剪枝和稀疏化以简化重新校准工作的库,可以大大提高模型的性能和准确性。这些剪枝和稀疏化库能够与 TensorFlow、Keras 及 PyTorch 等主流深度学习框架配合使用。
• Neural Magic SparseZoo,一套经过预训练和优化的模型,便于客户能够使用自己的数据迅速开始推理工作。这些预训练模型都是典型的计算机视觉和自然语言处理模型,包括图像分类、对象检测、问答、情感分析等。

利用高性价比的第三代英特尔® 至强® 可扩展处理器资源,Neural Magic 可显著降低推理的计算成本,无论是在云端,还是在本地。

有关 Neural Magic 的更多信息,请见 neuralmagic.com

要详细了解英特尔® AI Builders 计划,请访问 builders.intel.com/ai

无硬件 AI。Neural Magic 通过支持卷积神经网络 (CNN) 的创新算法在商用 CPU 上的运行,实现了 GPU 级别甚至更高的速度,让利用深度学习变得更简易、更普及,且成本更低。数据科学家不再需要在模型设计和输入规模上做出妥协,并且能够以可承受的价格获得性能强大的 CPU 来进行高性能推理。

产品和性能信息

1来源:Neural Magic
2配置:推理:基于英特尔 2021 年 11 月所做的测试。新配置:单节点,2 x 英特尔® 至强® 铂金 8380 CPU @ 2.30 GHz,40 核,启用超线程,启用睿频,总内存 256 GB(16 个插槽/16 GB/3200 MT/s DDR4),BIOS:SE5C6200.86B.0022.D64.2105220049(ucode:0xd0002b1),Ubuntu 18.04.5 LTS,5.4.0-84-generic,gcc 7.5.0 编译器,推理框架:DeepSparse 0.3.1,图像分类:ResNet50 SparseML Pruned Moderate,Imagenet,1 个实例/双路,数据类型:Int8。基线配置:单节点,2 x 英特尔® 至强® 铂金 8380 CPU @ 2.30 GHz,40 核,启用超线程,启用睿频,总内存 256 GB(16 个插槽/16 GB/3200 MT/s DDR4),BIOS:SE5C6200.86B.0022.D64.2105220049(ucode:0xd0002b1),Ubuntu 18.04.5 LTS,5.4.0-84-generic,gcc 7.5.0 编译器,推理框架:DeepSparse 0.3.1,图像分类:ResNet50 SparseML Dense,Imagenet,1 个实例/双路,数据类型:FP32。