昇腾社区首页
中文
注册

精度测试

  1. 精度测试和性能测试前,请先重开一个窗口中进入容器,并参见前提条件设置环境变量。
  2. 以下精度测试以lm-eval工具通过离线数据测试vLLM在线服务为例,也可以根据实际情况使用其他工具,如开源的精度工具OpenCompass等,更多精度工具请参考vllm-ascend
  1. 安装lm-eval及其相关依赖。
    pip install tenacity datasets lm-eval
  2. 以GSM8K数据集为例,执行如下命令下载GSM8K数据集,数据集默认下载保存路径为“/root/.cache/huggingface/datasets”。
    export HF_ENDPOINT=https://hf-mirror.com
    lm_eval  --model vllm --model_args pretrained={模型路径}/Qwen2.5-7B-Instruct,max_model_len=4096,block_size=4,tensor_parallel_size=1 --tasks gsm8k  --batch_size 8
  3. 修改“lm_eval/tasks/gsm8k/gsm8k.yaml”文件,请参考链接
  4. 执行如下命令启动服务:
    python -m vllm.entrypoints.openai.api_server --model=/{模型路径}/Qwen2.5-7B-Instruct --enforce-eager -tp 4 --port 8000 --block-size=128
  5. 精度测试样例如下所示:
    lm_eval --model local-completions  --model_args "model=/{模型路径}/Qwen2.5-7B-Instruct,base_url=http://127.0.0.1:8000/v1/completions,tokenized_requests=False, max_tokens=256"   --tasks gsm8k   --output_path ./

    精度测试结果如下所示:

    1
    2
    3
    4
    |Tasks|Version|     Filter     |n-shot|  Metric   |   |Value |   |Stderr|
    |-----|------:|----------------|-----:|-----------|---|-----:|---|-----:|
    |gsm8k|      3|flexible-extract|     5|exact_match|↑  |0.2798  |0.0124|
    |     |       |strict-match    |     5|exact_match|↑  |0.2259  |0.0115|