Py学习  »  机器学习算法

机器学习项目复杂繁琐 ,该如何构建安全的机器学习环境?

AI前线 • 3 年前 • 331 次点击  

六一儿童节即将到来,但今年的六一却有些不同。随着疫情的缓解,多地明确了 6 月 1 日后,基础教育各学段需陆续开始返校复课,并按照安全要求严格做好人员管控和测温工作。当下疫情防控进入常态化,学校急需既可实现学生身份识别,又可保证学生身体情况正常的解决方案。目前,人脸识别测温一体化解决方案是解决学校疫情联防联控工作的最佳解决方案。

而这类高效、智能化的解决方案,背后需要大数据、人工智能、机器学习等新兴技术的有利支持。这场疫情所带来的“黑天鹅”效应,真正让人们的意识到“科技防疫”的现实价值。

机器学习与大数据紧密相连,两者互相依存、互相促进。机器学习之所以在这些年有了长足的发展,备受追捧,其中最重要的一点便是有了大数据的支持。机器学习原本就是基于数据来训练产生价值的技术,当有了更多、更真实的数据,促使机器学习可快速提高模型的精确性。对于机器学习而言,大数据始终是不可或缺的一部分。

数据贯穿机器学习全流程,该如何保护?

机器学习模型的典型工作流程纷繁复杂,主要分为三部分,第一部分为生成事例数据,它又分为获取数据、清理数据和转换数据。第二部分是模型训练,其分为训练和评估两部分。第三部分是部署,包括监控、推理以及偏差识别。

将机器学习“化繁为简” 是 Amazon SageMaker 的最终目标。 由于机器学习项目整个工作流程极其复杂,外加各个环节的调试和设置,造成了机器学习项目落地难度较大。Amazon SageMaker 旨在帮助企业和开发者快速构建、训练和部署机器学习模型,用户只需提供数据便可以开始训练。

数据自始至终贯穿在机器学习的项目当中 ,必然成为重要的保护对象。 随着语音、图像等非结构性数据识别的普及,机器学习执行用户指令的准确性变得至关重要,这也造成了数据源易被攻击者利用。这类攻击名为——对抗性攻击,攻击者通过对数据源的细微修改,造成机器学习做出错误决定,导致后续发生更多的错误行为。

使用 Amazon SageMaker 可协助用户构建安全的的机器学环境,满足用户在数据储存、传输、训练等多方面的安全防护需求。首先,如果想要为 Amazon SageMaker 打造安全的网络运行环境,就要构建一个安全的 VPC。 主要包括以下几点:

第一点:网关设置。进行互联网网关和内网网关的设置,打造属于用户的私有子网。

第二点:打造跨可用区的多子网建设。目的是实现 Amazon SageMaker 的高可用性。

第三点:引入 VPC Endpoint 概念。可以避免相关资源只连到互联网,降低更多资源直接暴露在互联网上的风险。

第四点:安全组设置。控制对整个 VPC 或安全组进出的访问。

其次,Amazon SageMaker 针对数据保护,主要分为加密保护静态数据和加密保护动态数据。 一方面,Amazon SageMaker 通常使用 KMS 运管服务进行加密静态数据,满足这项加密的存储服务包括 S3、EBS、CodeCommit git repository 等。另一方面,传输中的所有网络间数据都支持 TLS 1.2 加密,对 Amazon SageMaker API 和控制台发出的请求全部在安全 (SSL) 连接中进行,确保机器学习模型项目和其他系统项目在传输中和静态下全部经过加密。

最后,对于Jupyter Notebook 实例以及处理、训练和托管模型 Docker 容器,AWS 可允许开发者指定 AWS KMS 密钥。 在默认状态下 Amazon SageMaker 使用的是 AWS SageMaker Service-Managed Key 对数据进行加密,不过开发者也可使用自己的密钥,制定 CMK 进行加密。

团队协作,人员权限等级需明确

由于机器学习的项目流程复杂、繁琐,对于开发者团队而言,访问权限控制急需明确。 通常一个机器学习项目是由一个开发者团队来完成,但目前对于众多企业或团队,还是停留在如何应用机器学习的层面,并没有注意到机器学习使用的安全问题。站在开发者的角度,开发者团队需要明确哪些人员分别对应哪些安全级别,才能保证机器学习项目的安全运行。

