接口功能: 对优化器输入的m和v作为索引,取出各自qmap中的值,乘以每个blockSize对应的absmax进行反量化,而后实现AdamW优化器功能,更新后的m和v每blockSize中取一个最大值,每blockSize个m和v对应一个absmax,进行一次norm归一化,利用二分法找到对应m和v对应qmap中的索引作为输出,absmax也作为下一轮量化的输入。
优化器计算公式:
每个算子分为,必须先调用“aclnnApplyAdamWQuantGetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnApplyAdamWQuant”接口执行计算。
[object Object]
[object Object]
参数说明:
[object Object]
[object Object]返回值:
第一段接口完成入参校验,出现以下场景时报错: [object Object]
[object Object]
varRef的shape满足约束:
- varRef.shape = grad.shape
- varRef.shape = mRef.shape
- varRef.shape = vRef.shape
- varRef.size/blockSize = absmaxMRef.size
- varRef.size/blockSize = absmaxVRef.size
确定性计算:
- aclnnApplyAdamWQuant默认确定性实现。
[object Object]