启动 AI 开发项目的必备工具
本文探讨了 oneAPI 并考察了英特尔基于 oneAPI 构建的一些工具,以了解 oneAPI 如何使人工智能开发更简单、更易于管理。
人工智能项目是计算和数据密集型的。许多项目从一开始就选择并仅针对人工智能的训练阶段优化硬件平台。然而,数据操作和预处理会降低开发效率。通常,部署的模型必须在浏览器或边缘设备上运行——这意味着更大的内存占用——同时仍能在不同的处理架构上提供快速周转。因此,许多人工智能项目必须维护多个代码库。
但试想一下,如果你可以只创建一个 TensorFlow* 项目,并在所有处理器上运行相同的代码。或者如果你可以训练和运行你的 PyTorch* 模型,并自动使用在其运行的硬件上最佳的配置和优化。或者试想一下,如果你可以使用一个工具来分析你的整个端到端机器学习管道。这就是英特尔的人工智能工具、库和框架优化——基于 oneAPI 开放标准构建——为人工智能开发人员提供的。
本文探讨了 oneAPI 并考察了英特尔基于 oneAPI 构建的一些工具,以了解 oneAPI 如何使人工智能开发更简单、更易于管理。
一个代码库可针对多种架构
oneAPI 是一个统一的跨平台、跨行业标准,用于构建数据和机器学习应用程序,使开发人员能够更快地构建和创新。相同的代码可以针对多种架构,并且由于工具包提供的优化而提高硬件性能。各公司一直在合作并提供遵循此标准的工具,为数据科学家以及人工智能和机器学习开发人员提供更好的开发体验。
从事人工智能项目的人员不再需要担心和管理项目运行和支持的处理器和加速器架构。英特尔的人工智能优化不仅加速了人工智能模型的计算时间,而且加速了整个行业团队的开发时间和精力。
人工智能工具、库和框架优化
以下是一些工具的简要概述,旨在通过更快的开发和性能来加速您的人工智能项目。
人工智能工具包
Intel® AI Analytics Toolkit (AI Kit) 是一个熟悉的基于 Python* 的库、工具和框架的集合,经过优化以从英特尔 CPU、GPU 和加速器中获得最佳性能。
内置于标准框架(如 TensorFlow、PyTorch*、scikit-learn* 和 XGBoost)中的软件优化可以改善大型模型和数据集的内存使用,并显着加快训练和推理。由于这些优化由 oneAPI 提供支持,您可以在不同的硬件架构上部署它们。
Intel® Distribution of Modin* 是 pandas 的直接替代品,可实现分布式 DataFrame 处理,利用您机器上所有可用的核心。AI Kit 还包括一个模型压缩工具,Intel® Neural Compressor。模型压缩是一系列技术,例如量化、剪枝和知识蒸馏,它们在保持所需预测精度的同时减小模型大小。
最后,AI Kit 包括英特尔®架构模型动物园,其中包含各种预训练模型、示例脚本和分步教程,可帮助您尽快开始。
Intel® Distribution of OpenVINO™ Toolkit
Intel Distribution of OpenVINO Toolkit 可以加载、转换和优化使用 Caffe* 和 ONNX* (Open Neural Network Exchange) 等众多流行框架训练的模型。您可以将相同的应用程序部署到 CPU、GPU 和加速器硬件的组合上,同时在它们之间并行进行推理。同样,在微调和优化之后,您可以将您的应用程序部署到本地、云端、边缘设备或浏览器中。
此工具包还附带其自己的模型动物园以及对部署至关重要的实用程序,例如量化、模型优化器和模型服务器。
BigDL 2.0
对于大规模分布式大数据和人工智能应用程序,有 BigDL。顾名思义,BigDL 提供了各种深度学习功能来处理大量数据。DLlib 是 BigDL 的旗舰应用程序,它允许您使用 Apache Spark* 作为管道来快速构建和部署完整的端到端人工智能应用程序。隐私保护机器学习 (PPML) 为私有和公共云环境中的分布式大数据和人工智能应用程序增加了 Intel® Software Guard Extensions 保护。BigDL 还包含使时间序列分析和推荐应用程序易于构建的库。
人工智能参考套件
英特尔和埃森哲* 开发了人工智能参考套件,以帮助加速特定应用和行业的项目。这些套件包括用于自然语言处理、计算机视觉或预测性维护等应用程序的开源训练模型。它们还附带行业特定数据集,例如航空旅客文本片段、胸部 X 光图像和电线杆属性。它们是一个很好的起点,您可以利用其中包含的 oneAPI 组件和库,将迁移学习应用于您自己的特定数据。
加速人工智能开发
为了给您一些使用这些工具的启发,让我们探讨一些可以将这些工具组合到人工智能应用程序中的用例。
通过智能索引进行文档路由
大型组织,如企业、政府、医疗保健和教育提供商,每年可能需要手动路由数百万份文档。一个根据文本中的术语对文档进行分类的人工智能模型可以大大提高效率。您可以使用 Intel® Extension for Scikit-learn* 和您自己的相关数据集训练支持向量分类 (SVC) 模型。由于数据集的大小,使用 Intel Distribution of Modin 有助于加速预处理。通过智能索引文档路由参考套件,了解如何开始使用在通用数据集上预训练的模型。
检测实时视频流中的物体
如果您有视频源,例如实时网络摄像头,您可以通过下载预训练的 TensorFlow 对象检测模型开始。您正在将此模型部署到浏览器以从实时视频流执行推理,因此效率很重要。因此,当您将训练好的 TensorFlow 模型导入 Intel Distribution of OpenVINO toolkit 时,将其转换为 FP16 数据类型。将较短字长的数据类型与 Intel Distribution of OpenVINO toolkit 中的 oneAPI 软件优化相结合,可提供您在实时视频中检测对象所需的性能。您可以通过本教程亲自尝试,或者您可以使用预训练的 PyTorch 模型,对其进行转换和优化以满足您的需求。
智能功率预测
风能和光伏等能源的发电量取决于天气,而天气又影响电力需求。因此,优化发电计划以有效满足需求需要复杂的预测系统。这是一个多模型问题,需要天气预报以及一个关于天气如何影响发电和能源需求的模型。这是一个大数据问题,BigDL 可以提供解决方案:必须收集、存储、管理、处理来自多个来源的数据,并在各种深度学习和机器学习模型中使用。了解金风科技*如何使用 BigDL 管理所有这些数据并构建预测模型,将预测准确度从 59% 提高到 79%。
更快更好地构建
人工智能和数据科学仍然是一个新兴领域,在整个行业中有着不断增长的兴趣和机遇。此外,oneAPI 使您能够编写一次代码,部署到多种架构,并以最佳性能运行。因此,您现在可以构建更好的人工智能解决方案并更快地创新,确保以更少的问题增强对不同处理器架构的支持。
借助英特尔的这些工具和框架,您可以使用标准和熟悉的方法和编程语言构建人工智能项目。您还可以在一个地方端到端地迭代和完全调试——无需为工作流的不同部分使用单独的软件。这意味着一个简化、更流畅的开发过程。
Intel® AI Analytics Toolkit
通过优化的深度学习框架和高性能 Python* 库加速端到端的机器学习和数据科学管道。
立即获取
Intel® Distribution of OpenVINO™ Toolkit
使用统一的编程模型和对流行深度学习框架中训练好的神经网络的广泛支持来部署深度学习推理。