longbench_zh (original) (raw)

LongBench推理脚本

LongBench是一个多任务、中英双语、针对大语言模型长文本理解能力的评测基准,覆盖了多个长文本应用场景。接下来介绍LongBench评测方法。

环境配置

按照官方的requirements.txt配置环境,相关依赖复制如下:

datasets
tqdm
rouge
jieba
fuzzywuzzy
einops
torch>=2.0.1
transformers>=4.40.0

数据准备

无需单独下载数据。预测脚本会自动从 🤗 Datasets下载所需数据。

运行预测脚本

运行以下脚本进行推理:

model_path=path/to/llama-3-chinese output_path=path/to/output_dir data_class=zh with_inst="auto" max_length=7680

cd scripts/longbench python pred.py
--model_path ${model_path}
--predict_on ${data_class}
--output_dir ${output_dir}
--max_length ${max_length}
--use_flash_attention_2
--with_inst ${with_inst}

参数说明

待模型运行结束后,在${output_dir}/pred/${output_dir}/pred_e/下(取决于是否在LongBench-E上测试,即是否使用了-e)将生成各对应任务的预测文件(jsonl格式)。执行以下命令计算效果指标:

python eval.py --output_dir ${output_dir}

如果在上一步预测时使用了-e,在eval时也需提供-e参数:

python eval.py --output_dir ${output_dir} -e

计算结果存放在${output_dir}/pred/result.json${output_dir}/pred_e/result.json下。形如:

{ "lsht": 42.0, "multifieldqa_zh": 50.28, "passage_retrieval_zh": 89.5, "vcsum": 16.41, "dureader": 34.15 }