Releases
v0.6.6
API
添加了 PPQ 基础类库 PFL,更改了 API 的调用关系
移除了 AdvancedOptimizationSetting
量化核心逻辑
添加了新的 QuantizationProperty: DYNAMIC, 用于描述动态量化。动态量化功能将支撑 LSTM 的量化。
添加了新的 QuantizationProperty: FLOATING, 用于描述浮点量化,PPQ现在从底层支持FP8 E4M3 E5M2, BF16, FP16的量化过程。目前FLOATING量化必须开启CUDA KERNEL完成计算。
QuantizationStates 中的 SLAVE 状态与 PASSIVE 状态合并。在过去,SLAVE状态用于描述激活值的被动量化,而PASSIVE状态则用于描述参数的被动量化。被动量化参数将与其他TQC共享量化信息。DEQUANTIZED, DEACTIVED, SOI 状态全部与 FP32 合并。
为 TQC 添加了新的属性 master_by,用于创建被动量化链接
重新审视了 TQC.policy, roundind, num_of_bits, quant_min, quant_max属性,现在TQC父子链接将不共享这些内容,而只共享scale, offset。
添加了新的量化平台 TRT_FP8, GRAPHCORE_FP8, 移除了 ACDEMIC 系列平台
针对 FP8 量化,放弃定点对齐中的向大端对齐策略
强制联合定点现在默认开启,即使复杂图的情况下也会默认执行级联联合定点。
添加了新的函数 can_export,可以使用该函数校验 TQC 是否能够被导出
移除了 ChannelwiseTensorQuantizationConfig 类型,相关属性 channel_axis 被直接移入父类
异构执行
移除了 PPQDeviceSwitcher,cpu-gpu 的数据切换将在算子内部完成
移除了 cpu 后端,所有运算都将由统一的后端实现完成
添加了 layernorm 的执行逻辑
图调度
OpSocket 的定义现在将移入 ppq.IR.opdef,并且 socket 将作为算子上的一个基础属性
默认调度算法修改为 conservative,conservative 调度逻辑将使用 socket 进行重构
模式匹配
子图模式匹配从贪心匹配改为暴力匹配,现在可以匹配任意子图模式,但当候选结果数量过大时,PPQ将返回错误。
新增 Layernorm 的图融合策略
优化过程
移除了 QuantizeRefine Pass,该部分逻辑将由 Quantizer 完成,相关参数从 QuantizationSetting 中移除。
重写了 PassiveParameterQuantizePass,现在将允许分别对 Clip, Pad, Bias 进行控制,将允许控制 Clip, Pad 量化的导出可见性
重写了 ChannelSplitPass
量化器
在创建初始量化信息时,将使用 Opsocket 的内容为算子初始化正确的 TQC,在过去这一职责是由 QuantizeRefine Pass 负责的
为算子初始化默认TQC时,在 create_default_quant_config 中现在将传入算子本身,而非 op.meta
添加了 FP8 量化器,添加了 FP8 量化的相关逻辑,添加了关于 FP8 的两套 calibration 逻辑
QAT
其他内容
修正了 ppq.api.init ,避免 import 时引入不必要的内容
将 TargetPlatform.SHAPE_OR_INDEX 重命名为 TargetPlatform.SOI
移除了 ppq.IR.baseGraph 的函数 delete_operation, delete_variable
修正了一个图复制时可能出现的错误
修改了系统最大迭代次数的限制,这是由于对于一些较大规模的计算图,PPQ的调度器执行时会超出python默认的最大迭代深度。
修正了 hardsigmoid forward 的错误
允许导出大于2G的onnx文件
移除了 Reshape forward 逻辑中有关于 batchsize 的判断逻辑
暂时移除了创建 opsocket 时的一系列警告
修正了 op 和 graph 复制时 detail 属性没有成功复制的错误
修正了一个图复制时可能发生的错误
修正了 tengine exporter 的导出错误
修正了 tensorrt exporter 的导出错误
修正了子图切分时可能发生的一个错误
修正了 Quantizer 创建 TQC 的一个平台错误
修正了 ConvTranspose2D 量化轴的错误
添加了 bert, yolo6, fp8 的样例文件
You can’t perform that action at this time.