例如一些初创型互联网公司,由于内部员工欠缺机器学习的操作经验,创建一台虚拟机后,直接登陆 Jupyter Notebook 便直接开始编写代码和运行代码。Jupyter Notebook 中包含的所有数据并没有实行明确的隔离等级保护,在这种情况下极易给机器学习项目带来严重的安全隐患。

Amazon SageMaker 在面对此类问题时,明确了人员权限的等级。 在 Amazon SageMaker 中即可保证基本权限配置的同时,又可便于内部协作。当创建者开启 Notebook 时,此 Notebook 是默认在他的 Amazon SageMaker VPC 中,如果其他人想访问,则需要创建者进行权限配置。其中 Amazon SageMaker 包含的弹性笔记本 Amazon SageMaker Notebooks 还可一键启用 Jupyter Notebook,便于开发者团队内部的协作办公。

Amazon SageMaker 更重要的创新是将编程和训练设置为松耦状态。 由于 Amazon SageMaker 中编程和训练是分开的,特点是为每个用户提供单一容器或单机的支持,开发者便可使用极小的计算资源来开发程序。即达到了资源上的节省,同时还保证了数据方面的安全隔离。

而针对机器学习经验不足的企业或开发者团队,Amazon SageMaker 还给出了更详细的解决方案。 主要包括以下四点:

第一点:使用 AWS 的托管策略。

第二点:针对对不同角色授予最低的权限,减少不必要权限的过度开放。

第三点:对相关的敏感操作启用多因子认证。

第四点:构建不同的策略条件,以及 API 的权限设置,增强机器学习安全性。

Amazon 也希望利用 SageMaker 来帮助企业快速将机器学习应用到实际生产中。 天津华来科技已经开始使用这项服务,作为一家初创企业,自 2015 年成立以来,随着营业额的不断扩大,企业开始面临诸多难题。公司的开发团队应用 Amazon SageMaker,将人工智能和业界技术创新融合到产品和服务中,解决了数据处理与海外市场的开拓及业务转型的问题。同时 AWS 所提供的技术与隐私保护认证,避免了企业隐私泄露和潜在的安全风险。

责任共担模型,给机器学习创造更安全的环境

上文提到,大数据与机器学习相伴相生,此外云计算也对机器学习发展起到了决定性作用。 云计算既提供大数据所需的存储,又能提供较高的计算能力,复杂的机器学习算法正迫切需要分布式计算这样的关键技术作为支撑。Amazon SageMaker 作为一款基于 AWS 的全面托管服务,可以帮助企业和开发者在云上快速构建、训练和部署模型。

对于企业和开发者而言,网络安全问题不可避免。当使用 Amazon SageMaker 时应用责任共担模型,整个端到端所有环节,包括负责运行、管理和控制从主机操作系统和虚拟层到服务运营所在设施的物理安全性的组件,均由 AWS 来负责,可大幅减轻客户的运营负担。

而面对攻击,需要构建动态的安全保障体系,日志则是体系建立的关键工具。Amazon CloudWatch 可实时监控 Amazon SageMaker,收集原始数据,并将数据处理为便于读取的指标。Amazon CloudWatch Logs 还可监控日志文件中的信息,便于使用者设置指定阈值,当指定指标到达时通知使用者或采取措施。

此外,优秀的日志监控工具,需要高效的智能威胁检测服务帮助。Amazon GuardDuty 作为一项威胁检测服务,可持续监控在 AWS 云中发生的恶意活动和未经授权的行为,从而保护使用者的 AWS 账户和工作负载。 同时 Amazon GuardDuty 自带机器学习引擎,可以尽快识别潜在的威胁并确定优先级别。可见,日志监控工具加智能威胁检测服务,可大幅缩短用户的响应时间。

放眼全球,Amazon SageMaker 作为商业化最为成熟的机器学习平台服务之一,在框架、集成性和生态系统的建设上已经非常完善,全球已有数万家企业 采用 AWS 来运行机器学习算法。2020 年 4 月 30 日,Amazon SageMaker 正式进入中国市场,在由光环新网运营的 AWS 中国(北京)区域和由西云数据运营的 AWS 中国(宁夏)区域正式开放。

👇点击下方链接获取 Amazon SageMaker 大礼包

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/64135
 
331 次点击