From f5d74a13e61853d160cdbb84453ee0b7d62a2c6f Mon Sep 17 00:00:00 2001 From: IcyFeather Date: Fri, 19 Jul 2024 11:11:40 +0800 Subject: [PATCH] update llm benchmark proposal Signed-off-by: IcyFeather --- .../images/data_process_change.png | Bin 0 -> 54928 bytes .../llm-benchmarks/images/structure.png | Bin 0 -> 65798 bytes .../llm-benchmarks/llm-benchmarks.md | 97 +++++++++++++++++- 3 files changed, 92 insertions(+), 5 deletions(-) create mode 100644 docs/proposals/scenarios/llm-benchmarks/images/data_process_change.png create mode 100644 docs/proposals/scenarios/llm-benchmarks/images/structure.png diff --git a/docs/proposals/scenarios/llm-benchmarks/images/data_process_change.png b/docs/proposals/scenarios/llm-benchmarks/images/data_process_change.png new file mode 100644 index 0000000000000000000000000000000000000000..110eb182fc1e747d3ffd8b2bbe69d7b88b1236eb GIT binary patch literal 54928 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

{0MKMYw6=-C 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 literal 0 HcmV?d00001 diff --git a/docs/proposals/scenarios/llm-benchmarks/images/structure.png b/docs/proposals/scenarios/llm-benchmarks/images/structure.png new file mode 100644 index 0000000000000000000000000000000000000000..9f556f0c569e4c3ff365d37e2a8e68c779c68ce9 GIT binary patch literal 65798 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 literal 0 HcmV?d00001 diff --git a/docs/proposals/scenarios/llm-benchmarks/llm-benchmarks.md b/docs/proposals/scenarios/llm-benchmarks/llm-benchmarks.md index 28dec60a..5689a530 100644 --- a/docs/proposals/scenarios/llm-benchmarks/llm-benchmarks.md +++ b/docs/proposals/scenarios/llm-benchmarks/llm-benchmarks.md @@ -127,7 +127,9 @@ simple_qa 是我设计的一个简单的QA问答任务,测试集部分内容 通过LLM来回答所选答案,提取回答中的答案的方式,来与正确答案进行比对,计算acc准确率 -另外这里不同于一般的使用 `index.txt` 索引文件的方式,我实现了另外一套机制。 +另外这里不同于一般的使用 `index.txt` 索引文件的方式,我实现了另外一套机制,如图。 + +![](images/data_process_change.png) 在之前的项目中,我们需要在 `testenv.yaml` 文件中配置 `train_url` 和 `test_url` 索引文件的路径,索引文件中会放 (输入x, 期望输出y) 的文件路径,这个设计是存在一些局限性的。 @@ -184,6 +186,10 @@ OpenCompass 是一个评估大模型效果的项目,目前适配了很多的 通过这样的方式引入 OpenCompass 项目之后,我又在 `core` 目录下添加了原 OpenCompass 项目 `configs` 目录下的配置文件,并转换成 python 包的形式。这一步的目的是仍然能使用原来 OpenCompass 中的数据集配置文件。另外,我仿照 OpenCompass 的启动方式,在 Ianvs 项目根目录中添加了 `run_op.py` 来调用 OpenCompass 的 `opencompass.cli.main` 里面的 `main()` 函数启动评测。 +整理的结构设计如图: + +![](images/structure.png) + 评测数据集方面,依然需要按照 [OpenCompass Doc](https://opencompass.readthedocs.io/zh-cn/latest/get_started/installation.html#id2) 的方法下载解压数据集。 集成之后,想要对在 Ianvs 项目中的模型进行评测,只需要额外写一个 python 的配置文件,例如在 `testalgorithms` 目录下的模型文件同级目录下写一个 `op_eval.py`: @@ -353,13 +359,94 @@ cmmlu-world_religions 1d0f4b accuracy gen 2. 评估部分 - 2.1 字符串处理 + 2.1 客观评估 + + 2.1.1 字符串处理 + + 由于模型的回答可能除了真正的答案,还有很多不相关的部分,需要从回答中提取出来真正需要的答案 + + 2.1.2 评估打分 + + 给出打分的算法,算法需要直接返回分数,分数是一个json,可以有多个维度的分数 + + 2.2 主观评估 + + 2.2.1 Prompt Template - 由于模型的回答可能除了真正的答案,还有很多不相关的部分,需要从回答中提取出来真正需要的答案 + 这个 Template 是 GPT-4 这种 Judge Model 的 Prompt,需要留一个 infer_result 的字段。Judge Model 会根据这个 Prompt 来打分。 - 2.2 评估打分 + 2.2.2 获取分数 + + 从 Judge Model 的结果中获取分数,分数是一个json,可以有多个维度的分数 + + +### BenchMark 格式示例 + +BenchMark 的相关信息数据都需要设计成单独存储,以保持稳定性。 + +`data.json` + +只保存和数据本身有关的部分。 + +```json +{ + "keys": ["key1", "key2", "answer_key"], + "answer_key": "answer_key", + "data": [{"key1": "xxx", "key2": "xxx", "answer_key": "xxx"}, {"key1": "xxx", "key2": "xxx", "answer_key": "xxx"}], +} +``` + +`prompt.json` + +提供 model infer 的 prompt 模版。例如: + +```json +{ + "infer_system_prompt": "You ara a xxxx assistant.", + "infer_user_template": "Question: The question type is {type}, the question is {question}, What is the answer?", + "infer_answer_template": "The Answer is {answer_key}", + "eval_prompt_template": "The model infer answer is {infer_answer}, the reference data is {ref}, Please give a score between 1 to 10." +} +``` + +至于是使用 ZeroShot/OneShot/FewShot,其实都是用增加 chat message history 的方式,这部分由不同模型自己实现即可。 + +chat history: + +``` +chat = [ + {"role": "user", "content": "Hello, how are you?"}, + {"role": "assistant", "content": "I'm doing great. How can I help you today?"}, + {"role": "user", "content": "I'd like to show off how chat templating works!"}, +] +``` + +可以看到在这一轮 user 的问题之前,已经有了一轮 user 和 assistant 的对话。这整个 chat 是直接传给模型的。 +模型可以根据上下文进行学习。 + +举个例子,如果是 3-shot,以 HuggingFace 上的 zephyr-7b-beta 模型为例: + +```python +from transformers import AutoModelForCausalLM, AutoTokenizer + +checkpoint = "HuggingFaceH4/zephyr-7b-beta" +tokenizer = AutoTokenizer.from_pretrained(checkpoint) +model = AutoModelForCausalLM.from_pretrained(checkpoint) + +messages = [ + {"role": "system","content": "You are an expert at solving problems."}, + {"role": "user", "content": "以下是关于{_ch_name}的单项选择题,请直接给出正确答案的选项。\n题目:{{question}}\nA. {{A}}\nB. {{B}}\nC. {{C}}\nD. {{D}}"}, + {"role": "assistant", "content": "答案是{answer}。"} + {"role": "user", "content": "以下是关于{_ch_name}的单项选择题,请直接给出正确答案的选项。\n题目:{{question}}\nA. {{A}}\nB. {{B}}\nC. {{C}}\nD. {{D}}"}, + {"role": "assistant", "content": "答案是{answer}。"} + {"role": "user", "content": "以下是关于{_ch_name}的单项选择题,请直接给出正确答案的选项。\n题目:{{question}}\nA. {{A}}\nB. {{B}}\nC. {{C}}\nD. {{D}}"}, + {"role": "assistant", "content": "答案是{answer}。"} + {"role": "user", "content": "以下是关于{_ch_name}的单项选择题,请直接给出正确答案的选项。\n题目:{{question}}\nA. {{A}}\nB. {{B}}\nC. {{C}}\nD. {{D}}"}, +] +tokenized_chat = tokenizer.apply_chat_template(messages, tokenize=True, add_generation_prompt=True, return_tensors="pt") +print(tokenizer.decode(tokenized_chat[0])) +``` - 给出打分的算法 ## 时间规划