65.9K
CodeProject 正在变化。 阅读更多。
Home

用 AI 推动业务发展

starIconstarIconstarIconstarIconstarIcon

5.00/5 (2投票s)

2023 年 12 月 18 日

CPOL

7分钟阅读

viewsIcon

10089

利用 Red Hat OpenShift Data Science 和 Intel® 架构的开源 AI 技术

人工智能不是我们的未来——而是我们当下的现实。零售、银行和金融、安全、治理、医疗保健和工业等领域,人工智能都在日常使用。我们正接近人工智能生成内容和人类生产内容变得无法区分的地步。自然语言处理(NLP)正发展到一个水平,人与机器之间的交互将如同两个人之间的交流。这为政府、企业家以及金融和健康领域的公司开辟了新的机遇。

为了简化机器学习(ML)任务,英特尔和红帽正在开发新的解决方案。数据挖掘、模型部署、训练、流程自动化和数据传输,都通过红帽 OpenShift* 数据科学等产品得到增强。为了提高性能,英特尔同时引入了新的技术和加速器,包括英特尔® 高级矩阵扩展(Intel® AMX)。

问题陈述

人工智能为企业带来了各种各样的商业优势。NLP 可以通过高效分析大量文本数据来帮助进行欺诈检测。它可以执行情感分析并支持医疗保健。NLP 能够实现更自然的**人机交互**。本文展示了一个简单的人工智能模型,用于回答有关公司的查询。使用智能助手可以减少响应时间,降低服务客户所需的人员数量,从而降低成本,提高客户便利性。

方法

在此案例中,目标是回答客户关于产品、价格、销售和公司本身的问题。下面的示例展示了如何使用开源组件设置一个简单的聊天机器人,该机器人可以与客户互动。通过一些编程和开发,它可以扩展并转变为一个功能齐全、生产就绪的应用程序,从而支持业务。

为了实现这一目标,我们使用了 BERT(Bidirectional Encoder Representations from Transformers)和开源的 BERT 问题解答 Python* 演示。以下示例在红帽 OpenShift 数据科学平台、OpenVINO* 工具包运算符以及使用具备英特尔 AMX 的第四代英特尔® 至强® 可扩展处理器,以提供更快的响应。

技术

红帽 OpenShift 数据科学

红帽 OpenShift 数据科学是一项为数据科学家和智能应用程序开发人员提供的服务,可作为自管理或托管的云平台。它提供了一个完全支持的环境,数据科学家可以在其中快速开发、训练和测试 ML 模型,然后再将其部署到实际应用中。由于可以轻松地将 ML 模型从红帽 OpenShift 数据科学导出到其他平台,因此团队可以在容器中将 ML 模型部署到生产环境中——无论是在本地、公共云、数据中心还是边缘。

使用红帽 OpenShift 数据科学进行 ML 有许多好处。该平台提供了广泛的商业合作伙伴和开源工具及框架——例如 Jupyter Notebooks*、TensorFlow*、PyTorch 和 OpenVINO——供数据科学家在其工作流程中使用。红帽 OpenShift 数据科学提供了一个安全且可扩展的环境。

英特尔® AMX

英特尔 AMX 是一款内置的新型加速器,可提高 CPU 上深度学习训练和推理的性能。它可加速 AI 操作,性能提高高达 3 倍。它非常适合 NLP、推荐系统和图像识别等工作负载。可以使用英特尔® oneAPI 深度神经网络库 (oneDNN) 来微调第四代英特尔® 至强® 可扩展处理器上的性能,该库是 英特尔® oneAPI 工具包 的一部分,并已集成到 TensorFlow 和 PyTorch AI 框架以及英特尔® OpenVINO 工具包发行版中。这些工具包可以与红帽 OpenShift 数据科学一起使用。

实现示例

本示例以一个描述 Super Shoes! Store 的简单网站为基础(**图 1**)。零售商可以使用自己的网站或生成包含公司重要信息的文件。以下示例展示了如何开发一个简单的聊天机器人,该机器人可以回答问题,从而从客户的角度缩短响应时间。

图 1. 我们示例中使用的网站的一部分

要开始创建聊天机器人,请为红帽 OpenShift 集群 准备一个镜像注册表。此示例还需要存储来提供持久卷(例如,OpenShift 数据基础)和节点功能发现运算符(Node Feature Discovery Operator)来检测支持英特尔 AMX 的 CPU。内核在运行时检测英特尔 AMX,因此无需单独启用和配置。检查节点标签以验证英特尔 AMX 是否可用。

feature.node.kubernetes.io/cpu-cpuid.AMXBF16=true 
feature.node.kubernetes.io/cpu-cpuid.AMXINT8=true 
feature.node.kubernetes.io/cpu-cpuid.AMXTILE=true

