---
title: 约束说明
description: "- ntokens = sum(seqlen[i])，i=0、1...batch-1。"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/API/ascendtb/ascendtb_01_0231.html
sourcePath: /source/zh/canncommercial/900/API/ascendtb/ascendtb_01_0231.html
indexId: 807e4bbf9aaf28f6c3023d253b728f3c74cea42db1aa094de788f025052e41ef64
---
# 约束说明

- ntokens = sum(seqlen[i])，i=0、1...batch-1。
- Atlas 推理系列产品上有如下约束：

  - 不支持压缩功能。
  - 数据格式标明有NZ的需为NZ格式。
  - keyCache和valueCache的维度需为[num_blocks, num_head*head_size/16, block_size, 16]，其中最后一维必须为16，block_size需16对齐。
  - kvCacheCfg配置为K_CACHE_V_CACHE或K_CACHE_V_CACHE_NZ时，数据格式均为NZ。
  - head_size大小需要满足32字节对齐。
- 在key和value最后一维不同的情况下只支持Atlas A2 训练系列产品 / Atlas A2 推理系列产品和Atlas A3 推理系列产品 / Atlas A3 训练系列产品，此场景下keyCache、valueCache、keyCacheOut、valueCacheOut只支持ND格式。
- key、value、keyCache、valueCache、keyCacheOut 、valueCacheOut的数据类型都必须完全一致。
- keyCache、valueCache和keyCacheOut 、valueCacheOut的数据格式必须一致。
- 单入单出功能只支持Atlas A2 训练系列产品 / Atlas A2 推理系列产品和Atlas A3 推理系列产品 / Atlas A3 训练系列产品，且不支持压缩场景。
- 压缩场景下cache的大小要大于压缩后的大小。
- 不开启多头压缩功能场景下，Atlas 200I/500 A2 推理产品上NZ格式下仅支持float16数据类型。
- 开启支持输入转NZ格式功能场景下，有如下约束：

  - 只支持Atlas A2 训练系列产品 / Atlas A2 推理系列产品和Atlas A3 推理系列产品 / Atlas A3 训练系列产品。
  - 支持key、value数据不等长功能，即key、value最后一维可以不相等。
  - key、value的数据类型可以不相同。
- 开启rope场景下的多头压缩功能，head_size最大不能超过16×1024。
