昇腾社区首页
中文
注册

自动比对能力

提供有精度问题的模型数据与标杆模型数据之间的自动比对能力。

使用方式

ait llm compare --golden-path xx --my-path xx [可选参数]

参数说明

参数名

参数说明

是否必选

--golden-path, -gp

标杆数据路径,支持单个数据路径或文件夹。

--my-path, -mp

待比较的数据路径,支持单个数据文件或文件夹。

--op-mapping-file, -mf

算子类型映射关系文件路径,加速库模型与torch模型比对场景下按需提供。

--output, -o

比对结果csv的输出路径。

--log-level, -l

日志级别,默认为info,可选值有:debug, info, warning, warn, error。

支持场景

  • 单个Tensor文件之间的自动比对,Tensor文件格式支持加速库转储的bin文件、torch.save以及numpy.save的文件,使用示例如下。
    ait llm compare -gp xx.pth -mp xx.bin
  • 加速库模型与torch模型之间的自动比对,具体使用请参考自动映射比对使用说明
  • 加速库模型(浮点)与加速库模型(量化)之间的自动比对。
  • 加速库模型组图不变,不同batch_size、dtype、运行版本等变量下的自动比对。

结果分析

  • 生成的csv报告如下:
    图1 比对结果
  • csv各列名称解释如下:
    表1 字段说明

    字段

    含义

    token_id

    token id。

    data_id

    数据id。

    golden_data_path

    标杆数据的路径。

    golden_dtype

    标杆数据的Dtype。

    golden_shape

    标杆数据的Shape。

    golden_max_value

    标杆数据的最大值。

    golden_min_value

    标杆数据的最小值。

    golden_mean_value

    标杆数据的平均值。

    my_data_path

    待比较数据的路径。

    my_dtype

    待比较数据的Dtype。

    my_shape

    待比较数据的Shape。

    my_max_value

    待比较数据的最大值。

    my_min_value

    待比较数据的最小值。

    my_mean_value

    待比较数据的平均值。

    cosine_similarity

    余弦相似度。

    max_relative_error

    最大相对误差。

    mean_relative_error

    平均相对误差。

    max_absolute_error

    最大绝对误差。

    mean_absolute_error

    平均绝对误差。

    kl_divergence

    kl散度。

    relative_euclidean_distance

    欧式相对距离。

    cmp_fail_reason

    比对失败的原因。

  • 比对算法解释如下:
    表2 比对算法

    比对算法名称

    说明

    cosine_similarity

    进行余弦相似度算法比对出来的结果。取值范围为[-1, 1],比对的结果如果越接近1,表示两者的值越相近,越接近-1意味着两者的值越相反。

    max_relative_error

    表示最大相对误差。取值范围为[0, +∞),值越接近于0,表明越相近,值越大,表明差距越大。

    mean_relative_error

    表示平均相对误差。取值范围为[0, +∞),值越接近于0,表明越相近,值越大,表明差距越大。

    max_absolute_error

    表示最大绝对误差。取值范围为[0, +∞),值越接近于0,表明越相近,值越大,表明差距越大。

    mean_absolute_error

    表示平均绝对误差。取值范围为[0, +∞),值越接近于0,表明越相近,值越大,表明差距越大。

    kl_divergence

    表示kl散度。取值范围为[0, +∞),值越接近于0,表明越相近,值越大,表明差距越大。

    relative_euclidean_distance

    进行欧氏相对距离算法比对出来的结果。取值范围为[0, +∞),值越接近于0,表明越相近,值越大,表明差距越大。