在数据科学领域工作过的人都知道,开发人工智能 (AI) 模型通常包括三个高级阶段:训练、验证和测试。在测试模型的准确性时,在选择验证集来调整超参数时通常需要考虑很多因素。对于准确的模型评估,组织倾向于使用其真实数据的一部分进行验证,但自然存在很多安全和隐私问题,尤其是在处理个人身份信息 (PII) 时。
如果您的模型是由外部公司开发的,那么您基本上有两种选择。要么公司与你共享其模型——这将对其知识产权保护构成风险——要么你与他们共享你的真实数据,这对你来说是一种隐私风险,也可能导致模型过度拟合真实数据。在做出这些艰难的选择时,还有很多法律障碍需要克服。因此,尽管组织希望尽快采用 AI,但无论模型开发过程是内部还是外部,他们在处理数据时都面临挑战。
为了解决这个问题,微软正在开发一个名为 EzPC 的新框架,它代表“Easy Secure Multi-party Computation”。本质上,EzPC 是基于安全多方计算 (MPC)的。MPC 使多方能够使用密码学联合计算一个函数,而无需向彼此透露他们的数据。
虽然 MPC 已经存在多年,但由于在计算多种功能时使其可扩展和高效所涉及的挑战,它已被证明难以实施。EzPC 通过使用 MPC 作为构建块并让开发人员(不仅是密码学专家)能够扩展它来解决这些问题。据微软称:
EzPC 的核心是两项创新。首先,一个名为 CrypTFlow 的模块化编译器将 TensorFlow 或开放神经网络交换 (ONNX) 代码作为 ML 推理的输入,并自动生成类 C 代码,然后可以将其编译成各种 MPC 协议。该编译器既“MPC 感知”又经过优化,确保 MPC 协议高效且可扩展。第二项创新是一套用于安全计算复杂机器学习功能的高性能加密协议。
微软吹嘘说,EzPC 在与斯坦福大学研究人员的测试中启用了“生产级 AI 模型的首次安全验证”,从而证明您无需共享数据即可执行验证。虽然微软的 EzPC 模型需要 15 分钟才能在“两个标准云虚拟机”上使用验证元素进行安全推理 – 比常规推理长 3000 倍 – 该公司表示这无关紧要,因为计算并行性可以解决这个问题。在当前的方法下,验证集中的 500 多张图像在 5 天内通过推理,总成本不到 100 美元。微软声称,如果所有数据并行运行,它本可以在 15 分钟内完成整个数据集的推理。您可以在此处发表的论文中探索这些发现。
因此,微软鼓励使用 EzPC,强调其在 MPC 中的基础。利用 EzPC 的组织也将能够绕过法律障碍,同时确保在人工智能模型在生产环境中使用之前得到准确评估。EzPC 是一个开源框架,您可以在 GitHub 上找到它。