You need to enable JavaScript to run this app.
导航
使用 ONNX 模型加密功能
最近更新时间:2024.09.05 20:01:20首次发布时间:2024.09.05 20:01:20

本文介绍了如何使用 ONNX 模型加密功能。

背景信息

边缘智能提供一个 ONNX 模型文件加密工具。该模型加密工具是一个 Python 脚本,它基于 AES 算法对本地的 .onnx 模型文件进行加密。您可以将加密的模型文件上传到边缘智能平台,而将加密密钥保管在边缘节点(无需上传到边缘智能平台)。

准备工作

准备好您的 ONNX 模型文件(.onnx)。

操作步骤

步骤1:对 ONNX 模型文件进行加密

  1. 下载模型加密工具(.zip)
  2. 对模型加密工具压缩包进行解压缩。
    解压缩后,您会获得以下文件:
    • key.json:用于保存加密密钥。
    • main.py:加密的主脚本。
    • README.md:加密工具的使用说明。
  3. 按照 README.md 的说明安装所需依赖。
  4. 修改 key.jsonmodel_key 参数的值,设置一个密钥。
  5. 将模型文件拷贝到加密工具的主目录,然后运行 main.py
    加密完成后,您可以在加密工具的主目录获得加密后的模型文件。加密后的模型文件名称是 encrypted_<原名称>.onnx
  6. 将加密后的模型文件拷贝到一个以数字命名(如1)的文件夹下,并将模型文件重命名为 model.onnx
    这样做以便满足边缘智能平台对模型文件的上传要求。更多信息,请参见准备工作
    图片

步骤2:上传密钥到边缘节点

要在边缘节点上部署加密的 ONNX 模型文件,您必须先将加密模型文件时使用的密钥(key.json)存放到边缘节点的指定路径。否则,边缘节点将无法识别您部署的模型文件,导致模型服务无法正常运行。

  1. 远程登录您计划部署 ONNX 加密模型的边缘节点。相关操作,请参见远程登录节点

  2. /etc 目录创建一个文件夹(ver_infer),用来存放密钥文件。

    mkdir -p /etc/vei_infer
    
  3. 前往 /etc/vei_infer 目录,然后使用上传文件功能,将 key.json 文件上传到该目录。
    图片

步骤3:创建一个自定义模型

  1. 登录边缘智能控制台

  2. 在左侧导航栏顶部的 我的项目 区域,选择您的项目。

  3. 在左侧导航栏,选择 边缘推理 > 模型管理

  4. 自定义模型 页签下,单击 新建模型

  5. 创建模型 页面,完成模型参数配置,然后单击 确定
    具体配置项的说明,请参见创建自定义模型
    请注意以下配置项:

    • 推理框架:选择 Triton框架
    • 模型框架:选择 ONNX
      图片

步骤4:创建一个版本

  1. 单击新建的模型的名称。
  2. 单击 版本管理 页签。
  3. 单击 创建版本
  4. 新建版本 对话框,完成版本参数配置,然后单击 上传文件
    请注意以下配置项:
    • 名称:为版本设置一个名称。示例:onnx-encrypted-model
    • 是否为加密模型:设置为
    • 文件:上传加密的 ONNX 模型文件所在文件夹。
      图片
  5. 上传完成后,单击 确认

步骤5:部署模型服务

  1. 找到新建的版本,单击 操作 列的 部署
  2. 部署模型服务 页面,完成模型服务部署的参数配置,然后单击 确认
    具体配置项的说明,请参见部署模型服务 - Triton 框架
    请注意以下配置项:
    • 节点:务必选择存放密钥的边缘节点。

完成以上操作后,您可以在 模型服务 列表查看已经部署的模型服务。当模型服务的状态变为 运行中,表示模型服务已经部署成功。