You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2.3 KiB
2.3 KiB
LLM_Evaluator
A simple program to evaluate large language model.
Recommend Requirements
- Python 3.10
- torch 1.13.1+cu117
- transformers 4.33.2
- accelerate 0.26.1
- tqdm 4.66.1
- openai 0.28
- peft 0.10.0
- google-generativeai
- pandas
- sentencepiece 0.2.0
- rouge_chinese 1.0.3
- jieba 0.42.1
需求其余文件
- 请下载GLM模型并放置于到
./THUDM/chatglm-6b
文件夹下 - 请下载GLM2模型并放置于到
./THUDM/chatglm2-6b
文件夹下 - 请下载GLM3模型并放置于到
./THUDM/chatglm3-6b
文件夹下 - 微调后的lora模型可放置于
./lora
文件夹下,可应用于ChatGLM2,例:要应用于glm2则放置于./lora/glm2
文件夹下 - 微调后的ptuning模型可放置于
./ptuning
文件夹下,可应用于ChatGLM/ChatGLM2,例:要应用于glm则放置于./ptuning/glm1
文件夹下 - 微调后的qlora/dora模型可放置于
./qlora
文件夹下,可应用于ChatGLM3,例:要应用于glm3则放置于./qlora/glm3
文件夹下 - 微调文件夹名即为参数中微调模型的名称
- 训练数据按照C-Eval格式,放置于
./data
文件夹下,文件命名和eval.py
中的subject_name
相关 - 相较于C-Eval的数据集,代码添加了'qa'的数据集,放置于
./data/qa
文件夹下,为非选择题的问答数据集。
Run
运行模型评估程序:
python eval.py --model_name chatglm3 --finetune qlora1 --finetune_method qlora --few_shot --ntrain 5 --cuda_device 0
对结果文件使用大模型和ROUGE进行评估,请自行修改文件内的路径:
python test.py --openai_key [your-api-key]
Arguments(eval.py)
--model_name
: 模型名称,可选chatglm
、chatglm2
、chatglm3
、gpt-3.5-turbo
--cuda_device
: GPU编号--finetune
: 微调模型名称,为放置于lora/ptuning
文件夹下的文件夹名--few_shot
: 使用少量数据进行微调(可选)--ntrain
: 少量数据的数量(可选)--cot
: 使用思维链(可选)--finetune_method
: 微调方法,可选lora
、ptuning
、qlora
、dora
--finetune
: 微调文件夹名称,会自动寻找对应位置--openai_key
: OpenAI API Key, 调用OpenAI API进行评估或评估gpt模型需要使用