RopeGradOperation

功能

旋转位置编码处理的反向。

定义

struct RopeGradParam {
    std::vector<int32_t> qSeqLen;
    bool operator==(const RopeGradParam &other) const
    {
       return this->qSeqLen == other.qSeqLen;
    }
};

成员

成员名称

描述

qSeqLen

存储unpad场景下每个batch实际seqlen的值。size不能为0。

输入

参数

维度

数据类型

格式

描述

ropeQ_grad1

[nTokens, hiddenSize]

float16

ND

ropeQ_grad矩阵。

ropeQ_grad2

[nTokens, hiddenSize]

float16

ND

ropeQ_grad矩阵。

cos

[maxSeqLen, headDim]

float16

ND

cos矩阵,maxSeqLen为qSeqLen中的最大元素。

sin

[maxSeqLen, headDim]

float16

ND

sin矩阵。

输出

参数

维度

数据类型

格式

描述

q_grad

[nTokens, hiddenSize]

float16

ND

q_grad矩阵。

k_grad

[nTokens, hiddenSize]

float16

ND

k_grad矩阵。