IREE项目中通用化multi_mma操作以支持任意数量输入的技术演进
背景与需求
在深度学习编译器优化领域,矩阵乘法操作(Matrix Multiplication,简称matmul)是最核心的计算模式之一。IREE项目作为机器学习编译栈的重要组成部分,一直在优化其底层操作的表现力。最初设计的iree_gpu.multi_mma
操作仅支持标准的矩阵乘法模式,即acc = acc + lhs × rhs
,这在处理现代深度学习模型中日益复杂的计算模式时显得力不从心。
随着模型复杂度的提升,出现了许多变种的矩阵乘法操作,特别是带有缩放因子的矩阵乘法(scaled matrix multiplication),其计算形式为acc := acc + (lhs × broadcast(scale)) × (rhs × broadcast(scale))
。这种计算模式在注意力机制等场景中十分常见,但原有的multi_mma
操作无法直接表达这种计算模式。
技术挑战
原有iree_gpu.multi_mma
操作的设计存在几个关键限制:
- 输入操作数固定为两个(lhs和rhs),无法扩展支持额外的缩放因子
- 置换模式(permutation)与特定输入绑定,缺乏灵活性
- 操作定义在GPU专用命名空间中,限制了其在更广泛场景中的应用
这些限制使得编译器无法高效表达和优化包含缩放因子等附加操作的矩阵乘法模式,导致需要将这些额外操作拆分为独立的步骤,增加了中间结果的存储和传输开销。
解决方案设计
针对上述挑战,IREE项目团队提出了通用化multi_mma
操作的改进方案:
- 输入操作数泛化:将固定的
lhs
和rhs
输入改为可变数量的inputs
数组,支持任意数量的输入操作数 - 置换模式扩展:将
lhs_perm
和rhs_perm
改为input_perms
数组,为每个输入操作数提供独立的置换模式 - 命名空间迁移:将操作从
iree_gpu
迁移到更通用的命名空间(如iree_codegen
或LinalgExt
),反映其通用性
新的操作设计能够优雅地表达带有缩放因子的矩阵乘法模式,将原本需要多个步骤的操作融合为单个高效的操作。例如,缩放矩阵乘法可以表示为具有四个输入的操作:原始lhs、缩放因子、原始rhs和另一个缩放因子。
实现细节
在具体实现上,该改进涉及以下关键变更:
- 操作定义重构:重新定义操作签名,使用可变参数列表替代固定参数
- 验证逻辑更新:确保输入操作数与置换模式数组的一致性
- 模式匹配优化:更新模式匹配逻辑以识别新的操作形式
- 代码生成适配:调整后端代码生成器以处理通用化的操作形式
潜在影响与未来方向
这一改进为IREE项目带来了几个重要优势:
- 表达力提升:能够表示更广泛的矩阵运算变体,包括但不限于缩放矩阵乘法
- 优化机会增加:编译器可以识别和优化更复杂的计算模式
- 架构灵活性:为未来支持更多矩阵运算变体奠定了基础
未来可能的扩展方向包括:
- 支持更丰富的操作描述符(operator descriptor)接口
- 增加对动态形状输入的支持
- 集成更多硬件特定的优化特性
结论
通过对multi_mma
操作的通用化改进,IREE项目显著提升了其在处理复杂矩阵运算方面的能力。这一技术演进不仅解决了当前缩放矩阵乘法的表达需求,还为未来支持更多高级矩阵运算模式奠定了坚实的基础,体现了IREE项目在深度学习编译器领域持续创新的承诺。
- DDeepSeek-V3.1-BaseDeepSeek-V3.1 是一款支持思考模式与非思考模式的混合模型Python00
- QQwen-Image-Edit基于200亿参数Qwen-Image构建,Qwen-Image-Edit实现精准文本渲染与图像编辑,融合语义与外观控制能力Jinja00
GitCode-文心大模型-智源研究院AI应用开发大赛
GitCode&文心大模型&智源研究院强强联合,发起的AI应用开发大赛;总奖池8W,单人最高可得价值3W奖励。快来参加吧~042CommonUtilLibrary
快速开发工具类收集,史上最全的开发工具类,欢迎Follow、Fork、StarJava04GitCode百大开源项目
GitCode百大计划旨在表彰GitCode平台上积极推动项目社区化,拥有广泛影响力的G-Star项目,入选项目不仅代表了GitCode开源生态的蓬勃发展,也反映了当下开源行业的发展趋势。06GOT-OCR-2.0-hf
阶跃星辰StepFun推出的GOT-OCR-2.0-hf是一款强大的多语言OCR开源模型,支持从普通文档到复杂场景的文字识别。它能精准处理表格、图表、数学公式、几何图形甚至乐谱等特殊内容,输出结果可通过第三方工具渲染成多种格式。模型支持1024×1024高分辨率输入,具备多页批量处理、动态分块识别和交互式区域选择等创新功能,用户可通过坐标或颜色指定识别区域。基于Apache 2.0协议开源,提供Hugging Face演示和完整代码,适用于学术研究到工业应用的广泛场景,为OCR领域带来突破性解决方案。00openHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!C0298- WWan2.2-S2V-14B【Wan2.2 全新发布|更强画质,更快生成】新一代视频生成模型 Wan2.2,创新采用MoE架构,实现电影级美学与复杂运动控制,支持720P高清文本/图像生成视频,消费级显卡即可流畅运行,性能达业界领先水平Python00
- GGLM-4.5-AirGLM-4.5 系列模型是专为智能体设计的基础模型。GLM-4.5拥有 3550 亿总参数量,其中 320 亿活跃参数;GLM-4.5-Air采用更紧凑的设计,拥有 1060 亿总参数量,其中 120 亿活跃参数。GLM-4.5模型统一了推理、编码和智能体能力,以满足智能体应用的复杂需求Jinja00
Yi-Coder
Yi Coder 编程模型,小而强大的编程助手HTML013
热门内容推荐
最新内容推荐
项目优选









