参数列表

成员名称

描述

RmsNormParam

RMSNORM参数。

  • RMS_NORM_UNDEFINED:默认值,未定义。此默认类型不可用,用户需配置此项参数。
  • RMS_NORM_NORM:NORM参数。
  • RMS_NORM_PRENORM :PRENORM参数。
  • RMS_NORM_POSTNORM:POSTNORM参数。

PrecisionMode

PRECISIONMODE参数。

  • HIGH_PRECISION_MODE:默认值,中间计算使用float类型。
  • HIGH_PERFORMANCE_MODE:中间计算使用float16类型。

ModelType

MODELTYPE参数。

  • LLAMA_MODEL:默认值,使用Llama rmsnorm的公式。
  • GEMMA_MODEL:使用Gemma rmsnorm的公式。

layerType

归一化类型,参数如下:

  • RMS_NORM_UNDEFINED:默认值,未定义。
  • RMS_NORM_NORM:NORM参数。
  • RMS_NORM_PRENORM:PRENORM参数。
  • RMS_NORM_POSTNORM:POSTNORM参数。

normParam

NORM参数。具体请参见表1

preNormParam

PRENORM参数。具体请参见表2

postNormParam

POSTNORM参数。具体请参见表3

rsv[8]

预留参数。

表1 NormParam成员

参数

类型

默认值

描述

quantType

QuantType

QUANT_UNQUANT

量化类型。

当前支持以下类型。

  • QUANT_UNQUANT
  • QUANT_INT8

epsilon

float

1e-5

Epsilon,归一化时加在分母上防止除零。

layerNormEps

float

1e-5

Epsilon,默认为1e-5,暂时不使用。

rstd

bool

false

默认为False,设置为true时会使用训练的rmsnormforward算子。

Atlas 800I A2 推理产品/Atlas A2 训练系列产品Atlas A3 推理系列产品/Atlas A3 训练系列产品支持该算子。

不支持和“precisionMode”“modelType”同时设置。

量化场景下不支持使用“rstd”

precisionMode

PrecisionMode

HIGH_PRECISION_MODE

默认为HIGH_PRECISION_MODE。

支持参数如下:

  • HIGH_PRECISION_MODE:默认值,中间计算使用float类型。
  • HIGH_PERFORMANCE_MODE: 中间计算使用float16类型。

不支持和“rstd”“modelType”同时设置。

输入类型只支持float16。

量化场景下不支持使用“precisionMode”,该场景下配置该参数将返回报错ERROR_INVALID_PARAM。

modelType

ModelType

LLAMA_MODEL

默认为LLAMA_MODEL,设置为GEMMA_MODEL时使用gemma模型的rmsnorm计算公式。

支持参数如下:

  • LLAMA_MODEL:默认值, Llama的rms norm计算公式。
  • GEMMA_MODEL:Gemma的rms norm计算公式。

不支持和“rstd”“precisionMode”同时启用。

量化场景下不支持使用“modelType”,该场景下配置该参数将返回报错ERROR_INVALID_PARAM。

dynamicQuantType

DynamicQuantType

DYNAMIC_QUANT_UNDEFINED

动态量化类型。默认为DYNAMIC_QUANT_UNDEFINED非动态量化。当前版本暂不支持非对称动态量化。

rsv[32]

uint8_t

{0}

预留参数。

8.0.RC2及后续版本normParam不再支持quantInputScale、quantInputOffset量化参数。

表2 PreNormParam成员

参数

类型

默认值

描述

quantType

QuantType

QUANT_UNQUANT

量化类型。

当前支持以下类型。

  • QUANT_UNQUANT
  • QUANT_INT8

epsilon

float

1e-5

Epsilon,归一化时加在分母上防止除零。

hasBias

bool

false

是否叠加偏置。默认为False,当需要输入beta时设置为True。

量化场景下不支持使用“hasBias”,该场景下配置该参数将返回报错ERROR_INVALID_PARAM。

rsv[23]

uint8_t

{0}

预留参数。

8.0.RC2及后续版本PreNormParam不再支持quantInputScale、quantInputOffset量化参数。

表3 PostNormParam成员

参数

类型

默认值

描述

quantType

QuantType

QUANT_UNQUANT

量化类型。

当前支持以下类型:

  • QUANT_UNQUANT。
  • QUANT_INT8。

epsilon

float

1e-5

Epsilon,归一化时加在分母上防止除零。

hasBias

bool

false

是否叠加偏置。默认为False,当需要输入beta时设置为True。

量化场景下不支持使用“hasBias”,该场景下配置该参数将返回报错ERROR_INVALID_PARAM。

rsv[23]

uint8_t

{0}

预留参数。