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.
This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.
# 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模型](https://hf-mirror.com/THUDM/chatglm-6b)并放置于到`./THUDM/chatglm-6b`文件夹下
- 请下载[GLM2模型](https://hf-mirror.com/THUDM/chatglm2-6b)并放置于到`./THUDM/chatglm2-6b`文件夹下
- 请下载[GLM3模型](https://hf-mirror.com/THUDM/chatglm3-6b)并放置于到`./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
运行模型评估程序:
```bash
python eval.py --model_name chatglm3 --finetune qlora1 --finetune_method qlora --few_shot --ntrain 5 --cuda_device 0
```
对结果文件使用大模型和ROUGE进行评估, 请自行修改文件内的路径:
```bash
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模型需要使用