已关闭
[Requirement|需求建议]: engram算子支持训练 #3838
luozhonglin创建于 7月20日关闭于 7月25日
7月20日 修改了issue 的描述
luozhonglin
7月20日 评论:
7月20日 评论:
/assign


7月20日 将 luozhonglin222 设为负责人
7月23日 关联了pull request:engram support training
7月25日 关闭了 issue
7月25日 添加了label:resolved
7月30日 关联了pull request:engram torch api
7月30日 删除了关联的pull request:engram torch api
8月3日 关联了pull request:engram支持跨超
8月11日 关联了pull request:engram支持UBG+资料修改
8月14日 关联了pull request:engram反向增加校验
8月20日 关联了pull request:engram反向性能优化
8月24日 删除了关联的pull request:engram反向性能优化
8月24日 关联了pull request:engram反向性能优化
8月24日 删除了关联的pull request:engram反向性能优化
8月24日 关联了pull request:engram反向性能优化
8月24日 删除了关联的pull request:engram反向性能优化
8月24日 关联了pull request:engram反向性能优化
Thanks for sending an requirement! Please fill in the following template to help quickly solve your problem.
Backgroud(背景信息)
在大模型推理中,部分 token 可以不用npu计算得到,可以通过提前的buffer缓存去取出该部分token。常规流程中这些数据需要在 NPU
上重新计算一遍,占用推理时间。当前库上engram算子只支持推理,无法支持训练。
本次提交的 engram_fetch / engram_fetch_grad 分别为正向和反向算子,支持训练。
Benefit / Necessity (价值/作用)
降低推理时延:对于可预的 token 数据,不再走 NPU 全流程推理,而是直接从 CPU 映射的 Engram Buffer 中 fetch,用内存访问代替重复计算,减少端到端推理耗时
Design(设计方案)
Engram Fetch 路径训练化。前向复用推理同一个
EngramFetch接口(aclnnEngramFetchissue +aclnnEngramFetchWaitwait),由ElasticBuffer(with_grad=True)切训练模式——不新造前向算子、不改用户签名;训练态额外产出 save-for-backward(作为可选输出,推理传 nullptr)。反向是唯一新算子 EngramFetchBackward(单融合 kernel)。