昇腾社区首页
中文
注册

文本推理样例

执行样例前请使用以下命令配置环境变量。

source /usr/local/Ascend/ascend-toolkit/set_env.sh                                 # CANN
source /usr/local/Ascend/nnal/atb/set_env.sh                                       # ATB
source /home/package/atb_models/set_env.sh                                         # ATB Models
source /usr/local/Ascend/mindie/set_env.sh                                         # MindIE

后处理性能测试样例

SMPL_PARAM="{\"temperature\":0.5,\"top_k\":10,\"top_p\":0.9,\"typical_p\":0.9,\"seed\":1234,\"repetition_penalty\":1,\"watermark\":true,\"truncate\":10}"  
benchmark \
--DatasetPath "/{模型库安装路径}/tests/modeltest/dataset/full/GSM8K" \
--DatasetType "gsm8k" \
--ModelName llama_7b \
--ModelPath "/{data}/llama_7b" \
--TestType client \
--Http https://{ipAddress}:{port} \
--Concurrency 128 \
--TaskKind stream \
--Tokenizer True \
--MaxOutputLen 512 \
--DoSampling True \
--SamplingParams $SMPL_PARAM

Client目前不支持tokenids推理模式,所以--Tokenizer不能为False。

不带后处理性能测试样例

通过--TaskKind参数区分不同Client推理模式。

  • 文本非流式推理:
    benchmark \
    --DatasetPath "/{模型库安装路径}/tests/modeltest/dataset/full/GSM8K" \
    --DatasetType "gsm8k" \
    --ModelName llama_7b \
    --ModelPath "/{data}/llama_7b" \
    --TestType client \
    --Http https://{ipAddress}:{port} \
    --Concurrency 128 \
    --TaskKind text \
    --Tokenizer True \
    --MaxOutputLen 512
  • 文本流式推理:
    benchmark \
    --DatasetPath "/{模型库安装路径}/tests/modeltest/dataset/full/GSM8K" \
    --DatasetType "gsm8k" \
    --ModelName llama_7b \
    --ModelPath "/{data}/llama_7b" \
    --TestType client \
    --Http https://{ipAddress}:{port} \
    --Concurrency 128 \
    --TaskKind stream \
    --Tokenizer True \
    --MaxOutputLen 512

精度测试样例

  • 需要开启确定性计算环境变量。
    export LCCL_DETERMINISTIC=1
    export HCCL_DETERMINISTIC=1
    export ATB_MATMUL_SHUFFLE_K_ENABLE=0
    export ATB_LLM_LCOC_ENABLE=0
  • 并发数需设置为1,确保模型推理时是1batch输入,这样才可以和纯模型比对精度。
  • 使用CEval比对精度时,MaxOutputLen应该设为20,MindIE Server的config.json文件中MaxSeqlen需要设置为3072。
  • 使用MMLU比对精度时,MaxOutputLen应该设为20,MindIE Server的config.json文件中MaxSeqlen需要设置为3600,该数据集中有约为1.4w条数据,推理耗时会比较长。
benchmark \
--DatasetPath "/{模型库安装路径}/tests/modeltest/dataset/full/CEval" \
--DatasetType "ceval" \
--ModelName llama_7b \
--ModelPath "/{data}/llama_7b" \
--TestType client \
--Http https://{ipAddress}:{port} \
--Concurrency 1 \
--MaxOutputLen 20 \
--TaskKind stream \
--Tokenizer True \
--TestAccuracy True