同态加密下的加密数据情感分析
TL;DR
Hugging Face 演示了一种使用 Fully Homomorphic Encryption(FHE)通过 Concrete-ML 库对加密数据进行情感分析的方法。通过将 BERT Transformer 嵌入与 XGBoost 分类器相结合,系统能够在服务器上从未解密用户的输入数据的情况下提供情感预测。
使用同态加密的隐私保护推理
同态加密允许在加密数据上进行计算,而无需事先解密。这对于诸如分析私人消息等敏感应用至关重要,因为在推理过程中用户的数据必须保持机密。
为实现此目标,Hugging Face 使用了 Concrete-ML 库,该库使数据科学家能够在 FHE 环境中部署机器学习模型,而无需深入的密码学专业知识。
技术架构:Transformer 与 XGBoost
系统采用两阶段流水线,将原始文本转换为情感预测,同时保持加密兼容性。
1. 通过 Transformer 的文本表示
由于原始文本不适用于 FHE,系统使用 Transformer 生成文本的隐藏表示(嵌入)。
- Model Used: 在 Stanford Sentiment Treebank 数据集上微调的 BERT Transformer (
cardiffnlp/twitter-roberta-base-sentiment-latest). - Process: 文本被分词后送入 Transformer。系统提取最后一层隐藏状态,并对所有 token 的表示取平均,生成一个 768 维的文本级向量。
- Client-Side Execution: 该文本到张量的转换必须在客户端机器上完成,因为加密是对生成的 Transformer 表示进行的。
2. 通过 XGBoost 进行分类
然后将 768 维向量输入 XGBoost 分类器,后者比深度神经网络更适合 FHE。
- Training: 使用公开的 Twitter 航空公司情感数据集进行训练,并利用
GridSearchCV优化超参数。 - Optimal Parameters: 表现最佳的模型使用
max_depth: 1、n_bits: 3和n_estimators: 50。 - Performance: 该模型在测试集上达到了 85.04% 的准确率。
FHE 执行与性能
XGBoost 模型训练完成后,使用 Concrete-ML 将其编译为 FHE 推理引擎。
- Inference Consistency: 在加密数据上进行的预测 (
execute_in_fhe=True) 与在明文上进行的预测完全一致。 - Execution Time: 对单条推文进行 FHE 推理大约需要 4.4 秒(在 16 核 CPU 上)。
- Compilation Time: 模型编译过程大约需要 9.3 秒。
部署工作流
部署遵循客户端-服务器协议,以确保数据隐私:
- Key Generation: 客户端生成一对私钥和公钥。
- Encryption: 客户端使用公钥对文本的 Transformer 表示进行编码、量化和加密。
- Server-Side Prediction: 服务器接收加密数据并使用公开评估密钥进行预测。服务器从未看到解密后的输入。
- Decryption: 服务器将加密的预测结果返回给客户端,客户端使用其私钥进行解密。
该架构使用 Gradio 作为客户端应用、FastAPI 作为服务器、Uvicorn 作为 ASGI 服务器实现演示,并托管在 Hugging Face Spaces 上。