开发者
下载
[object Object]

[object Object][object Object]undefined
[object Object]
  • 接口功能:QuantLightningIndexer在LightningIndexer的基础上支持了Per-Token-Head量化输入。

  • 计算公式:

    out=Top-k{[1]1×g@[(W@[1]1×Sk)ReLU((ScaleQ@ScaleKT)(QindexQuant@(KindexQuant)T))]}out = \text{Top-}k\left\{[1]_{1\times g}@\left[(W@[1]_{1\times S_{k}})\odot\text{ReLU}\left(\left(Scale_Q@Scale_K^T\right)\odot\left(Q_{index}^{Quant}@{\left(K_{index}^{Quant}\right)}^T\right)\right)\right]\right\}
[object Object]

每个算子分为,必须先调用“aclnnQuantLightningIndexerGetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnQuantLightningIndexer”接口执行计算。

[object Object]
[object Object]
[object Object]
  • 参数说明:
[object Object]
[object Object]
  • 返回值:

    aclnnStatus:返回状态码,具体参见

    第一段接口会完成入参校验,出现以下场景时报错:

    [object Object]
[object Object]
  • 参数说明:

    [object Object][object Object]
  • 返回值:

    aclnnStatus:返回状态码,具体参见

[object Object]
  • 确定性说明:aclnnQuantLightningIndexer默认确定性实现。
  • 参数query中的N支持小于等于64/32/24/16,key的N支持1。
  • headdim支持128。
  • block_size取值为16的倍数,最大支持1024。
  • 参数query、key的数据类型应保持一致。
  • Atlas A3 训练系列产品/Atlas A3 推理系列产品:
    • query和key的数据类型支持[object Object]
    • 仅支持weights、query_dequant_scale、key_dequant_scale数据类型为[object Object]
  • Ascend 950PR/Ascend 950DT:
    • query N1仅支持8、16、24、32、64。
    • query和key的数据类型支持[object Object]
    • 当query和key的数据类型为[object Object]时,支持weights、query_dequant_scale、key_dequant_scale的数据类型为[object Object][object Object]
    • 当query和key的数据类型为[object Object]时,仅支持weights、query_dequant_scale、key_dequant_scale数据类型为[object Object]
    • 当query和key的数据类型为[object Object]时,仅支持weights、query_dequant_scale、key_dequant_scale数据类型为[object Object]
[object Object]

示例代码如下,仅供参考,具体编译和执行过程请参考

[object Object]