【AI】推理引擎中的模型小型化问题

随着深度学习模型的发展,模型越来越大,网络参数越来越多,对算力的要求也越来越高。但在端侧和云端部署时,其算力相对有限,因此如何缩小模型成为一个问题。

一、基础参数

  • FLOPs,浮点运算次数(Floating-point Operations),可以认为是计算量,用于衡量模型的时间复杂度。
  • FLOPS,每秒执行的浮点运算次数(Floating-point Operations Per Second),可以理解为计算速度,用于衡量模型速度的指标。
  • MACs,乘-加操作次数(Multiply-accumulate Operations),MACs 大约是 FLOPs 的一半,因为一次卷积操作包含一次浮点加法和一次浮点乘法操作。
  • Params,模型含有多少参数直接决定了模型的大小,也影响推断时对内存的占用量,单位通常以 M(兆)
    个表示,参数通常用 float32(4 字节)表示,因此模型大小是参数数量的 4 倍左右。

例如,10M Params = 10M x 4 byte = 40 MB

  • MAC,内存访问代价(Memory Access Cost),指的是输入单个样本,模型 / 卷积层完成一次前向传播所发生的内存交换总量,即模型的空间复杂度,单位是 byte。
  • Bandwidth,内存带宽(Memory Bandwidth)表示将数据从 RAM 移动到处理单元(xPU)的速度,比计算速度更有代表性,它取决于内存和处理单元间的数据传输速度。

二、CNN 模型小型化工作

这些工作慢慢看
【AI】推理引擎中的模型小型化问题_第1张图片

三、Transformer 模型小型化工作

【AI】推理引擎中的模型小型化问题_第2张图片

你可能感兴趣的:(Python_AI,人工智能)