aclnnMoeTokenUnpermuteWithRoutingMapGrad
产品支持情况
功能说明
接口功能:aclnnMoeTokenUnpermuteWithRoutingMap的反向传播。
计算公式:
(1) probs非None:
- paddedMode为false时
- paddedMode为true时
(2) probs为None:
- hidden_size指unpermutedTokensGrad的第1维大小。
- paddedMode等于true时,每个专家固定能够处理capacity个token。输入routingMapOptional的第1维是experts_num,即专家个数,输入outIndex的第0维是experts_num * capacity,根据这两个维度可以算出capacity。
- paddedMode等于false时,每个token固定被topK_num个专家处理。输入unpermutedTokensGrad的第0维是tokens_num,即token的个数,输入outIndex的第0维是tokens_num * capacity,根据这两个维度可以算出topK_num。
函数原型
每个算子分为,必须先调用“aclnnMoeTokenUnpermuteWithRoutingMapGradGetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnMoeTokenUnpermuteWithRoutingMapGrad”接口执行计算。
[object Object]
[object Object]
aclnnMoeTokenUnpermuteWithRoutingMapGradGetWorkspaceSize
aclnnMoeTokenUnpermuteWithRoutingMapGrad
约束说明
确定性计算:
- aclnnMoeTokenUnpermuteWithRoutingMapGrad默认确定性实现。
当输入probsOptional非空,且paddedMode为false时,要求topK_num <= 512且topK_num <= experts_num。
当输入probsOptional非空,且paddedMode为true时,要求capacity <= tokens_num。
调用示例
[object Object]