MLOps专案关於安全性与合规性的10件注意事项

在ML的专案中,从资料的收集、建构模型、测试到部署到产品。这个流程除了需要自动化之外,也需要保有该行业或者市场所需的规范。从企业的管理层面来说,知道要把模型的建立、商业问题的对应这两大部分,交给团队的资料科学家与领域专家去完成。但仍缺乏对使 ML 可解释、可重复和产品化所需的执行细节的理解,对於产品化的过程常常会有不知道自己还不知道什麽事情的状态(unknown unknown)。但同时又需要在这个未知的状况下,给予专案的规划、成本控制等等。

上次有提到ML产品需要依附使用者产品而存在,也因此ML专案的维护与经营会与公司的经营方向的一致性会更高。长远来说,以後的产品大家已经不太会提说有没有ML功能在里面,因为都已经内建在里面了。ML专案的安全性和合规性在许多层面是与过去的软件专案是类似的,只是又会更强调关於资料的使用、模型的可解释性、训练资料的安全性等等。而在某些产业当中,例如金融服务、医学和国防,都会有比其他产业要求更高的规范。接下来我们透过MLOps专案可能有的风险范围:安全性与合规性来了解更多的细节。

关於安全性的5点注意事项


*图片来源:The Cyber Security Hub

ML专案少不了使用大量的资料来开发模型,以及用资料来支援後续的系统更新方向。这几年来特别是在个人隐私法的设立之後,资料的使用目的、储存时间、资料授权也备受检视。

(1) 资料保护:不管是静态储存,或是传输中的数据的各阶段,都需实施资料加密。授权给ML团队的资料,也须事先经过审核,确保这些资料是真的有必要使用在模型当中,且确保在资料集当中无法识别任一使用者的个别特徵。

(2) 身份授权:针对使用者方面,只能有权限看到跟自己有关的资料,不应该可以看到其他使用者未授权公开的个人资料。在开发者方面,不应该授权给ML团队任何能识别个别使用者的资料。确保使用者与开发者都以最低限度与范围读取资料。模型部署的安全也在此规范之中,在开发团队之中是否每一个人都应该具有将模型部署上线的权限,或者将部署的权限规范在某些特定角色身上。以及报表的阅读权限,是否要让商业端的同事能够读取模型训练过程的报表,或是让他们能够访问整理过後与商业指标相关的报表即可等等。

(3) 身份验证:在分配身份授权之後,确保每一次拜访服务的时候都有相关验证。并且能够快速地查询这些身份相关的授权范围。举例来说,使用基於角色的访问控制 (RBAC) 可以轻松地在开发过程中新增和删除人员。或是服务之间的身份验证,使用者在呼叫API的时候,也确保这些呼叫符合我们系统颁发的安全钥匙。

(4) 网路安全:在系统架设时,使用相对应的凭证。假若透过网路使用开发环境,确保连线是在VPN之下,且连到该公司的私有网路环境。使用SSO(Single sign-on)登入,让使用者可以透过单点登入一次并使用相关服务,便於管理使用者的登入与使用服务的状况。

(5) 可审计性:透过以上4点,能够防止且即时发现谁做了什麽、在什麽服务之下,用来识别和防御恶意或者不正常的使用活动。

关於合规性的5点注意事项


*图片来源:合规性及其重要性

根据维基百科,"一般而言,合规意味着遵守规则,例如规范、政策、标准或法律。合规性描述了组织在努力确保他们了解并采取措施遵守相关法律、政策和法规的过程中渴望实现的目标。" 如果在金融服务、医疗保健、制药、法务等受监管的行业中营业,则还需要遵守行业监管规定。公司必须向监管机构提供验证和合规报告,以显示有遵守规则。

(1)可追溯性:和软件开发雷同的是日志(Log)的重要性。不管是在实验阶段或者产品阶段,日志的纪录可以协助未来的你,在重现实验的时候参考过去成功、失败的参数组合。在查找系统错误的原因时,可以知道谁访问了系统、谁进行了更改、更改了哪些内容,从当中找到原因。这些日志也会是技术与商业报告、客户指标或是公司回覆监管机构的时候可以提供的资料来源。有过去跟现在的资料,也才知道引入新版本的模型或系统之後带来的成效有什麽。

