提升开发者的生产力:德勤公司如何利用Amazon SageMaker Canvas进行无代码/低代码机器学习
打造开发者生产力:德勤公司利用Amazon SageMaker Canvas实现无代码/低代码机器学习
在今天这个数据驱动的世界中,快速构建和部署机器学习(ML)模型变得越来越重要。然而,构建ML模型需要相当长的时间、精力和专门的专业知识。从数据收集和清洗到特征工程、模型构建、调优和部署,ML项目通常需要几个月的时间才能完成。而且有经验的数据科学家可能很难找到。
这就是AWS低代码和无代码ML服务套件的重要性所在。只需几次点击,使用Amazon SageMaker Canvas,您就可以利用ML的强大功能,而无需编写任何代码。
作为一个具有深厚ML经验的战略系统整合商,德勤利用AWS的无代码和低代码ML工具来高效地构建和部署ML模型,服务于德勤的客户和内部资产。这些工具使得德勤能够开发ML解决方案,而无需手动编写模型和流水线。这可以帮助加快项目交付时间,并使德勤能够承担更多的客户工作。
以下是德勤使用这些工具的一些具体原因:
- 非程序员的易用性 – 无代码工具使得ML模型的构建对非程序员也可操作。具有领域专业知识和很少编码技能的团队成员可以开发ML模型。
- 快速接受新技术 – 可用性和不断改进的现成模型和AutoML有助于确保用户始终使用领先的技术。
- 成本效益的开发 – 无代码工具有助于减少ML模型开发所需的成本和时间,使其对客户更具可访问性,进而帮助他们实现更高的投资回报率。
此外,这些工具提供了更快速工作流程的全面解决方案,实现了以下功能:
- 更快速的数据准备 – SageMaker Canvas拥有300多个内置转换功能和使用自然语言的能力,可以加速数据准备和使数据为模型构建做好准备。
- 更快速的模型构建 – SageMaker Canvas提供现成的模型,或使用Amazon AutoML技术,在仅需几次点击即可在企业数据上构建自定义模型。这帮助加快了与从头开始编码模型相比的过程。
- 更简单的部署 – SageMaker Canvas提供了将可投入生产的模型部署到Amazon Sagmaker端点的能力,并在Amazon SageMaker Model Registry中注册该模型,只需几次点击即可完成。
德勤的云CTO Vishveshwara Vasa表示:
“通过AWS的无代码ML服务,如SageMaker Canvas和SageMaker Data Wrangler,我们在德勤咨询公司实现了新的效益,提高了客户项目和内部项目的开发和部署效率,提高了30-40%。”
在本文中,我们演示了使用SageMaker Canvas构建一个端到端的无代码ML模型的强大功能,通过展示如何为预测客户是否会违约的分类模型构建。通过更准确地预测贷款违约,该模型可以帮助金融服务公司管理风险,正确定价贷款,改进运营,提供额外服务并获得竞争优势。我们还展示了如何使用SageMaker Canvas快速从原始数据到部署的二分类模型的过程。
SageMaker Canvas提供了由Amazon SageMaker Data Wrangler提供支持的全面的数据准备功能。这使您可以在单一平台上完成标准ML工作流程的所有阶段,从数据准备到模型构建和部署。
数据准备通常是ML工作流程中耗时最长的阶段。为了减少在数据准备上花费的时间,SageMaker Canvas允许您使用300多个内置的转换功能来准备数据。或者,您可以编写自然语言提示,例如“删除异常值为C列的行”,并将得到此数据准备步骤所需的代码片段。然后,您可以在几次点击中将其添加到数据准备工作流程中。我们在本文中也演示了如何使用此功能。
解决方案概述
以下图表描述了使用SageMaker低代码和无代码工具构建贷款违约分类模型的架构。
我们使用一个包含有关贷款违约数据的数据集作为起点,该数据集存储在Amazon Simple Storage Service (Amazon S3)中。我们使用SageMaker Canvas来获取有关数据的洞察,并进行特征工程,如对分类特征进行编码、删除不需要的特征等。接下来,我们将清洗后的数据存储回Amazon S3。我们使用清洗后的数据集创建分类模型以预测贷款违约情况。最后,我们拥有一个可用于推理的生产就绪模型。
前提条件
请确保在设置SageMaker域时已完成以下前提条件,并在设置SageMaker域时启用了准备使用的Canvas模型选项。如果您已经设置了域,请编辑您的域设置并转到Canvas设置以启用启用准备使用的Canvas模型选项。此外,设置并创建SageMaker Canvas应用程序,然后在Amazon Bedrock上请求并启用Anthropic Claude模型访问权限。
数据集
我们使用了一个来自kaggle的公共数据集,其中包含有关金融贷款的信息。数据集中的每一行表示一笔贷款,列提供了每笔交易的详细信息。下载此数据集并将其存储在您选择的S3存储桶中。下表列出了数据集中的字段。
列名 | 数据类型 | 描述 |
借款人年龄 |
整数 | 借款人年龄 |
借款人收入 |
整数 | 借款人收入 |
借款人房屋所有权 |
字符串 | 房屋所有权状态(自有或租用) |
借款人雇佣长度 |
小数 | 雇佣年数 |
贷款目的 |
字符串 | 贷款目的(个人,医疗,教育等) |
贷款等级 |
字符串 | 贷款等级(A-E) |
贷款利率 |
小数 | 利率 |
贷款金额 |
整数 | 贷款总金额 |
贷款状态 |
整数 | 目标(违约或未违约) |
贷款金额与收入百分比 |
小数 | 贷款金额与收入百分比 |
之前违约 |
整数 | 以前的违约记录(如果有) |
个人信用历史长度 |
字符串 | 信用历史长度 |
通过SageMaker Canvas简化数据准备
数据准备在机器学习项目中可能占据了80%的工作量。正确的数据准备可以提高模型性能和预测的准确性。SageMaker Canvas可以进行交互式数据探索、转换和准备,无需编写任何SQL或Python代码。
按照以下步骤准备您的数据:
- 在SageMaker Canvas控制台中,在导航窗格中选择数据准备。
- 在创建菜单中,选择文档。
- 输入数据集名称,为您的数据集命名。
- 选择创建。
- 选择Amazon S3作为数据源,并将其连接到数据集。
- 数据集加载完成后,使用该数据集创建数据流。
- 切换到分析选项卡,创建一个数据质量和洞察报告。
这是一个推荐步骤,用于分析输入数据集的质量。该报告的输出将产生一些即时的基于机器学习的洞察,如数据偏斜、数据中的重复项、缺失值等等。下面的屏幕截图展示了贷款数据集的报告示例。
通过为您生成这些洞察,SageMaker Canvas为您提供了在数据准备阶段需要修复的一系列数据问题。要选择SageMaker Canvas识别出的前两个问题,您需要对分类特征进行编码并删除重复行,以确保模型质量。您可以在SageMaker Canvas的可视化工作流中完成这两个步骤和更多的操作。
- 首先,对
loan_intent
、loan_grade
和person_home_ownership
进行独热编码 - 您可以删除
cb_person_cred_history_length
列,因为该列的预测能力最弱,如数据质量和洞察报告所示。SageMaker Canvas最近新增了一个与数据聊天选项。该功能利用基础模型解释自然语言查询,并生成基于Python的代码来应用特征工程转换。该功能由Amazon Bedrock提供支持,并可配置为完全在您的VPC中运行,以确保数据永不离开您的环境。
- 要使用此功能删除重复行,请在删除列转换旁边选择加号,然后选择与数据聊天。
- 用自然语言输入您的查询(例如“从数据集中删除重复行”)。
- 审查生成的转换,并选择添加到步骤以将转换添加到流程中。
- 最后,将这些转换的输出导出到Amazon S3,或者可选择将其导出到Amazon SageMaker特征存储中,以在多个项目中使用这些特征。
您还可以添加另一步,为数据集创建一个Amazon S3目标,以便为大型数据集扩展工作流程。在添加了可视化转换后,下图显示了SageMaker Canvas数据流。
您已经完成了在SageMaker Canvas中使用可视化工作流程进行整个数据处理和特征工程步骤。这有助于将数据工程师在清理和准备数据已用于模型开发的时间从几周缩短到几天。下一步是构建ML模型。
使用SageMaker Canvas构建模型
Amazon SageMaker Canvas提供了一个无代码的端到端工作流,用于构建、分析、测试和部署这个二分类模型。完成以下步骤:
- 在SageMaker Canvas中创建一个数据集。
- 指定要使用的S3位置以导出数据,或者指定SageMaker Canvas作业的目标位置。
现在您可以开始构建模型了。
- 在导航窗格中选择Models,然后选择New model。
- 为模型命名,并选择预测分析作为模型类型。
- 选择上一步创建的数据集。
下一步是配置模型类型。
- 选择目标列,模型类型将自动设置为2类别预测。
- 选择构建类型,标准构建或快速构建。
SageMaker Canvas在您开始构建模型时会显示预计构建时间。标准构建通常需要2-4小时;对于较小的数据集,您可以使用快速构建选项,只需要2-15分钟。对于这个特定的数据集,完成模型构建大约需要45分钟。SageMaker Canvas会让您了解构建过程的进度。
- 模型构建完成后,您可以查看模型性能。
SageMaker Canvas提供各种指标,如准确度、精度和F1得分,视模型类型而定。下图显示了这个二分类模型的准确度和其他一些高级指标。
- 下一步是进行测试预测。SageMaker Canvas允许您对多个输入进行批量预测或进行单个预测,以快速验证模型质量。下图显示了一个示例推理。
- 最后一步是部署训练好的模型。SageMaker Canvas将模型部署在SageMaker端点上,现在您有一个可以进行推理的生产模型。下图显示了部署的端点。
在模型部署完毕后,您可以通过AWS SDK或AWS命令行界面(AWS CLI)来调用它,或者对您选择的任何应用程序进行API调用,以自信地预测潜在借款人的风险。有关测试模型的更多信息,请参阅调用实时端点。
清理
为了避免产生额外的费用,退出SageMaker Canvas或删除创建的SageMaker域。此外,删除SageMaker模型端点和删除上传到Amazon S3的数据集。
结论
无代码机器学习加速开发,简化部署,不需要编程技能,增加标准化并降低成本。这些优势使得无代码机器学习对Deloitte具有吸引力,以改善其机器学习服务,并使其机器学习模型构建时间缩短了30-40%。
Deloitte是一家拥有全球17,000名AWS认证从业人员的战略性全球系统集成商。通过参与AWS能力计划,其继续提高标准,其中包括25个能力,包括机器学习。与Deloitte联系,开始使用AWS的无代码和低代码解决方案来优化您的企业。