ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

CANN/GE ATC工具--sparsity参数说明

CANN/GE ATC工具--sparsity参数说明 --sparsity【免费下载链接】geGEGraph Engine是面向昇腾的图编译器和执行器提供了计算图优化、多流并行、内存复用和模型下沉等技术手段加速模型执行效率减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge产品支持情况Ascend 950PR/Ascend 950DT不支持Atlas A3 训练系列产品/Atlas A3 推理系列产品支持Atlas A2 训练系列产品/Atlas A2 推理系列产品支持Atlas 200I/500 A2 推理产品支持Atlas 推理系列产品不支持Atlas 训练系列产品不支持IPV350不支持功能说明开启全局稀疏特性。AMCT昇腾模型压缩工具4选2结构化稀疏后输出的模型可能存在weight连续4个Cin维度元素中至少有2个为0的场景模型转换时通过开启全局稀疏开关将该场景下的元素筛选成2个从而节省后续推理的计算量提高推理性能。其原理如下weight中每4个连续的元素会生成两组2bit的index。index取值范围为{0, 1, 2}其中第一个index表示前三个元素里面第1个非0元素的位置第二个index表示后三个数里面最后一个非0数的位置。最终筛选成的index取值如下表格所示表 1筛选规则场景ele0ele1ele2ele3index[0]index[1]2个非0元素00XY2b102b102个非0元素0X0Y2b012b101个非0元素000X2b002b101个非0元素00X02b102b01全0元素00002b002b00由于稀疏矩阵每4个int8元素将生成2个2bit的index和2个int8的稠密weight的元素一个index为2bit所以4个index组成一个int8的元素因此最后输出的index矩阵的大小是稠密weight的1/4。其中index矩阵用来记录稀疏weight每4个元素中挑选出2个元素的index在推理计算时由硬件读取作为筛选元素的凭据。各组件交互流程如下图所示图 1交互流程 ![图示](https://raw.gitcode.com/cann/ge/raw/a67f6ec35ec66842d35cb5db9c8d9a4c34d31086/docs/zh/user_guides/atc_tools/figures/interaction_flow.png 交互流程?utm_sourcegitcode_repo_files)AMCT工具对用户提供结构化稀疏的API接口支持将稠密模型通过重训练的方式转成结构化稀疏的模型输出基于框架的稀疏模型模型结构上与稠密模型无差异但在参数上已经实现了结构化稀疏连续4个Cin维度元素中有2个为0。GE根据sparsity1遍历所有支持结构化稀疏的算子类型当前支持Conv2D/MatMulV2/FullyConnection里的weight确认当前的参数分布是否能采用4选2结构化稀疏特性。插入CompressOp复用weight压缩的CompressOp算子原型增加Alg属性用来区分weight压缩和结构化稀疏完成结构化稀疏的weight重排和index生成。如果满足4选2结构化稀疏执行条件将原始框架支持稀疏特性的算子比如Conv2D算子替换为Conv2DCompress该类算子原型新增Alg属性来区分使用的特性是weight压缩还是4选2结构化稀疏特性。关联参数无。参数取值1表示开启4选2结构化稀疏。0默认值不开启稀疏特性。推荐配置及收益无。示例atc --sparsity1 ...使用约束使用该参数时请确保模型是稀疏的模型建议用户使用AMCTTensorFlow或AMCTPyTorch的组合压缩功能获取且组合压缩只能是4选2结构化稀疏量化感知训练模式。【免费下载链接】geGEGraph Engine是面向昇腾的图编译器和执行器提供了计算图优化、多流并行、内存复用和模型下沉等技术手段加速模型执行效率减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表