跳转到主要内容
Chinese, Simplified

category

通过数据驱动决策增强业务能力

在过去的四年里,我有了一个黄金机会,在两个公共云平台(AWS和GCP)上领导全球规模的大数据和人工智能平台的战略、设计和实施。此外,我的团队运营了70多个数据科学/机器学习(DSML)用例和10个数字应用程序,为约1亿美元以上的收入增长做出了贡献。


这段旅程充满了令人兴奋的挑战和一些陡峭的学习曲线,但最终的结果是非常有影响力的。通过这篇文章,我想分享我的学习和经验,这将帮助其他技术创新者思考他们的规划过程,并跨越他们的实施。


这篇文章将主要关注基础结构,以提供整个生产生态系统的整体画面。在以后的帖子中,我将讨论技术选择,并分享更详细的说明。
让我首先向您介绍数据和人工智能平台的构建块。

End to end block level architecture of data and AI platform

 考虑端到端架构是一个很好的想法,因为您可以避免快速完成任务的常见陷阱。毕竟,ML模型的输出与您提供给它的数据一样好,并且您不希望在数据安全性和完整性上妥协。


1.数据采集和摄入


创建架构良好的DataOps框架对整个数据登录过程至关重要。很大程度上取决于生成数据的源(结构化与非结构化)以及接收数据的方式(批处理、复制、近实时、实时)。
当您接收数据时,有不同的方法将其载入-

  • 提取→ 加载(不需要转换)
  • 提取→ 加载→ 转换(主要用于批量上传)
  • 提取→ 转换(Transform)→ 加载(最适合流式数据)
  • 特征工程师必须进一步组合数据,以创建用于机器学习用例的特征(特征工程)。


2.数据存储


选择最佳数据存储至关重要,对象存储桶(如S3、GCS或Blob storage)是引入原始数据(主要是非结构化数据)的最佳选项。


对于纯分析用例,再加上如果您要引入SQL结构化数据,您也可以将数据直接放入云数据仓库(大查询等)。许多工程团队也更喜欢使用数据仓库存储(不同于对象存储)。您的选择将取决于所涉及的用例和成本。聪明点!


通常,您可以直接从内部和外部(第一方和第三方)源获取数据,而无需任何中间步骤。
然而,在一些情况下,数据提供程序需要访问您的环境以进行数据事务。在DMZ设置中规划第三方登录区域,以防止将整个数据系统暴露给供应商。


此外,对于PCI、PII等法规遵从性相关数据和GDPR、MLPS、AAPI、CCPA等监管数据,创建结构化存储区域以从一开始就合理地处理数据。


请记住,根据ML模型和分析报告的时间旅行或历史上下文要求规划保留和备份策略。虽然存储成本较低,但随着时间的推移积累数据会成倍增加成本。

3.数据治理


虽然大多数组织都擅长携带和存储数据,但大多数工程团队需要帮助,以使数据可供最终用户使用。
导致采用率低下的主要因素是-

  • 组织中的数据素养不足
  • 缺乏定义良好的数据目录和数据字典(元数据)
  • 无法访问查询接口


数据团队必须与法律、隐私和安全团队合作,以了解国家和地区数据法规和合规性要求,以进行适当的数据治理。
您可以用于实现数据治理的几种方法是:

  • 数据屏蔽和匿名化
  • 基于属性的访问控制
  • 数据本地化


未能正确保护存储和数据访问的安全可能会使组织面临法律问题和相关处罚。


4.数据消费模式


随着数据转换并丰富为业务KPI,数据的表示和使用具有不同的方面。
对于纯可视化和仪表板,只需简单地访问存储的数据和查询界面。
随着需求变得越来越复杂,例如将数据呈现给机器学习模型,您必须实现和增强功能库。该领域需要成熟,大多数云原生解决方案仍处于生产级就绪的早期阶段。
此外,还要寻找一个水平数据层,在该层中,您可以通过API呈现数据,供其他应用程序使用。GraphQL是一个很好的解决方案,可以帮助创建微服务层,这大大有助于轻松访问(数据即服务)。
随着这一领域的成熟,请考虑将数据结构化到数据产品域中,并在业务部门中找到可以担任该域保管人的数据管理员。


5.机器学习


在数据处理后,机器学习有两个步骤——模型开发和模型部署与治理。

Operationalizing the AI Platform

在模型开发阶段,ML工程师与数据科学家密切合作,直到模型打包并准备部署。选择ML框架和功能,并与DS合作进行超参数调整和模型训练,都是开发生命周期的一部分。
创建部署管道并选择用于操作和服务模型的技术堆栈属于MLOps。MLOps工程师还提供ML模型管理,包括监控、评分、漂移检测和启动再培训。
在ML模型生命周期中自动化所有这些步骤有助于扩展。
不要忘记将所有经过训练的模型存储在ML模型注册表中,并促进重用以实现高效操作。


6.生产运营


为模型输出提供服务需要与其他功能领域持续协作。先进的规划和开放的沟通渠道对于确保发布日历的一致性至关重要。请这样做,以避免错过最后期限、技术选择冲突和集成层的麻烦。
根据使用层和部署目标,您可以通过API发布模型输出(模型端点),或者让应用程序直接从存储中获取推断。将GraphQL与API网关结合使用是实现它的有效方法。


7.安全层


分离管理平面并创建共享服务层,该层将成为云帐户的主要出入点。它还将是您组织内用于外部和内部公共/私有云的会议室。

Shared Services — Google Cloud Platform

Shared Services — Amazon Web Services

您的服务控制策略(AWS)或组织策略约束(GCP)应该集中化,并保护资源不被创建或托管,而没有适当的访问控制。


8.用户管理界面/消费层


提前选择云帐户的结构是明智的。您可以在业务线(LOB)、产品域或两者的组合上构建它们。此外,还要设计和隔离开发、登台和生产环境。


最好也集中您的DevOps工具链。我更喜欢与云无关的工具集,以支持混合多云生态系统之间的无缝集成和转换。


对于开发人员IDE,可以混合使用单独的IDE和共享的IDE。确保开发人员经常将代码签入代码库;否则,他们可能会失去工作。

 

GCP setup with cloud-agnostic DevSecOps toolchain

端到端数据科学流程


在组织动态中导航,并将利益相关者聚集在一起,实现共同的一致目标,对于成功的生产部署和持续运营至关重要。
我正在共享跨职能工作流和流程,使这个复杂的引擎能够顺利运行

End to end data science model deployment process

结论


希望这篇文章激发了你的想法,激发了新的想法,并帮助你形象化了事业的全貌。这是一项复杂的任务,但有了深思熟虑的设计、适当计划的执行和许多跨职能合作伙伴关系,您将很容易地驾驭它。
最后一条建议:不要仅仅因为它看起来很酷就创建技术解决方案。首先了解业务问题并评估潜在的投资回报。最终,目标是创造业务价值,并为公司的收入增长做出贡献。
祝您在构建或成熟您的数据和人工智能平台方面好运。

原文地址
https://architect.pub/building-secure-and-scalable-data-and-ai-platform
本文地址
Article

微信

知识星球

微信公众号

视频号