Intro:
A toolkit to evaluate and find the best combination of LLM parameters.
One only needs to edit the config file to run [Perf, Acc, PerfTunning, PerfAnalysis].
Usage:
python3 run.py --config ./config/config.yaml
Must set the following items in the config, other items can be filled as needed:
- Model: model_name, model_path, tokenizer_path.
- MetricType: select from [Perf, Acc, PerfTunning, PerfAnalysis].
- EvalTool: select from [BenchmarkTest, BenchmarkServing, OpenCompass, lm_eval, EvalScope].
- InferType: select from [offline, serving].
Functions:
- Perf: BenchmarkTest, BenchmarkServing, Evalscope
- Acc: OpenCompass, BenchmarkTest, lm_eval
- PerfTunning:
(1) BenchmarkTest(tunning params: num_prompts + EngineArgs).
(2) BenchmarkServing (tunning params: request_rate, num_prompts + EngineArgs).
Notes:
- PerfTunning only supports grid searching with given min max. Possibly add other methods (bisection...).