aclnnTransformBiasRescaleQkv
产品支持情况
功能说明
接口功能: TransformBiasRescaleQkv算子是一个用于处理多头注意力机制中查询(Query)、键(Key)、值(Value)向量的接口。它用于调整这些向量的偏置(Bias)和缩放(Rescale)因子,以优化注意力计算过程。
计算公式:
逐个元素计算过程见公式:公式中:
- dim_per_head为每个注意力头的维度。
- q[object Object]o[object Object]、k[object Object]o[object Object]、v[object Object]o[object Object]分别为查询(Query)、键(Key)、值(Value)向量的输出元素。
- q[object Object]i[object Object]、k[object Object]i[object Object]、v[object Object]i[object Object]分别为查询(Query)、键(Key)、值(Value)向量的输入元素。
- q[object Object]bias[object Object]、k[object Object]bias[object Object]、v[object Object]bias[object Object]分别为查询(Query)、键(Key)、值(Value)向量的输入元素偏移。
函数原型
每个算子分为,必须先调用“aclnnTransformBiasRescaleQkvGetWorkspaceSize”接口获取入参并根据计算流程计算所需workspace大小,再调用“aclnnTransformBiasRescaleQkv”接口执行计算。
[object Object]
[object Object]
aclnnTransformBiasRescaleQkvGetWorkspaceSize
aclnnTransformBiasRescaleQkv
约束说明
确定性计算:
- aclnnTransformBiasRescaleQkv默认确定性实现。
输入qkv、qkvBias和输出qOut、kOut、vOut的数据类型需要保持一致。
输入值为NaN,输出也为NaN,输入是Inf,输出也是Inf。
输入是-Inf,输出也是-Inf。
调用示例
[object Object]