aclnnAdvanceStep
产品支持情况
功能说明
接口功能:
vLLM是一个高性能的LLM推理和服务框架,专注于优化大规模语言模型的推理效率。它的核心特点包括PageAttention和高效内存管理。advance_step算子的主要作用是推进推理步骤,即在每个生成步骤中更新模型的状态并生成新的inputTokens、inputPositions、seqLens和slotMapping,为vLLM的推理提升效率。
计算公式:
函数原型
每个算子分为,必须先调用“aclnnAdvanceStepGetWorkspaceSize”接口获取入参并根据计算流程计算所需workspace大小,再调用“aclnnAdvanceStep”接口执行计算。
aclnnAdvanceStepGetWorkspaceSize
参数说明:
[object Object]返回值:
aclnnStatus:返回状态码,具体参见。 第一段接口会完成入参校验,出现以下场景时报错: [object Object][object Object] [object Object] [object Object] [object Object] [object Object] [object Object] [object Object] [object Object]返回值[object Object] [object Object]错误码[object Object] [object Object]描述[object Object] [object Object][object Object] [object Object] [object Object] [object Object]ACLNN_ERR_PARAM_NULLPTR[object Object] [object Object]161001[object Object] [object Object]传入的inputTokens、sampledTokenIds、inputPositions、seqLens、slotMapping、blockTables是空指针。[object Object] [object Object] [object Object] [object Object]ACLNN_ERR_PARAM_INVALID[object Object] [object Object]161002[object Object] [object Object]inputTokens、sampledTokenIds、inputPositions、seqLens、slotMapping、blockTables的数据类型不在支持的范围之内。[object Object] [object Object] [object Object] [object Object]aclnnAdvanceStepGetWorkspaceSize failed[object Object] [object Object]561002[object Object] [object Object]输入inputTokens、inputPositions、seqLens、slotMapping、blockTables的shape的第一维长度与numSeqs不一致。[object Object] [object Object] [object Object] [object Object]输入sampledTokenIds的shape的第一维长度与numQueries不一致,或者shape的第二维长度不为1。[object Object] [object Object] [object Object] [object Object]输入numSeqs的值小于等于输入numQueries的值。[object Object] [object Object]
[object Object]aclnnAdvanceStep
约束说明
- 确定性计算:
- aclnnAdvanceStep默认确定性实现。