随着组织所处理的数据量和复杂度的增加,单靠传统的基于规则的数据分析已不再有效。因此,越来越多的组织希望利用 机器学习 (ML) 和 人工智能 (AI) 等颠覆性技术来交付创新产品、改善结果,并实现更高的运营效率。此外,通过 AWS 和 AWS 合作伙伴解决方案使 AI 和 ML 的普及变得更加快速,促进了其在各行业的应用。
例如,某健康科技公司可通过分析临床与非临床数据,预测老年患者住院的可能性,从而早期干预、个性化护理分配,最大限度利用现有资源,如医院床位和护理人员。
AWS 提供最广泛、最深入的 AI 和 ML 服务及支持基础设施,如 Amazon SageMaker 和 Amazon Bedrock,帮助您在 AI/ML 采纳的每一个阶段推进,包括对 生成性 AI 的应用。作为 AWS 合作伙伴的 Splunk 提供了一个统一的安全与可观测性平台,旨在实现快速和大规模的发展。
随着数据的多样性和体量的增加,了解如何利用两个平台的互补能力以大规模配置这些数据显得尤为重要。对于那些希望超越使用 Splunk AI/ML 的开箱即用特性 的组织,本文探讨了如何将无代码的 Amazon SageMaker Canvas 与在 Splunk 收集的数据结合,从而推动可操作的洞察。同时,我们还展示了如何利用 SageMaker Canvas 的生成性 AI 功能来加速数据探索与构建更好的 ML 模型。
在此示例中,一家提供远程患者监测的健康科技公司使用 Splunk 收集可穿戴设备的运营数据。这些设备指标和日志被导入到 Splunk 索引 中,成为传入数据的存储库。Splunk 用户可以利用这些数据满足特定的安全和可观测性用例,如监控设备的安全状态和正常运行时间,并进行舰队的主动维护。
与此同时,该公司还利用 AWS 数据服务,比如 Amazon Simple Storage ServiceAmazon S3,来存储与患者相关的数据,如患者信息、设备所有权详情及从可穿戴设备获得的临床遥测数据。这些数据可能包括来自客户关系管理 (CRM)、配置管理数据库 (CMDB) 和电子健康记录 (EHR) 系统的导出。在本示例中,他们可以访问存储在 S3 桶中的患者信息及住院记录的摘录。
下表展示了在这一个示例用例中探讨的不同数据:
描述特征名存储示例来源患者年龄ageAWSEHR患者每周饮酒单位alcoholconsumptionAWSEHR患者每周吸烟情况tabaccouseAWSEHR患者平均收缩压avgsystolicAWSWearables患者平均舒张压avgdiastolicAWSWearables患者平均静息心率avgrestingheartrateAWSWearables患者入院记录admittedAWSEHR设备在一段时间内激活的天数numdaysdeviceactiveSplunkWearables一段时间内平均电池电量水平avgeoddevicebatterylevelSplunkWearables本文描述了一种具有两个关键组成部分的方法:
两个数据源通过共同的 AWS 数据工程管道并排存储。数据以统一界面的形式呈现给需要访问的人群。使用结合数据集和 SageMaker Canvas 开发的 ML 模型来预测住院情况 (admitted)。没有 ML 背景的专业人员可以利用无代码工具进行数据分析。
该解决方案可以从更广泛的临床和非临床数据源中开发自定义 ML 模型,以满足不同的实际情境。例如,它可以用来回答一些问题,比如“如果患者有关闭可穿戴设备的倾向且没有可用的临床遥测数据,是否仍然能够准确预测他们的住院可能性?”
本文详细介绍的灵活方法始于一个自动化数据工程管道,以便通过 SQL 接口将存储在 Splunk 中的数据提供给包括商业智能 (BI) 分析师、数据科学家和 ML 从业者在内的各种用户。这是通过使用管道将数据从 Splunk 索引传输到 S3 桶完成的,在那里它将被编制目录。
以下图示展示了这种方法的架构概观。
自动化的 AWS 数据管道包括以下步骤:
来自可穿戴设备的数据被存储在 Splunk 索引中,用户如安全运营中心 (SOC) 分析师可以使用 Splunk 搜索处理语言 (SPL) 对其进行查询。Splunk 的开箱即用的 AI/ML 能力,例如 Splunk 机器学习工具包 (Splunk MLTK) 及专为安全和可观测性用例例如,异常检测和预测开发的模型可以在 Splunk 平台内使用。通过利用这些 Splunk ML 特性,用户可以快速获得具有上下文的洞察,而无需额外的 AWS 基础设施或技能。一些组织可能希望开发定制的、具有差异化优势的 ML 模型,或者想要使用 AWS 服务构建针对特定用例的 AI 应用程序。为此,构建了一个自动化的数据工程管道,采用 AWS Step Functions。Step Functions 状态机与一个 AWS Lambda 函数 配合使用,以使用 Splunk Enterprise SDK for Python 从 Splunk 索引中检索数据。通过此 REST API 调用请求的 SPL 查询仅检索感兴趣的数据。Lambda 支持 容器镜像。本解决方案使用了运行 Docker 容器镜像的 Lambda 函数。这使得可以将更大的数据处理库如 pandas 和 PyArrow包含在部署包中。如果导出大量数据,则代码可能需要运行超过最大持续时间,或需要 Lambda 函数不支持的更多内存。此情况下,Step Functions 可以配置为 直接运行一个容器任务 在 Amazon Elastic Container Service (Amazon ECS) 上。对于身份验证和授权,Lambda 函数从 AWS Secrets Manager 中安全地检索了 Splunk bearer token,然后调用 Splunk /search REST API 端点。此 bearer 身份验证令牌允许用户使用经过身份验证的身份访问 REST 端点。Lambda 函数检索到的数据如果需要进行转换后,将上传到指定的 S3 桶,与其他数据集一起存储。该数据被分区并压缩,并以存储和性能优化的 Apache Parquet 文件格式 存储。最后一步,Step Functions 状态机运行 AWS Glue 爬虫,以推断存储在 S3 桶中的 Splunk 数据的架构,并将其编制目录供更广泛使用,作为表格使用 AWS Glue 数据目录。从 Splunk 导出的可穿戴设备数据现在可以通过数据目录作为表格供用户和应用使用。分析工具如 Amazon Athena 现在可以用 SQL 查询数据。随着存储在 AWS 环境中的数据增加,确保有集中治理显得至关重要。AWS Lake Formation 使您能够简化权限管理和数据共享,以维持安全性和合规性。请参阅随附的 GitHub 仓库 中的 AWS Serverless Application Model (AWS SAM) 模板以部署本解决方案所需的所有 AWS 资源。
有关所需先决条件、部署步骤及测试数据工程管道解决方案的过程,请参阅 README 文件。
在数据工程管道的 Step Functions 状态机成功完成后,可穿戴设备的数据可以通过 Athena 与患者医疗数据存取,然后我们采用基于 SageMaker Canvas 的示例方法来推动可操作的洞察。
SageMaker Canvas 是一个无代码的可视化界面,可以让您准备数据、构建并部署高度准确的 ML 模型,简化了端到端的 ML 生命周期,提供了统一的环境。您可以通过简单的点击交互和自然语言使用 Amazon SageMaker Data Wrangler 准备和转化数据。您还可以利用自动化机器学习 (AutoML) 的力量,自动构建回归、分类、时间序列预测、自然语言处理和计算机视觉的自定义 ML 模型,这得益于 Amazon SageMaker Autopilot。
在本例中,我们使用该服务来判断患者在接下来 30 天内是否可能会被送入住院,这基于组合数据集构建的模型。
以下图示展示了这种方法的架构概览。
解决方案包括以下步骤:
一个 AWS Glue 爬虫爬取存储在 S3 桶中的数据。数据目录将查找到的文件夹结构中的数据以表格的形式暴露出来。Athena 提供查询引擎,允许用户和应用程序使用 SQL 与这些表格进行交互。SageMaker Canvas 将 Athena 作为数据源,允许使用存储在表格中的数据进行 ML 模型的开发。SageMaker Canvas 让您可以使用导入的数据集构建自定义 ML 模型。接下来,我们将演示如何创建、探索和转化样本数据集,利用自然语言查询数据,检查数据质量,创建数据流的额外步骤,并构建、测试和部署 ML 模型。
在继续之前,请参考 使用 Amazon SageMaker Canvas 入门,确保满足所需的前提条件。具体来说,验证您 SageMaker 域使用的 AWS 身份和访问管理 (IAM) 角色是否附加了具有足够权限以访问 Athena、AWS Glue 和 Amazon S3 资源的 策略。
SageMaker Canvas 支持将 Athena 作为 数据源。可穿戴设备和患者医疗数据存储在 S3 桶中,可以通过 Athena 和数据目录进行访问。这使得表格数据可以直接导入 SageMaker Canvas,以开始 ML 开发。
要创建数据集,请按照以下步骤操作:
在 SageMaker Canvas 控制面板中,选择导航栏中的 Data Wrangler。在 Import and prepare 下拉菜单中,选择 Tabular 作为数据集类型,以表明导入的数据由行和列组成。在 Select a data source 页面中,选择 Athena。在此页面,您将看到您的数据目录数据库和表格列出,命名为 patientdata 和 splunkopsdata。
使用 userid 和 id 对表格进行内连接join,以创建一个可以用于 ML 模型开发的总体数据集。在 Import settings 下,输入 unprocesseddata 作为 Dataset name。选择 Import 完成该过程。现在组合后的数据集可以通过 SageMaker Data Wrangler 进行探索和转化。
SageMaker Data Wrangler 使您能够通过 数据流 转化和分析源数据集,同时保持无代码的方法。
上一步骤会在 SageMaker Canvas 控制台中自动创建一个数据流,我们将其重命名为 dataprepdataflowflow。另外,会自动生成两个步骤,列在以下表格中。
nord加速器最新版步骤名称描述1Athena Source设置 unprocesseddata 数据集作为数据流来源2数据类型设置 unprocesseddata 数据集的列类型在创建其他转换步骤之前,首先让我们探索 SageMaker Canvas 的两个功能,它们可以帮助我们关注正确的操作。
SageMaker Data Wrangler 还提供了名为 Chat for data prep 的生成 AI 功能。此功能允许您使用自然语言探索数据,无需任何 ML 或 SQL 背景。此外,生成 AI 模型返回的任何上下文建议都可以直接引入数据流,而无需编写任何代码。
在这一部分,我们展示了一些示例提示,以演示这个功能的实际应用。这些示例旨在说明可能的操作。我们建议您尝试不同的提示,以获得最佳结果。
示例 1:识别 Splunk 默认字段在第一个示例中,我们想知道是否存在可以在 ML 模型开发之前排除的 Splunk 默认字段。
在 SageMaker Data Wrangler 中,打开您的数据流。选择 Step 2 Data types,然后选择 Chat for data prep。销售热线
营销一部(传统产品):王部长 15371160678
营销二部(光伏焊带):曹部长 13921871003
电子邮箱
hallowed@mac.com
公司地址
邵武市因若之巅325号