机器学习项目复杂繁琐,该如何构建安全的机器学习环境?
六一儿童节即将到来,但今年的六一却有些不同。随着疫情的缓解,多地明确了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中国(宁夏)区域正式开放。