更新时间:2026-10-29 GMT+08:00
分享

模型混淆

在企业将自有模型部署至云端推理时,模型参数在内存中明文存在,存在核心资产泄露风险。华为云数据安全中心(DSC)提供模型混淆功能,通过对模型算子注入混淆因子,在NPU侧独立的混淆环境中部署混淆算子,使模型推理过程以混淆态运行,原始模型权重不以明文暴露于内存中,有效防止模型在云端推理过程中被窃取或逆向还原,保障企业核心AI资产安全。

基本概念

使用模型混淆功能前,先了解以下名词的含义:

  • ModelArts / 开源AI平台:顶层AI平台,提供模型训练、部署和推理的运行环境。
  • Host(主机):主机层,运行容器、AI软件栈和大模型推理服务。
  • 容器:隔离运行环境,承载大模型推理服务。
  • AI软件栈:连接上层 AI 框架与底层芯片硬件的计算中间件。
  • 大模型推理服务:在容器中运行的大模型推理引擎。
  • NPU Device 1:NPU加速卡,支持多机多卡并行推理。
  • AI Core:NPU的核心计算单元,执行实际运算。
  • 常规算子:NPU上的标准AI计算算子。
  • 混淆环境:执行混淆算子的运算环境。
  • 混淆算子:经过混淆处理的特殊算子,与常规算子协同完成受保护推理。
  • 混淆 SDK:模型混淆和推理数据混淆的SDK,负责将模型转换为混淆模型,以及推理请求的混淆和推理结果的解混淆。
  • 混淆因子:混淆参数(如Seed),驱动混淆算子的行为。不同模型不建议使用相同混淆因子。

应用场景

  • 企业大模型上云:企业将自研或微调的大模型部署到行业云推理服务,需防止模型权重在云端被窃取。
  • 敏感数据推理服务:金融、政务、医疗等行业用户使用云端大模型处理敏感数据,需确保提示词与推理结果不被云端获取。
  • 多租户 AI 平台:AI平台为多租户提供共享推理服务,需在租户间实现数据与模型隔离,防止跨租户泄露。

方案架构

DSC模型混淆功能通过对AI模型注入混淆因子,在NPU侧的混淆环境中部署混淆算子,实现模型推理过程中的权重、输入输出数据的保护。

模型混淆的两大流程:

  1. 模型部署:原始模型 → 混淆SDK(加载混淆因子,执行混淆)→ 混淆模型 → 部署到推理环境。
  2. 模型推理:原始推理数据 → 混淆SDK → 混淆态推理数据 → 云上推理环境 → 混淆态推理结果 → 混淆SDK → 原始推理结果。

方案优势

  • 高安全:模型和数据(文本/图片/视频)端到端混淆,全链路无明文流转。
  • 易改造:原生适配现有推理框架MindIE和vLLM,支持DeepSeek、Qwen。
  • 高能效:不依赖TEE等机密计算硬件,推理性能和精度很高。

前提条件

已购买数据安全屋。

执行模型混淆

对模型权重进行混淆保护,支持多种模型类型和自定义配置。

支持的模型类型

模型类型

模型名称

DeepSeek

DeepSeek-V3、DeepSeek-R1

Qwen2.5

Qwen2.5-0.5B、Qwen2.5-1.5B、Qwen2.5-3B、Qwen2.5-7B、Qwen2.5-14B、Qwen2.5-32B、Qwen2.5-72B

Qwen3

Qwen3-0.6B、Qwen3-1.7B、Qwen3-4B、Qwen3-8B、Qwen3-14B、Qwen3-32B、Qwen3-30B-A3B、Qwen3-235B-A22B、

Qwen3-VL

Qwen3-VL-2B、Qwen3-VL-4B、Qwen3-VL-8B、Qwen3-VL-32B、Qwen3-VL-30B-A3B、Qwen3-VL-235B-A22B

模型混淆示例

from ai_asset_obfuscate import ModelAssetObfuscation, ErrorCode, ModelType

# 创建模型混淆实例
model = ModelAssetObfuscation.create_model_obfuscation(
     model_path="/path/to/model",
     model_type=ModelType.Qwen3,
     tp_num=4
)

# 设置混淆因子,不同模型不建议使用相同混淆因子
result = model.set_seed_content(
     seed_type=1,
  
# 模型混淆因子
    seed_content="your_seed_content_32_chars_min"
)
 if result != ErrorCode.SUCCESS.value:
     print(f"设置混淆因子失败: {result}")
  
# 执行模型混淆
result = model.model_weight_obf(
     obf_type=1,  #1:仅使用模型混淆因子, 2:仅使用数据混淆因子
    model_save_path="/path/to/model_save_path",
     device_type = "cpu",
     device_id=[0, 1, 2, 3]
 )
 if result == ErrorCode.SUCCESS.value:
     print("模型混淆成功")

执行数据混淆

对推理数据进行混淆保护,支持一维和二维数据。

数据混淆示例

from ai_asset_obfuscate import DataAssetObfuscation, ErrorCode, ModelType
  
# 创建数据混淆实例
data_obf = DataAssetObfuscation(
     vocab_size=32000,
     token_white_list=[0, 1]  # 不做混淆的token白名单
)
  
# 设置混淆因子,不同模型不建议使用相同混淆因子
result = data_obf.set_seed_content(
     seed_content="your_seed_content_32_chars_min",
     is_local_save=False,
     seed_ciphertext_dir=None
)
  
# 混淆二维数据
tokens = [[1, 2, 3], [4, 5, 6]]
obf_tokens = data_obf.data_2d_obf(tokens)
  
# 解混淆二维数据
deobf_tokens = data_obf.data_2d_deobf(obf_tokens)

查看模型混淆操作记录

  1. 登录DSC服务控制台。
  2. 在左侧导航栏中,选择“数据安全屋”,进入“数据安全屋”控制台。
  3. 在左侧导航栏中,选择“模型混淆”,查看模型混淆列表,参数说明如表1所示。

    图1 模型混淆
    表1 模型混淆参数列表

    参数名称

    参数说明

    模型名称

    被混淆处理的AI模型名称。

    模型类型

    模型的架构类型标签,如 deepseek_v3(DeepSeek系列)、qwen3_moe(Qwen3混合专家模型)。

    Seed摘要

    混淆操作的随机种子哈希值摘要,用于标识本次混淆的参数指纹,确保混淆结果可追溯。

    混淆时间

    执行模型混淆操作的时间戳。

    客户端个数

    该混淆模型当前分发的客户端节点数量。

  4. 单击客户端个数,可查看混淆模型中分发的客户端节点的客户端IP和上报时间。

相关文档

数据胶囊:数据胶囊是一种标准化二进制容器格式(文件后缀 .dcap),采用文件头 + 文件体两段式结构,将原始数据、访问策略、加密密钥、权属信息、防篡改签名封装为单一独立文件。文件脱离原系统后仍可独立完成完整性校验、策略鉴权与受控解密,实现数据走到哪里,安全策略跟到哪里

相关文档