必须从 OperatorHub 中安装红帽 OpenShift 数据科学和 OpenVINO 工具包运算符,可以通过 OpenShift 容器平台 Web 控制台(**图 2**)访问。默认设置已足够,但请务必按照正确的安装顺序:先安装 OpenShift 数据科学,然后安装 OpenVINO 工具包运算符。然后,确保这两个运算符都列在 `redhat-ods-applications` 项目的**已安装运算符**选项卡中,并且状态为“成功”。

图 2. OpenShift* 控制台屏幕截图,显示已安装运算符的状态

OpenVINO 工具包运算符需要额外的配置。确保选择了 `redhatodsapplications` 项目。单击 **OpenVINO 工具包运算符**,然后选择**笔记本**选项卡。现在,使用默认设置创建一个新笔记本。完成这些步骤后,通过从主菜单转到**构建** > **构建**,验证 `openvino-notebooks-v2022.3-1` 构建是否已完成。

使用右上角的菜单转到**红帽 OpenShift 数据科学**仪表板(**图 3**)。

图 3. OpenShift* 托管服务菜单

在 **红帽 OpenShift 数据科学**界面中,选择**应用程序** > **已启用**选项卡。使用 OpenVINO 工具包 v2022.3 镜像启动 Jupyter Notebook* 应用程序。将容器大小更改为“大型”(**图 4**)。

图 4. 在红帽 OpenShift* 数据科学仪表板中创建 Jupyter Notebook*

在启动器窗口中选择**终端**(**图 5**)。

图 5. 启动器窗口

克隆 Open Model Zoo GitHub 存储库,其中包含 演示 的源代码

git clone --recurse-submodules https://github.com/openvinotoolkit/open_model_zoo.git

要查看所有已编译的指令并控制英特尔 AMX 的使用,您可以选择设置 `ONEDNN_VERBOSE` 环境变量

export ONEDNN_VERBOSE=1

如前所述,此示例基于 BERT 问题解答 Python 演示。但是,它使用了 BERT-large 而不是 BERT-small。

在目录 _open_model_zoo/demos/bert_question_answering_demo/python_ 中,有一个 _models.lst_ 文件,其中包含演示支持的模型列表,可以使用以下命令下载它们

omz_downloader --list models.lst

正如您所见,使用红帽 OpenShift 数据科学最主要的优势之一是所有必要的工具(如上面使用的 模型下载器)和 Python 包都已内置!得益于 OpenVINO 工具包运算符,您可以避免冗长、耗时且易出错的组件安装和开发环境准备过程。

模型下载完成后,我们就准备运行第一个聊天机器人了!让我们调用脚本

python3 bert_question_answering_demo.py --vocab=/opt/app-root/src/open_model_zoo/demos/bert_question_answering_demo/python/intel/bert-large-uncased-whole-word-masking-squad-int8-0001/vocab.txt --model=/opt/app-root/src/open_model_zoo/demos/bert_question_answering_demo/python/intel/bert-large-uncased-whole-word-masking-squad-int8-0001/FP32-INT8/bert-large-uncased-whole-word-masking-squad-int8-0001.xml --input_names="input_ids,attention_mask,token_type_ids" --output_names="output_s,output_e" --input="https://grabuszynski.com/myshoesemporium.html" -c

零售商可以使用自己网站上的示例,而不是输入示例页面。现在,聊天机器人可以回答有关公司及其产品的问题(**图 6**)。

图 6. 可以提出的示例问题

如果 `ONEDNN_VERBOSE` 设置为 1,您应该会在日志中看到 `avx_512_core_amx`,这证实了正在使用英特尔 AMX 指令

onednn_verbose,info,cpu,isa:Intel AVX-512 with float16, Intel DL Boost and bfloat16 support and Intel AMX with bfloat16 and 8-bit integer support

此示例可以进行扩展。模型可以部署到模型服务器。一个易于使用且用户友好的界面的应用程序将是该项目的点睛之笔。

结论

红帽和英特尔一直在不断研究新的人工智能解决方案、技术和改进。本文展示了红帽 OpenShift 数据科学如何通过与 OpenVINO 工具包和英特尔 AMX 加速相结合,改变零售行业。通过将这些尖端技术与 BERT 模型结合用于聊天机器人解决方案,零售商可以

  • 降低客户服务成本
  • 通过缩短响应时间提高客户满意度
  • 有可能增加销售额

得益于红帽 OpenShift 数据科学和英特尔 AMX 加速的结合优势,零售商能够快速处理和分析海量数据,从而做出更好的决策并优化运营。最终,这种技术融合为零售商提供了在快速变化的市场环境中保持竞争力的必要资源。

© . All rights reserved.