CANN/amct DeepSeek-V3.2量化
NPU DeepSeek-V3.2 量化训练及推理【免费下载链接】amctAMCT是CANN提供的昇腾AI处理器亲和的模型压缩工具仓。项目地址: https://gitcode.com/cann/amctDeepSeek团队发布了最新的模型DeepSeek-V3.2可利用稀疏架构DeepSeek Sparse Attention(DSA)来提高长序列的计算效率降低推理成本。长上下文场景和其新颖的DSA结构共同对推理优化系统提出了新诉求。量化策略相对于BF16推理Int8量化可以有效降低端到端时延提升系统吞吐。目前本sample已经支持W8A8C8/W4A8C8量化量化架构如下其中MLA量化位置如下MLAProlog除Q_b_proj使用W8A8其他Linear均不量化KVCache量化到C8Sparse Flash AttentionKVCache Int8存储BF16计算IndexerProlog除Q_b_proj使用W8A8其他Linear均不量化Indexer Q使用A8量化Indexer Cache使用C8量化Lightning Indexer: BatchMatmtul使用Int8计算MoE路由专家使用W8A8/W4A8量化共享专家使用W8A8量化MLAEpilogO_proj使用W8A8量化LM_Head暂不量化。注 W8A8W8指权重使用静态Per-Channel Int8量化A8指数据使用动态Per-Token Int8量化 A8C8A8表示Lightning Indexer中的Q使用动态Per-Token-Head Int8量化Indexer Cache使用动态Per-Token-Head Int8量化 MLAEpilogO_proj使用W8A8量化 KVCache C8表示KVCache 使用动态Per-Token-Head-Tile-128 Int8量化量化目的本sample量化位置与Ascend硬件性能强耦合对性能瓶颈处做了竞争力的量化部署友好在当前W8A8C8量化策略下线性层的量化覆盖率较低MLA线性层中只对q_b_proj和w_o_proj进行了量化Indexer模块只量化了wq_b_proj。主要原因是IndexerProlog融合算子设计成weights_proj模块的输出格式为fp16且不做量化因此MLA输入关联的Linear统一不做量化好处是可将同一份BF16数据输入IndexerProlog和MLAProlog。其次MLAProlog KVCache的量化策略使用了动态存8算16。在超长序列情况下W8A8C8量化精度接近无损同时权重内存占用优化2倍。MLA C8算16获取内存收益可以打高吞吐量。另一方面LightningIndexer的A8C8获取计算收益降低LI计算时延TTFT和TPOT也同步优化。W4A8C8量化版本针对DeepSeek-V3.2使用基于学习的量化算法优化Clamp参数缓解W4A8离群值量化困难的问题实现了较优的量化模型精度。同时W4A8C8版本比W8A8C8节约MoE权重显存2x因此在大EP场景下利用W4A8 MoEGMM算子同一张卡可以装下更多的专家节约资源优化计算访存比实现单机部署。【免费下载链接】amctAMCT是CANN提供的昇腾AI处理器亲和的模型压缩工具仓。项目地址: https://gitcode.com/cann/amct创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考