这是 Kustomer 的高级软件和机器学习工程师 Ian Lantzy 以及 AWS 团队 Umesh Kalaspurkar、Prasad Shetty 和 Jonathan Greifenberger 的客座文章。
用库斯托默自己的话说, “Kustomer 是全渠道 SaaS CRM 平台,它重新构想企业客户服务以提供卓越的体验。 我们采用智能自动化技术构建,通过统一多个来源的数据,使公司能够通过单一时间线视图提供轻松、一致和个性化的服务和支持,从而满足任何联络中心和企业的需求。”
Kustomer 希望能够快速分析其商业客户(客户体验和服务组织)的大量支持通信,并自动发现信息,例如最终客户的意图、客户服务问题以及与消费者相关的其他相关见解。 了解这些特征可以帮助 CX 组织通过自动对内容进行分类来管理数千封入站支持电子邮件。 客户杠杆 亚马逊SageMaker 通过基于人工智能的方式管理传入支持通信的分析 客户智商 平台。 Kustomer IQ 的对话分类服务能够将对话置于上下文中并自动执行繁琐且重复的任务,从而减少座席分心和每次联系的总体成本。 这项服务和 Kustomer 的其他 IQ 服务提高了企业客户的生产力和自动化程度。
在这篇文章中,我们讨论 Kustomer 如何使用自定义 Docker 镜像进行 SageMaker 训练和推理,从而简化集成并简化流程。 通过这种方法,Kustomer 的企业客户每月可以自动对超过 50 封支持电子邮件进行分类,准确率高达 70%。
背景和挑战
Kustomer 将自定义文本分类管道用于其对话分类服务。 这有助于他们利用 SageMaker 的训练和推理编排进行自动分类,每天管理数千个请求。 对话分类训练引擎使用自定义 Docker 映像来处理数据并使用历史对话训练模型,然后预测特定代理所需的主题、类别或其他自定义标签,以便对对话进行分类。 然后,预测引擎利用经过训练的模型和另一个自定义 Docker 映像对对话进行分类,组织使用这些模型自动报告或根据主题将对话路由到特定团队。
SageMaker 分类过程首先建立一个可以提供文本分类和上下文建议的训练和推理管道。 典型的设置将使用无服务器方法来实现,例如 AWS Lambda 用于数据预处理和后处理,因为它具有最低的配置要求和有效的按需定价模型。 然而,将 SageMaker 与 TensorFlow、NumPy 和 Pandas 等依赖项一起使用会快速增加模型包大小,使整体部署过程变得繁琐且难以管理。 Kustomer 使用自定义 Docker 镜像来克服这些挑战。
自定义 Docker 镜像具有显着的优势:
- 允许更大的压缩包大小(超过 10 GB),其中可以包含流行的机器学习 (ML) 框架,例如 TensorFlow、MXNet、PyTorch 或其他框架。
- 允许您将本地开发的自定义代码或算法引入 亚马逊SageMaker Studio 用于快速迭代和模型训练的笔记本。
- 避免解压部署包时 Lambda 中导致的预处理延迟。
- 提供与内部系统无缝集成的灵活性。
- 未来的兼容性和可扩展性使使用 Docker 转换服务变得更加容易,而不必将 .zip 文件打包在 Lambda 函数中。
- 缩短 CI/CD 部署管道的周转时间。
- 提高团队对 Docker 的熟悉度和易用性。
- 通过 API 和后端运行时提供对数据存储的访问。
- 为干预 Lambda 需要为每个流程(例如训练或部署)提供单独计算服务的任何预处理或后处理提供更好的支持。
解决方案概述
支持电子邮件的分类和标签是客户支持流程中的关键步骤。 它允许公司将对话路由到正确的团队,并在较高层面上了解客户与他们联系的内容。 Kustomer 的商业客户每天要处理数千个对话,因此大规模分类是一项挑战。 自动化此流程可帮助客服人员提高效率并提供更有凝聚力的支持,并通过更快地将客户与合适的人员联系起来来帮助他们。
对话分类流程从业务客户授权 Kustomer 建立训练和推理管道开始,该管道可以帮助他们进行文本分类和上下文建议。 Kustomer 向客户公开一个用户界面来监控训练和推理过程,该过程是使用 SageMaker 以及 TensorFlow 模型和自定义 Docker 镜像来实现的。 构建和使用分类器的过程分为五个主要工作流程,这些工作流程由运行在 亚马逊ECS。 为了协调管道事件并触发模型的训练和部署,工作人员使用 亚马逊SQS 队列并使用 AWS 提供的 Node.js SDK 直接与 SageMaker 集成。 工作流程是:
- 资料汇出
- 数据预处理
- 产品培训
- 部署
- 推理
资料汇出
数据导出流程按需运行,并从 Kustomer 业务客户的批准流程开始,以确认使用电子邮件数据进行分析。 与分类过程相关的数据是通过从最终客户收到的初始电子邮件捕获的。 例如,支持电子邮件通常包含对该问题的完整连贯的想法以及有关该问题的详细信息。 作为导出过程的一部分,电子邮件是从数据存储(MongoDB 和 亚马逊开放搜索)并保存在 亚马逊简单存储服务 (亚马逊S3)。
数据预处理
数据预处理阶段通过从客户电子邮件中剥离任何 HTML 标签并通过多个清理和清理步骤来检测任何格式错误的 HTML,从而清理用于训练和推理工作流程的数据集。 这个过程包括使用 拥抱脸部分词器和变压器。 清理过程完成后,训练所需的任何其他自定义令牌都会添加到输出数据集中。
在预处理阶段,Lambda 函数调用自定义 Docker 映像。 该图像由 Python 3.8 slim 基础组成, AWS Lambda Python 运行时接口客户端,以及依赖项,例如 NumPy的 和 熊猫。 自定义 Docker 镜像存储在 Amazon Elastic Container注册 (Amazon ECR),然后通过 CI/CD 管道进行部署。 部署的 Lambda 函数对数据进行采样,为每个分类器生成三个不同的数据集:
- 产品培训 – 用于实际训练过程
- 验证 – 用于 TensorFlow 训练过程中的验证
- 测试 – 在训练过程结束时用于指标模型比较
生成的输出数据集是 Pandas pickle 文件,这些文件存储在 Amazon S3 中以供训练阶段使用。
产品培训
Kustomer 的自定义训练图像利用 TensorFlow 2.7 GPU 优化的 docker 图片 作为基础。 在将自定义 Docker 训练映像上传到 ECR 之前,将包含自定义代码、依赖项和基本模型。 P3 实例类型用于训练过程,使用 GPU 优化的基础图像有助于使训练过程尽可能高效。 Amazon SageMaker 与此自定义 Docker 映像一起使用来训练 TensorFlow 模型,然后将其存储在 S3 中。 还计算并保存自定义指标,以帮助实现模型比较和自动重新训练等附加功能。 训练阶段完成后,人工智能工作人员会收到通知,业务客户就可以开始部署工作流程。
部署
对于部署工作流程,使用 TensorFlow 服务基础映像(专为快速推理而构建)创建自定义 Docker 推理映像。 包含其他代码和依赖项(例如 numPy、Pandas、自定义 NL 等)以提供其他功能,例如在推理之前格式化和清理输入。 FastAPI 还作为自定义映像的一部分包含在内,用于提供用于推理和运行状况检查的 REST API 端点。 然后,SageMaker 配置为将保存在 S3 中的 TensorFlow 模型以及推理图像部署到计算优化的 ml.c5 AWS 实例上,以生成高性能推理端点。 每个端点都是为单个客户创建的,用于隔离他们的模型和数据。
推理
部署工作流程完成后,推理工作流程将接管。 所有第一封入站支持电子邮件都通过推理 API 传递,以针对特定于该客户的已部署分类器。 然后,部署的分类器对每封电子邮件执行文本分类,每封电子邮件都会为客户生成分类标签。
可能的增强和定制
Kustomer 正在考虑通过以下增强功能来扩展该解决方案:
- 拥抱脸 DLC – Kustomer 目前使用 TensorFlow 的基础 Docker 镜像进行数据预处理阶段,并计划迁移到 拥抱人脸深度学习容器 (DLC)。 这可以帮助您立即开始训练模型,跳过从头开始构建和优化训练环境的复杂过程。 有关更多信息,请参阅 在 Amazon SageMaker 上拥抱脸.
- 反馈回路 – 您可以使用主动学习或强化学习技术来实现反馈循环,以提高模型的整体效率。
- 与其他内部系统集成 – Kustomer 希望能够将文本分类与 Smart Suggestions 等其他系统集成,这是另一项 Kustomer IQ 服务,可以查看数百个快捷方式并建议与客户查询最相关的快捷方式,从而提高代理响应时间和性能。
结论
在这篇文章中,我们讨论了 Kustomer 如何使用自定义 Docker 镜像进行 SageMaker 训练和推理,从而简化集成并简化流程。 我们演示了 Kustomer 如何利用 Lambda 和 SageMaker 以及自定义 Docker 映像,帮助通过预处理和后处理工作流程实现文本分类过程。 这为使用更大的图像进行模型创建、训练和推理提供了灵活性。 对 Lambda 的容器映像支持使您可以进一步自定义函数,从而为无服务器机器学习开辟许多新的用例。 该解决方案利用多项 AWS 服务,包括 SageMaker、Lambda、Docker 映像、Amazon ECR、Amazon ECS、Amazon SQS 和 Amazon S3。
如果您想了解有关 Kustomer 的更多信息,我们鼓励您访问 客户网站 并探索他们的 实例探究。
点击 点击此处 开始您的 Amazon SageMaker 之旅。 如需实践经验,您可以参考 Amazon SageMaker 车间。
作者简介
乌梅什·卡拉斯普尔卡 是一位位于纽约的 AWS 解决方案架构师。 他在企业和初创公司的数字创新和转型项目的设计和交付方面拥有 20 多年的经验。 他的动力来自于帮助客户识别和克服挑战。 工作之余,乌梅什喜欢当父亲、滑雪和旅行。
伊恩·兰齐 是 Kustomer 的高级软件和机器学习工程师,专门从事机器学习研究任务并将其转化为生产服务。
普拉萨德·谢蒂 是一位位于波士顿的 AWS 解决方案架构师。 20 多年来,他开发了软件产品,并领导了企业产品和服务的现代化和数字化创新。 他热衷于推动云战略和采用,并利用技术创造出色的客户体验。 闲暇时,普拉萨德喜欢骑自行车和旅行。
乔纳森·格莱芬伯格 是一位位于纽约的 AWS 高级客户经理,拥有 25 年的 IT 行业经验。 乔纳森领导的团队帮助来自不同行业和垂直领域的客户完成云采用和现代化之旅。
- "
- &
- 100
- 20 年
- 7
- 关于我们
- ACCESS
- 账号管理
- 横过
- 要积极。
- 额外
- 采用
- 优点
- 优点
- 中介代理
- AI
- 算法
- 所有类型
- Amazon
- 分析
- 另一个
- API
- APIs
- 的途径
- 架构
- 自动化
- AWS
- 作为
- 建立
- 建筑物
- 商业
- 能力
- 例
- 造成
- 挑战
- 挑战
- 支票
- 分类
- 清洁
- 云端技术
- 码
- 通信
- 公司
- 计算
- 消费者
- 容器
- 集装箱
- 包含
- 内容
- 谈话
- 对话
- 客户体验
- 客户服务
- 客户支持
- 合作伙伴
- data
- 天
- 延误
- 交货
- 需求
- 部署
- 设计
- 发达
- 数字
- 发现
- 码头工人
- 驾驶
- 有效
- 效率
- 邮箱地址
- 使
- 鼓励
- 端点
- 工程师
- 企业
- 事件
- 例子
- 扩大
- 体验
- 体验
- 面部彩妆
- 高效率
- 美联储
- 反馈
- 姓氏:
- 高度灵活
- 以下
- 功能
- 功能
- 生成
- 给予
- GPU
- 大
- 客人
- 游客发表
- 有
- 健康管理
- 帮助
- 帮助
- 高
- 创新中心
- HTTPS
- 数百
- 鉴定
- 图片
- 实施
- 实施
- 包括
- 包含
- 增加
- 增加
- 行业
- 行业中的应用:
- 信息
- 創新
- 可行的洞见
- 整合
- 积分
- 智能化
- 意图
- 接口
- 问题
- IT
- 标签
- 标签
- 大
- 大
- 学习用品
- 学习
- 导致
- Level
- 杠杆
- 当地
- 机
- 机器学习
- 制作
- 经理
- 指标
- ML
- 模型
- 模型
- MongoDB的
- 最先进的
- 纽约
- 管弦乐编曲
- 秩序
- 组织
- 其他名称
- 除此以外
- 员工
- 性能
- 平台
- 热门
- 可能
- 预测
- 价格
- 市场问题
- 过程
- 产品
- 生产
- 生产率
- 热销产品
- 项目
- 提供
- 提供
- 很快
- 减少
- 要求
- 必须
- 研究
- 响应
- REST的
- 路线
- 运行
- 运行
- 可扩展性
- 鳞片
- SDK
- 无服务器
- 服务
- 特色服务
- 服务
- 集
- 简易
- 尺寸
- 智能
- So
- 软件
- 解决方案
- 专业
- 特别是
- 分裂
- 阶段
- 开始
- 初创企业
- 存储
- 商店
- 商店
- 策略
- 剥离
- 研究
- 大量
- SUPPORT
- 产品
- 谈论
- 任务
- 团队
- 技术
- 专业技术
- 数千
- 通过
- 次
- 令牌
- Topics
- 产品培训
- 转型
- 理解
- 查看
- 什么是
- 中
- 话
- 工作
- 年