A tool designed to evaluate the performance of large language models on mathematical tasks.
Project description
LLM-Math
基于 math-evaluation-harness 改造的 plug-and-play 数学评测包.
Usage
-
set_seed(seed)
设置全局种子.
-
basic_check(A, B)
检查 A, B 两个纯数学表达式是否一致,返回 True / False.
-
check(prompt_type, data_name, target, pred)
检查 pred 是否与 target 一致,返回 True / False. target 即为数据集的某一行.
-
engine = MathEval(model_path, args)
加载模型,args 为加载参数,见 vllm.LLM.
-
engine.set_sampling_args(args)
设定推理参数,再次使用该命令可更新参数,见 vllm.SamplingParams.
-
results = engine.generate(inputs)
进行批量推理.
-
results = engine.chat(messages)
进行单次对话.
-
engine.test(datasets=["gsm8k", "math"], prompt_type="direct", args)
进行评测. 可用的参数:
prompt_type="cot"
: prompt 的类型设置.split="test"
: 测试集的选取.num_test_sample=-1
, 随机选取进行测试的数量.shuffle=True
, 是否随机打乱测试集.save_outputs=True
, 是否保存模型输出.
-
支持的 prompt 类型:
tool-integrated
,direct
,cot
,pal
,self-instruct
,self-instruct-boxed
,tora
,wizard_zs
,platypus_fs
,deepseek-math
,kpmath
. -
支持的数据集:
gsm8k
,math
,svamp
,asdiv
,mawps
,tabmwp
,mathqa
,mmlu_stem
,sat_math
.
Notes
-
模型需支持 vLLM.
-
在
set_sampling_args
中设定的 stop_word 在test
中不起作用. -
由于设置全局种子也会设定模型加载和推理的种子,所以模型加载和推理时不需要再次设定种子.
-
tensor_parallel_size
默认设为torch.cuda.device_count()
.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.