(2)可解释性:透过特徵与模型本身演算法的特性来解释和说明预测结果的原因,并判断有哪些特徵是相对重要、具影响力的。以通信公司的客户流失为例,其模型解释性的的来源会需要:1)将使用资料与整体人口统计数据合并2)选择算法的原因以及其算法特性 3)当中可能影响的数学特徵 4)确保模型是否存在年龄或性别等偏见 5)讨论可能造成客户流失的关键因素的解释,例如收入或服务品质等等。

(3)模型监控:如何在产品上线之後,透过系统日志监控模型的使用状况,以防止资料漂移。资料漂移(data drift/concept drift): 在大多数跟数据相关的应用当中,例如统计、机器学习以及其他分析,新收集到的数据会随着时间的推移而发展,这些发展可能会使得过去收集到的资料集,在数据分布上会落在不同的区间,使得特徵值所代表的意义也会跟着变化。因此,为分析这些数据所建立的模型,随着时间的过去变得过时的状况。在机器学习和数据挖掘中,这种现象称为概念漂移。更多细节可参考:cs329s课程笔记

(4)重现性:在合规性的要求下,系统必须要有相对应的记载,如何根据资料及以及模型的参数,重现模型训练的状况,以确保系统的可重现性。透过可重现性也才能确保模型交付的品质,加速系统迭代的速度。

(5)测试:ML产品的开发过程也须承袭软件开发的其中之一重要点,需要有足够数量的测试,以确保下列几种状况:(a)每一次资料更新,栏位是否有变动(b)每一次资料更新,资料是否有格式或数量等错误(c)模型在跟新的资料训练之後,是否有一些主要的预测行为也跟着受到影响(d)在ML产品开发的过程,如果有使用到第三方的服务,这些服务的品质以及回覆是否都和之前一致。或是出乎预测的变动等等。这些测试都能够帮助每一次的ML产品迭代,都提供更稳定、具有数据佐证的报告。并且也在开发、测试等不同环境通过测试,以确保不会在上线之後出现对使用者的重大影响。

结论

透过安全性与合规性的管控,让原本在实验阶段的ML模型,一步步走向符合业界规范的产品。在这个过程当中,有很多执行细节需要ML团队跟DevOps团队共同学习与执行。这些规范最终也是能协助公司在各种审核上能够轻松许多,在决策上也因为有数据的依靠有足够的透明度和公平性。

Reference
[1]. Importance Of Data, Governance And MLOps When Using Machine Learning To Drive Successful Business Outcomes
[2]. MLOps for Risk and Compliance Professionals
[3]. enterprise security and governance mlops
[4]. Machine learning best practices in financial services
[5]. whitepaper - Machine Learning Best Practices in
Financial Services

[6]. Why Governance Comes First in MLOps
[7]. Algorithmia founder on MLOps’ promise and pitfalls


<<:  D8 - 如何用 Google Apps Script 将 Google Calendar 上的事件与更新全部列出到 Google Sheet 上?

>>:  [Day8] 从角色扮演找出初始的对话流程

[Day13]ISO 27001 标准:风险评监

风险 表示发生,可能会对价值或资产造成负面的冲击。 风险是外部威胁利用弱点对内部资产造成冲击的可能性...

前端工程师也能开发全端网页:挑战 30 天用 React 加上 Firebase 打造社群网站|Day18 即时更新留言

连续 30 天不中断每天上传一支教学影片,教你如何用 React 加上 Firebase 打造社群...

Day16-"与字串相关的函式-2"

复制字串 i.strcpy() 宣告时宣告另一空字元字串,当strcpy()执行完毕时,就会将此字...

《赖田捕手:追加篇》第 34 天:妥善运用 LINE Notify 免费推播

第 34 天:妥善运用 LINE Notify 免费推播 「恩...我是在想你今天晚上要不要用pus...

Day 24 (Js)

1.window.alert vs. window.confirm (1)window.alert:...