---
title: 多头自适应压缩（alibi场景）
description: "alibi mask场景下，对kv的 head_num维度进行压缩，提高内存利用率，精度不变。"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/API/ascendtb/ascendtb_01_0204.html
sourcePath: /source/zh/canncommercial/900/API/ascendtb/ascendtb_01_0204.html
indexId: 237c390b1f296fa259aeda5eb053e6d0fa1bf3e41f053940ba07ea835d8c844864
---
# 多头自适应压缩（alibi场景）

#### 功能说明

alibi mask场景下，对kv的 head_num维度进行压缩，提高内存利用率，精度不变。

又名Razor Attention。


#### 开启方式

参数“compressType”置为COMPRESS_TYPE_KVHEAD。

若干输入tensor需要传入指定的维度，如下：

| 参数 | 维度 | 数据类型 | 格式 | cpu or npu |
| --- | --- | --- | --- | --- |
| query | [num\_tokens \* kv\_head\_num, num\_head / kv\_head\_num, head\_size] | float16/bf16 | ND | npu |
| keyCache | [num\_blocks, block\_size, 1, head\_size] | float16/bf16/int8 | ND | npu |
| valueCache | [num\_blocks, block\_size, 1, head\_size] | float16/bf16/int8 | ND | npu |
| blockTables | [num\_tokens \* kv\_head\_num, max\_num\_blocks\_per\_query] | int32 | ND | npu |
| contextLens | [batch \* num\_head] | int32 | ND | cpu |
| attnOut | [n\_tokens, num\_head, head\_size] | float16/bf16 | ND | npu |


#### 约束说明

不支持 Atlas 推理系列产品 。

需与ReshapeAndCache算子的相应功能配合使用。
