Encryption_CN.md 1.6 KB
Newer Older
T
Thomas Young 已提交
1
# 加密模型预测
H
HexToString 已提交
2

T
TeslaZhao 已提交
3
Padle Serving 提供了模型加密预测功能,本文档显示了详细信息。
H
HexToString 已提交
4

T
Thomas Young 已提交
5
## 原理
H
HexToString 已提交
6

T
Thomas Young 已提交
7
采用对称加密算法对模型进行加密。对称加密算法采用同一密钥进行加解密,它计算量小,速度快,是最常用的加密方法。
H
HexToString 已提交
8

T
TeslaZhao 已提交
9
**一. 获得加密模型:**
T
Thomas Young 已提交
10 11 12

普通的模型和参数可以理解为一个字符串,通过对其使用加密算法(参数是您的密钥),普通模型和参数就变成了一个加密的模型和参数。

H
HexToString 已提交
13
我们提供了一个简单的演示来加密模型。请参阅[examples/C++/encryption/encrypt.py](../../examples/C++/encryption/encrypt.py)
T
Thomas Young 已提交
14 15


T
TeslaZhao 已提交
16
**二. 启动加密服务:**
T
Thomas Young 已提交
17 18 19 20

假设您已经有一个已经加密的模型(在`encrypt_server/`路径下),您可以通过添加一个额外的命令行参数 `--use_encryption_model`来启动加密模型服务。

CPU Service
H
HexToString 已提交
21
```
T
Thomas Young 已提交
22 23 24 25
python -m paddle_serving_server.serve --model encrypt_server/ --port 9300 --use_encryption_model
```
GPU Service
```
26
python -m paddle_serving_server.serve --model encrypt_server/ --port 9300 --use_encryption_model --gpu_ids 0
H
HexToString 已提交
27 28
```

T
Thomas Young 已提交
29
此时,服务器不会真正启动,而是等待密钥。
H
HexToString 已提交
30

T
TeslaZhao 已提交
31
**三. Client Encryption Inference:**
H
HexToString 已提交
32

T
Thomas Young 已提交
33
首先,您必须拥有模型加密过程中使用的密钥。
H
HexToString 已提交
34

T
Thomas Young 已提交
35
然后你可以用这个密钥配置你的客户端,当你连接服务器时,这个密钥会发送到服务器,服务器会保留它。
H
HexToString 已提交
36

T
Thomas Young 已提交
37
一旦服务器获得密钥,它就使用该密钥解析模型并启动模型预测服务。
H
HexToString 已提交
38 39


T
TeslaZhao 已提交
40 41
**四. 模型加密推理示例:**

H
HexToString 已提交
42
模型加密推理示例, 请参见[examples/C++/encryption/](../../examples/C++/encryption/)