zhiminy/EvalEng huggingface dataset:
Repository: google-deepmind/meltingpot
Issue: `daycare` substrate has test failures in Lua 5.1
Root cause: Environment Incompatibility

The new `daycare` environment released as part of 2.0.0 has test failures when run using Lua 5.1.

```
def reset(self):
      """See base class."""
      self._reset_next_step = False
>     self._env.start(self._next_episode, seed=self._rng.randint(0, 2**31))
E     ValueError: Failed to start: 
E     ERROR: [./meltingpot/lua/modules/component_library.lua:261](https://cs.corp.google.com/piper///depot/google3/meltingpot/lua/modules/component_library.lua?l=261&cl=490963106): Error: Must call Transform:start(...) before Transform:getPiece().
E     stack trace-back:
E     ERROR: [C]: in function 'assert'
E     ERROR: @[./meltingpot/lua/modules/component_library.lua:261](https://cs.corp.google.com/piper///depot/google3/meltingpot/lua/modules/component_library.lua?l=261&cl=490963106):
E     ERROR: (tail call): in function ''
E     ERROR: @[./meltingpot/lua/modules/component_library.lua:197](https://cs.corp.google.com/piper///depot/google3/meltingpot/lua/modules/component_library.lua?l=197&cl=490963106): in function 'setState'
E     ERROR: @[./meltingpot/lua/modules/game_object.lua:562](https://cs.corp.google.com/piper///depot/google3/meltingpot/lua/modules/game_object.lua?l=562&cl=490963106): in function 'setState'
E     ERROR: @/Volumes/BuildData/tmpfs/src/git/meltingpot//[meltingpot/lua/levels/daycare/components.lua:384](https://cs.corp.google.com/piper///depot/google3/meltingpot/lua/levels/daycare/components.lua?l=384&cl=490963106): in function 'spawn'
E     ERROR: @/Volumes/BuildData/tmpfs/src/git/meltingpot//[meltingpot/lua/levels/daycare/components.lua:389](https://cs.corp.google.com/piper///depot/google3/meltingpot/lua/levels/daycare/components.lua?l=389&cl=490963106): in function 'start'
E     ERROR: @[./meltingpot/lua/modules/game_object.lua:423](https://cs.corp.google.com/piper///depot/google3/meltingpot/lua/modules/game_object.lua?l=423&cl=490963106): in function 'func'
E     ERROR: @[./meltingpot/lua/modules/game_object.lua:160](https://cs.corp.google.com/piper///depot/google3/meltingpot/lua/modules/game_object.lua?l=160&cl=490963106): in function '_doOnAllComponents'
E     ERROR: @[./meltingpot/lua/modules/game_object.lua:420](https://cs.corp.google.com/piper///depot/google3/meltingpot/lua/modules/game_object.lua?l=420&cl=490963106): in function 'start'
E     ERROR: @[./meltingpot/lua/modules/base_simulation.lua:462](https://cs.corp.google.com/piper///depot/google3/meltingpot/lua/modules/base_simulation.lua?l=462&cl=490963106): in function 'start'
E     ERROR: @[./meltingpot/lua/modules/api_factory.lua:100](https://cs.corp.google.com/piper///depot/google3/meltingpot/lua/modules/api_factory.lua?l=100&cl=490963106):
```

We have seen similar errors in Lua 5.2 (https://github.com/deepmind/meltingpot/issues/24).

The tests all pass under LuaJIT (which we use internally), but `dmlab2d` has not got LuaJIT working for `arm64` Macs.

This means that the `daycare` substrate is currently not useable for `arm64` Macs.
Repository: google-deepmind/meltingpot
Issue: Horizon setting in examples
Root cause: Documentation Deficiency

Hi @jzleibo , in the self_play_train.py in examples, is there any suggestion for setting the config parameters:

num_workers = 1
rollout_fragment_length = 30
train_batch_size = 200
horizon = 200

The horizon is set to 200, but the "allelopathic_harvest" scenario lasts 2000 steps. Why not set the horizon to 2000?

This was an oversight on our part. A fix is in flight. Thanks for pointing it out!
Repository: google-deepmind/meltingpot
Issue: Can you run the example code?
Root cause: External Dependency Breakage

I cannot run the example code both rllib and pettingzoo. The pettingzoo code raises TypeError: build() missing 1 required keyword-only argument: 'roles'. and rllib code raise ModuleNotFoundError: No module named 'ray.rllib.agents.registry'. Anyone run the code successfully?

> I cannot run the example code both rllib and pettingzoo. The pettingzoo code raises TypeError: build() missing 1 required keyword-only argument: 'roles'. and rllib code raise ModuleNotFoundError: No module named 'ray.rllib.agents.registry'. Anyone run the code successfully?

This problem occurs in version 2.0. If you return to version 1, this problem will not occur. You can debug the parameters.

Yes, I'm working on it! 😊

On Sat, 3 Dec 2022, 12:16 John Agapiou, ***@***.***> wrote:

> Assigned #90 <https://github.com/deepmind/meltingpot/issues/90> to @duenez
> <https://github.com/duenez>.
>
> —
> Reply to this email directly, view it on GitHub
> <https://github.com/deepmind/meltingpot/issues/90#event-7946121548>, or
> unsubscribe
> <https://github.com/notifications/unsubscribe-auth/AAY7XEPQFUKPFYWZAB6FTA3WLM2YVANCNFSM6AAAAAASSNR2TE>
> .
> You are receiving this because you were assigned.Message ID:
> ***@***.***>
>


The RLLib example has been updated. I have not fixed the PettingZoo example yet, so if someone knows the framework and is willing to contribute it, that would be great!
Repository: hkust-nlp/ceval
Issue: 为什么不评估zero-shot的性能呢
Root cause: Unimplemented Feature Gap

您好，非常棒的工作。几个问题：
1. 只有five-shot的评估，five-shot的选择和顺序，不同的few-shot 对结果的影响 有进一步分析么
2. 有zero-shot的评估么，
3. 后续会提供 人工的cot 过程么？以及 是否发布一定量的train-dataset

顺便问一下，后续会提供val的评测对比吗（因为test必须提交才能看到分数），val评测结果同test差异有多大


感谢各位兴趣哈，以下是我们的回复：

> 只有five-shot的评估

我们在第一个版本首先关注few-shot因为 1. 我们认为大模型的in-context learning能力很重要; 2. few-shot更容易测出模型*潜力*，尤其是没有经过instruction tuning的模型可能无法很好follow zero-shot instruction。我们倾向于认为few-shot场景下强的模型可以经过简单的instruction tuning把相关能力反映在zero-shot和few-shot的下游任务中（比如LLaMA在MMLU上的表现）；3. 参考了英文MMLU的数据集广泛被应用于five-shot测试；4. few-shot使模型follow固定格式回答问题这样测试更标准，避免了因为提取不出答案误判

> five-shot的选择和顺序，不同的few-shot 对结果的影响 有进一步分析么

这个我们没有做进一步分析，我们就是按照dev split公开的5个样本作为few-shot，顺序就是按照数据集默认的顺序

> 有zero-shot的评估么

在计划添加zero-shot的评估

> 后续会提供 人工的cot 过程么？以及 是否发布一定量的train-dataset

dev里面的数据有人工cot，paper里有详细描述我们怎么做的。我们没有train dataset，不过[这里](https://github.com/FlagOpen/FlagInstruct)的中文instruction tuning数据集包含了一些初高中和公务员的多选题，也许有帮助

> 后续会提供val的评测对比吗（因为test必须提交才能看到分数），val评测结果同test差异有多大

Paper里有val的评测对比，结论是同test差异不太大

已经添加zero-shot的评估结果
Repository: hkust-nlp/ceval
Issue: 疑问：是否对齐不同模型之间结果
Root cause: Documentation Deficiency

您好，很棒的开源评测基准数据，有几处疑问感觉不同模型结果没有严格对齐

1.  chatGLM 和 minimax 和 Moss ChatGPT  cot 答案解析中正则匹配不一致，严格程度不同，这可能对结果有比较大的影响。模型生成非标准答案文本时（如"选xx"）究竟算作对还是错。
2. 最大长度是怎么处理的，一些学科答案过长，moss 等本地推理的模型没有做截断操作，而生成长度设为 2040-inputs.input_ids.shape[1] 可能=0 ，导致部分学科分数偏低。
3. 能否放出其他模型各单项结果，以便分析对比某一专业能力

感谢提问！以下是我们的回复：

> 1. chatGLM 和 minimax 和 Moss ChatGPT cot 答案解析中正则匹配不一致，严格程度不同，这可能对结果有比较大的影响。模型生成非标准答案文本时（如"选xx"）究竟算作对还是错。  

我们通过正则表达式尽可能cover了所有的pattern，在提取答案的时候我们有计算“提取成功率”，确保了几乎100%的题目我们都有提取出答案选项。无法提取出答案的情况确实cot要多一些，但很多时候这种情况是因为cot自己并没有回答问题。我们的原则是要尽可能去提取出答案，不要出现“误判”

> 2. 最大长度是怎么处理的，一些学科答案过长，moss 等本地推理的模型没有做截断操作，而生成长度设为 2040-inputs.input_ids.shape[1] 可能=0 ，导致部分学科分数偏低。

在answer-only的场景下所有模型都几乎没有长度的问题，cot的场景下很多模型确实出现了长度问题，这主要是因为我们做的five-shot。我们的方式是动态调整shot的数量来适应长度限制，比如moss在高等数学这样的科目上我们做cot只用了one-shot。受到影响的科目不多，只有少数高数、概率统计、法学等cot很长的科目。我们目前也在测zero-shot的结果，zero-shot下应该就几乎没有长度问题了。

> 3. 能否放出其他模型各单项结果，以便分析对比某一专业能力

在我们网站的leaderboard上的所有模型的单项结果都可以看到（点击对应模型名字即可）：https://cevalbenchmark.com/static/leaderboard.html

明白了，感谢解答！我们在自己模型评估时出于对齐的考虑，没有针对模型答案匹配、全部 5-shot，发现了以上问题。目前采用灵活处理 cot 情况，样本左侧截断。为了直接和公开其他模型数据对比，请问这里方便给出哪些任务采用了 one-shot 处理吗？

> 比如moss在高等数学这样的科目上我们做cot只用了one-shot。受到影响的科目不多，只有少数高数、概率统计、法学等cot很长的科目。


不同模型其实不一样，因为有些模型可以用更长的context我们就没有用one-shot，我们是动态调整的，并没有统一这一点。我们用one-shot的case应该基本是高数、概率统计、法学这三个cot很长的科目
Repository: hkust-nlp/ceval
Issue: Chinese Alpaca-13B怎么会比Chinese LLama-13B 效果差呢？

Alpaca还经过了指令微调，按理来说不应该比llama差呀

在Alpaca数据集上的指令微调我们认为只是增强了模型理解并follow zero-shot instruction的能力，并没有实质学到新的ceval需要的能力（alpaca数据集应该是不太包括ceval考核的相关知识）。再加上我们目前的结果是few-shot结果，alpaca的微调方式我们认为一定程度上牺牲了few-shot in-context learning的能力。
Repository: hkust-nlp/ceval
Issue: [Enhancement]: 有计划把ceval集成在openai的evals框架下面吗
Root cause: Unimplemented Feature Gap

非常好的开源评测基准，有计划把ceval集成在openai的evals框架下面吗，这样可能会减少学习成本

我们看了一下集成到openai的evals似乎需要同时release我们的test labels，但是我们暂时没有release test labels的计划

谢谢回复，比如用validation labels做验证呢，不用test labels。

我们认为目前已经覆盖了最常见的两种使用方式，因此没有相关的计划，感谢您的建议

@rgtjf 不好意思，我们重新讨论了一下，使用validation labels做验证加到openai evals应该是可行且值得做的，最近我们会尝试集成一下，会把更新post到这里，敬请期待~

> @rgtjf 不好意思，我们重新讨论了一下，使用validation labels做验证加到openai evals应该是可行且值得做的，最近我们会尝试集成一下，会把更新post到这里，敬请期待~

请问目前是否有相关进展呢

我们把ceval加在了[lm-evaluation-harness](https://github.com/EleutherAI/lm-evaluation-harness)下，欢迎体验。
Repository: hkust-nlp/ceval
Issue: 提交文件的疑惑
Root cause: Documentation Deficiency

请问下，我看测试题目都是选择题。是手动将模型的输出结果转化为选项，然后再提交的吗？模型输出通常不止包含选项。

是的，因为不同的模型输出风格都不太一样，所以需要自己从模型的输出中提取出答案选项再提交。我们评测的时候是通过正则表达式提取答案的，确保了几乎100%的题目都可以提取出答案选项

> 是的，因为不同的模型输出风格都不太一样，所以需要自己从模型的输出中提取出答案选项再提交。我们评测的时候是通过正则表达式提取答案的，确保了几乎100%的题目都可以提取出答案选项

@jxhe 请问这个正则表达式能否提供下呢？

答案抽取可以参考evaluator中的代码：https://github.com/SJTU-LIT/ceval/blob/aa73be2bccf016297b09508cad7cc226b9b91e0e/code/evaluator_series/evaluators/chatglm.py#L73
这个函数中使用了正则表达式抽取，同时若答案中只存在一个选项字母/完整选项内容也会判定为答案。实际使用时如果使用这些提取率还是很低可能需要观察一下模型是不是有其他的常见输出模式，可以一并添加到answer_pattern里。

感谢
Repository: hkust-nlp/ceval
Issue: 测试结果的波动
Root cause: Documentation Deficiency

你好，我尝试测试了下val的准确率，但是由于模型生成时是采样的形式，所以准确率会出现波动。你们在测试时有发现这个现象吗？

我们基本都是用的greedy decoding，随机性较小

> 我们基本都是用的greedy decoding，随机性较小

@jxhe 请问你们有对比过sample形式的吗？是否发现greedy比sample的结果要好？

我们用chatgpt在几个科目上做过对比是greedy更好，这里也参照了MMLU官方的测试代码是用的greedy decoding: 

https://github.com/hendrycks/test/blob/4450500f923c49f1fb1dd3d99108a0bd9717b660/evaluate.py#L67

Greedy decoding 可以被认为是国际标准做法，GSM8K, BBH, MMLU, MATH 都是这么做的
https://github.com/FranxYao/chain-of-thought-hub/tree/main

在大部分数据集上， Greedy decoding 一般都会比 sample 好一些（但不多） -- 起决定性作用的还是基础模型的能力
Repository: hkust-nlp/ceval
Issue: prompt不同的疑惑？
Root cause: Documentation Deficiency

比较了chatglm和moss这2个本地LLM的eval代码，从代码看，Prompt会有所不同，这会对结果有影响吗？
另外代码中没有看到Chinese-Alpaca-13B的eval代码，这部分是没有公开吗？

主要的结构是一样的。但是，MOSS官方示例中包含meta_instruction的部分，因此我们也添加了这部分内容（与openai的system message 相似）。而chatglm并不包含类似内容，因此两者略有不同，但是主体一致。
Repository: hkust-nlp/ceval
Issue: 为什么leadbord中模型的结果比之前好很多呢？
Root cause: Documentation Deficiency

https://cevalbenchmark.com/static/leaderboard.html
为什么leadbord里的结果比readme里的结果突然变高了很多呢？

部分经过了SFT的模型zero shot性能会优于few shot。leadboard里按照最高的结果更新了一版。

> 部分经过了SFT的模型zero shot性能会优于few shot。leadboard里按照最高的结果更新了一版。

@DaoD 那zero shot方式的话，模型回答的答案好提取吗？是不是正则要写更多？

我刚刚提了个issue #18 问他们这个问题


部分模型的zero-shot答案提取还行，比如chatgpt和moss等都是直接输出了答案token，可以做到几乎100%的提取准确率，gpt-4通过正则表达式也可以做到几乎100%。如果开发者测试自己模型时发现zero-shot很难提取的话，我们推荐直接计算下个token预测"A","B","C","D"的概率选最大的那个作为答案，[MMLU的官方测试代码](https://github.com/hendrycks/test/blob/4450500f923c49f1fb1dd3d99108a0bd9717b660/evaluate.py#L88)就是这么做的，我们对于GLM130B, chatGLM, LLaMA等模型也是这么计算的。

> 部分模型的zero-shot答案提取还行，比如chatgpt和moss等都是直接输出了答案token，可以做到几乎100%的提取准确率，gpt-4通过正则表达式也可以做到几乎100%。如果开发者测试自己模型时发现zero-shot很难提取的话，我们推荐直接计算下个token预测"A","B","C","D"的概率选最大的那个作为答案，[MMLU的官方测试代码](https://github.com/hendrycks/test/blob/4450500f923c49f1fb1dd3d99108a0bd9717b660/evaluate.py#L88)就是这么做的，我们对于GLM130B, chatGLM, LLaMA等模型也是这么计算的。

@jxhe 请问能提供下chatGLM zero-shot的测试代码吗？

已更新，具体位置在这里（简单改写了chatglm原有的generate_dist函数）：https://github.com/SJTU-LIT/ceval/blob/558edaaa177e0e6f58d9839b63684dfbc884fe0a/code/evaluator_series/evaluators/chatglm.py#L43
Repository: hkust-nlp/ceval
Issue: 6.8更新了结果，对应的测试代码是否有变化？
Root cause: Documentation Deficiency

您好，看到您在6.8更新了结果，部分模型从few-shot变为zero-shot后性能提升了，想问一下这部分的代码是否已经更新到repo里了？

谢谢！

openai和moss的zero-shot测试代码已经上传
Repository: hkust-nlp/ceval
Issue: 支持通过huggingface + lora加载llama系列模型
Root cause: Unimplemented Feature Gap

你好
现有的基于llama的架构测试使用的是meta官方的仓库代码，请问会支持huggingface加载模型的测试方法吗，特别是加载huggingface+lora的结果，对于测试和对比指令微调过后系列的模型能力会方便一些

我们正在将ceval集成到 [lm-evaluation-harness](https://github.com/EleutherAI/lm-evaluation-harness) 中，届时应该可以参考lm-evaluation-harness来测试hf中的模型，敬请期待

https://github.com/hkust-nlp/ceval#use-through-evaluation-harness
Repository: hkust-nlp/ceval
Issue: 测试环境
Root cause: Environment Incompatibility

请问测试使用的什么类型的机器呀？目前我是Tesla V100-SXM2-32GB 跑不起来llama的测试代码，13B/65B都测试过了。

已经解决

怎么解决的呢

> 怎么解决的呢

看你遇到什么问题了？
Repository: hkust-nlp/ceval
Issue: test数据集为什么没有提供answer答案一列呢
Root cause: Documentation Deficiency

var和dev目录下的数据集有answer一列，但test数据集没有

test:
<img width="1247" alt="image" src="https://github.com/SJTU-LIT/ceval/assets/2770205/c8c46fa2-a2c5-43b8-b604-f11607fbaf1d">

var:
<img width="846" alt="image" src="https://github.com/SJTU-LIT/ceval/assets/2770205/06a07376-6cec-429c-a65b-3d38e7c8c513">


因为我们不公布test labels，用户需要提交预测到我们的网站获得test set的结果
Repository: hkust-nlp/ceval
Issue: prompt大于max_len时的处理方式？
Root cause: Validation Gap

在验证llama效果
请教一下5-shot情况下，部分subject的prompt的token数大于2048的情况下，是怎么处理的呢？看llama.py的代码里貌似没有相关的逻辑且会报错


复现：
torchrun --nproc_per_node 1 code/evaluator_series/eval_llama.py --ckpt_dir [ckpd dir] --param_size 7 --few_shot --ntrain 5 --subject logic

File "~/ceval/code/evaluator_series/evaluators/llama.py", line 109, in generate
    tokens[0, : prompt_size] = torch.tensor(prompt_tokens).long()
RuntimeError: The expanded size of the tensor (2048) must match the existing size (2318) at non-singleton dimension 0.  Target sizes: [2048].  Tensor sizes: [2318]

这种情况在非cot测试的setting下应该几乎没有。具体出现的时候我们是会dynamically减少few-shot的数量来fit context window
Repository: hkust-nlp/ceval
Issue: 请问hf格式的llama模型有公开的测试代码吗


目前我们在将ceval集成到 [lm-evaluation-harness](https://github.com/EleutherAI/lm-evaluation-harness) 中，敬请期待。

> 目前我们在将ceval集成到 [lm-evaluation-harness](https://github.com/EleutherAI/lm-evaluation-harness) 中，敬请期待。

请问预计什么时候呢？谢谢！

我们已经在[lm-evaluation-harness](https://github.com/EleutherAI/lm-evaluation-harness)中发起了PR，正在等待merge: https://github.com/EleutherAI/lm-evaluation-harness/pull/664

> > 目前我们在将ceval集成到 [lm-evaluation-harness](https://github.com/EleutherAI/lm-evaluation-harness) 中，敬请期待。
> 
> 
> 
> 请问预计什么时候呢？谢谢！

已经完成merge！参考：https://github.com/EleutherAI/lm-evaluation-harness/blob/master/docs/task_table.md
Repository: hkust-nlp/ceval
Issue: 能支持下最新出的baichuan-7B模型吗
Root cause: Unimplemented Feature Gap

王小川公司最近推出了baichuan-inc/baichuan-7B模型，据说比chatglm更好，能否更新升级ceval，支持该模型的测试

这是测试数据，与模型有什么关系？
Repository: hkust-nlp/ceval
Issue: 请问下这个结论是根据哪些观察得来的？

单个科目平均只有 200-300 道题，所以在这上面效果超过 5 个点才能算显著；总的科目有 15k 的题目，这上面效果超过 2 个点可以认为显著


emm其实这个比较主观，属于经验之谈和主观感受 (maybe don't take it too seriously, sorry : )
Repository: hkust-nlp/ceval
Issue: Why chatglm2-6b score is higher than gpt-4 in your leaderboard？
Root cause: Documentation Deficiency

Hi, I see on your leaderboard that chatglm-6b has a higher score than gpt-4, I don't think it's true after experiencing chatglm2-6b, so I wonder if your method of calculating the score can be fair Ability to assess LLM? Sorry for my blunt and almost offensive expression, but I think it is misleading, some people think that the rank1 model in your leaderboard is the sota model so far, but this is not actually true.
<img width="765" alt="image" src="https://github.com/SJTU-LIT/ceval/assets/17317538/5d0b2db7-62d8-4c46-9956-cea0d633bd26">


1. The rank0 model is not ChatGLM2-6B, it is ChatGLM2. We don't know the model size of ChatGLM2 (but assumably much larger than 6B ), its weights are not public, its interface may not yet be open to beta test either -- thus you may not experience the rank0 model
2. ChatGLM2-6B is also on our leaderboard, it underperforms ChatGPT
3. C-Eval is a Chinese test and a lot of the questions are about knowledge in a Chinese context, I don't think it is very surprising that GPT-4 is not that good on Chinese knowledge. ChatGLM2 actually underperforms GPT-4 on C-Eval Hard -- if you look at their scores on specific subjects, GPT-4 is still much better on complex, STEM subjects
4. C-Eval leaderboard, along with many other leaderboards, should be viewed with caution, different benchmarks are assessing different abilities -- ALL the public leaderboards that we know have their own limitations. 
5. We emphasize that we create C-Eval to help model development, not to rank models. We do not stand any position on the model ranking

Sorry for my misunderstanding about the chatglm 2 version at rank 0, thanks for the explanation.
Repository: hkust-nlp/ceval
Issue: 想参与annotation工作，以前是高中物理老师，现在香港读MPhil，求捞

1. 本人去年刚来香港读MPhil（刚准备转PhD），大论文具体研究方向还没确定，所以有点烦和比较慌。
2. 以前是高中物理老师，由于某些不可抗力的原因不干了，所以比较懂里面考试题的trick，可以干一些annotation的work。
3. 编程能看懂和写一点python，但不精。
4. 现在没人带，想参与这个CEVAL项目，积累一点项目经验。
5. 我的email:  lyconghk@hotmail.com,    wechat:    lyconghk

您好，感谢您的兴趣！目前ceval第一阶段的标注任务已经结束，当下暂时没有其他标注任务，之后如果有需求的话我们再与您联系，谢谢！
Repository: hkust-nlp/ceval
Issue: 根据code/Readme.md中给出的示例尝试遇到问题
Root cause: External Dependency Breakage

按照code/Readme.md中给出的方法，放置了data文件夹，并一路安装所有依赖，但是之后尝试其中给出的示例遇到了问题

1 moss的问题，按图中的指令，显示如下报错

这似乎是因为没有使用tie_weights()造成的

![image](https://github.com/SJTU-LIT/ceval/assets/67551555/cba168b6-5ce5-4f37-aa3e-6343f3bcc581)

2 chatglm的问题，按图中的指令，显示如下报错

没有任何切片被加载，这看起来不同寻常，是否是因为内存不够
![image](https://github.com/SJTU-LIT/ceval/assets/67551555/3dcbfb21-5a74-4d1e-baa9-500df831a8ff)

我使用的是Ubuntu20.04，Python 3.8.10，所有依赖都直接用sudo pip install安装

我在大模型这个领域缺乏经验，感谢您的回答


在我的环境下MOSS的代码可以正常运行。我检索到与你类似的问题（ 参考https://github.com/artidoro/qlora/issues/151#issuecomment-1631744267 ），可能是accelerate库的问题；你可以将accelerate 库进行降级，降为0.19.0或者0.18.0（我的环境）重新运行，希望可以解决问题

如果在运行ChatGLM-6B的时候直接报了Killed，应该是内存不够。看起来你是在笔记本电脑上运行的程序，或许可以考虑使用服务器运行代码。
Repository: hkust-nlp/ceval
Issue: Download method1 download link incorrect
Root cause: Documentation Deficiency

The link provided in the first method of downloading data is the correct and cannot be opened.

The following link works:

```
wget -c https://huggingface.co/datasets/ceval/ceval-exam/resolve/main/ceval-exam.zip
```

The link in README works well. btw, is there any differences between these two links?
Repository: hkust-nlp/ceval
Issue: 题目错误

teacher_qualification_test.csv 中，第138题：

138,男同学小陈平时自由散漫，学习不认真，一天在课堂上用手机给班上的女同学发短信“曾某，我爱你”，被上课的王老师发现。王老师收缴了小陈的手机，并将短信内容向全班同学宣读，同时指责其“思想堕落，道德败坏”。下课后小陈要求王老师归还手机，王老师说，这是罪证不能归还，要交给学校德育处。校长指出王老师：①未经学生同意翻看短信侵犯了学生的隐私权；②批评的话语侵犯了学生的人格权；③收缴手机侵犯了学生的财产权；④作为老师不能以违法的方式对待学生的违纪行为。你认为校长的说法正确的是____。,蝙蝠,鲸,蜂鸟,海豹

选项和问题没有关系

感谢反馈，我们会在近期更正，谢谢
Repository: hkust-nlp/ceval
Issue: ImportError: cannot import name 'AutoModelForCausalLM' from 'transformers'
Root cause: Environment Incompatibility

应该是版本问题，最好能给出可运行的python, torch版本号，以及requirements.txt~减少试错成本

由于测试的包含多个模型，每个模型的所需环境也不相同，很难给出一个环境可以同时满足多个模型的运行需求。因此，您可以参考模型的官方github repo查找每个模型的环境需求。例如：[ChatGLM-6B](https://github.com/THUDM/ChatGLM-6B)和[MOSS](https://github.com/OpenLMLab/MOSS)。谢谢
Repository: hkust-nlp/ceval
Issue: art_studies_test.csv 中有题目错误
Root cause: Validation Gap

art_studies_test.csv 中，第178题：

178,qp世纪的主要戏剧不包括____。,奇迹剧,神秘剧,广场剧,道德剧

这里的【qp世纪】，推测来自 cqvip.com的《在职艺术硕士（MFA）全国联考戏剧学》试题，原题目有笔误，结果其它网站以讹传讹Copy-Paste的时候也抄错了，实际没有【qp世纪】这个说法。cqvip.com的《在职艺术硕士（MFA）全国联考戏剧学》试题的正确答案是C，而奇迹剧、神秘剧和道德剧是欧洲中世纪的戏剧形式，因此建议修改题目为：

欧洲中世纪的主要戏剧不包括____。

补充：teacher_qualification_test.csv 中，第90题：

90,“君子耻其言而过其行”翻译为白话文是“君子对说大话做小事或者说空话不做事的行为感到可耻”，这在当今仍具有强烈的教育意义。这句话出自____。,错误，是体罚学生的错误方法,正确，是帮助学生改正错误的有效手段,正确，是既保证了学生的受教育权，又履行了教学管理权的有效方法,错误，是侵犯学生的人格尊严的错误做法

题目和答案不相关

感谢您的反馈，我们会在近期进行更新
Repository: hkust-nlp/ceval
Issue: 结果提交的疑问

1. 请问是否会提供每个学科上的结果呢, 比如法学、逻辑学
2. 是否考虑公开测试集答案

是的，我们会提供每个科目的结果；目前还没有公开测试集答案的计划

感谢解答
Repository: hkust-nlp/ceval
Issue: 建议支持`--subject=all`和`--subject=hard`
Root cause: Unimplemented Feature Gap

如题，现在不仅测起来很麻烦，而且不好根据大类汇总。
在`eval.py`里根据`subject_mapping.json`应该就能支持？

btw，想问下leader board中大类的平均分是怎么算出来的，是按题目数平均还是按类别平均？（MMLU好像是按题目数平均的）

+1

自己手动实现了一版

seems somebody has uploaded "all" version: https://huggingface.co/datasets/liyucheng/ceval_all
Repository: hkust-nlp/ceval
Issue: middle_school_history_test.csv 中有题目错误
Root cause: Validation Gap

middle_school_history_test.csv，第82题：

82,在右图所示的残垣断壁是历史上哪一次侵华战争的见证____。,鸦片战争,第二次鸦片战争,甲午中日战争,八国联军侵华战争

题目中说“右图”，但并没有图片。经查证，此题来自广东省广州高山文化培训学校 2014-2015 学年八年级历史上学期期中试题，原题是一张圆明园的图片。

建议题目修改为：著名的圆明园“大水法”的残垣断壁是历史上哪一次侵华战争的见证____。

补充：advanced_mathematics_test.csv 文件，第68题：

68,计算定积分：$I=\int_0^{\pi}{\sqrt{\sin x-\sin^2x}\mathrm{d}x}$____,$2\sqrt{2}+\ln \left( \frac{\sqrt{2}-1}{\sqrt{2}+1} \right)$,$2\sqrt{2}+\ln \left( \frac{\sqrt{2}-1}{\sqrt{2}+1} \right)$,$2\sqrt{2}+\ln \left( \frac{\sqrt{2}-1}{\sqrt{2}+1} \right)$,$2\sqrt{2}+\ln \left( \frac{\sqrt{2}-1}{\sqrt{2}+1} \right)$

该题A, B, C, D四个选项完全一样，因此无法选择正确答案。

感谢您的反馈，我们会在近期进行更新
Repository: hkust-nlp/ceval
Issue: 关于确认CEval可以被hack之后的计划

近期许多模型仿佛一夜之间就“突飞猛进”了，在CEval上狂刷分数，导致该榜单的可参考性有所下降。请问是否后续会继续在该工作上进行相关迭代？亦或是打算设计新的方式方法？

我们在考虑办一个 Hack C-Eval 和 MMLU 的比赛，解除测试数据泄漏之外的所有限制，包括可以 distiall GPT 4 也可以不考虑能力平衡，让开源社区一起想办法找到最好的 hack C-Eval 的方法，然后看看 7B 的模型到底可以被 hack 到什么程度

我们现在的假设是当解除所有限制之后，7B 的模型可以在牺牲其他方向能力的条件下，在 C-Eval 上被 hack 到 13B 的效果，但 hack 可能存在上限，7B 应该不大能被 hack 到 70B 的效果。

然后我们鼓励大家分享最有效的 hack C-Eval 的方法，我们相信这些 hack 的方法以及对它们的深入研究本身也可以促进中文大模型的发展。

当然开源社区智慧无穷，如果真的有人可以拿 7B 的模型做出 70B 的效果，那就更值得学习了

现在的问题是榜单上面的7B模型能力有点过于夸张，某些科目能到九十多分，明显不合理，这种针对性补强的恶意打榜是否应该设计对应的筛查工作和更严格的名次开放审核。

我猜还有一个没有公开的test集合哈哈，那些开源的模型拿来测测gap就知道有没有作弊了
Repository: hkust-nlp/ceval
Issue: Problematic question in test set
Root cause: Validation Gap

In `test/logic_test.csv`
```
87,在东海大学研究生会举办的一次中国象棋比赛中，来自经济学院，管理学院，哲学学院，数学学院和化学学院的5名研究生(每院1名)相遇在一起，有关甲、乙、丙、丁、戊5名研究生之间的比赛信息满足以下条件：____,数学学院。,管理学院。,经济学院。,化学学院。
```


感谢您的反馈，我们会在近期进行更新
Repository: hkust-nlp/ceval
Issue: lm-evaluation-harness 是用test集测评的吗？
Root cause: Documentation Deficiency

你好，最近我在用lm-evaluation-harness进行模型测评。
但是根据lm-evaluation-harness的task_table显示只有val集并且数量较少。请问如果我使用lm-evaluation-harness进行测评的时候，会使用test集的结果评估，还是val的结果评估？
<img width="845" alt="image" src="https://github.com/SJTU-LIT/ceval/assets/57976018/592bfb3e-84db-45ba-8fa6-175652dfad94">


由于lm-evaluation-harness需要公开答案，因此我们使用的是val集。谢谢
Repository: hkust-nlp/ceval
Issue: chatglm2-6b在valid set上的zero-shot结果似乎有问题
Root cause: Validation Gap

如题，我用lm-eval-harness发现chatglm2-6b的结果很差，0-shot下只有20多的准确率，是不是哪里出错了？
![image](https://github.com/SJTU-LIT/ceval/assets/31842494/6d980ee6-e57a-4368-9baa-06f82a07b34c)


首先，在lm-eval-harness中只有validation集，每一个科目下的题目数量较少，因此结果可能波动较大。在当初测试代码的时候，使用的是gpt3，结果正常。或许你可以尝试few-shot下的结果？

我再次尝试了使用gpt3进行测试，结果如下
```|            Task            |Version| Metric |Value |   |Stderr|
|----------------------------|------:|--------|-----:|---|-----:|
|Ceval-valid-accountant      |      1|acc     |0.3265|±  |0.0677|
|                            |       |acc_norm|0.3265|±  |0.0677|
|Ceval-valid-civil_servant   |      1|acc     |0.4043|±  |0.0724|
|                            |       |acc_norm|0.4043|±  |0.0724|
|Ceval-valid-computer_network|      1|acc     |0.4737|±  |0.1177|
|                            |       |acc_norm|0.4737|±  |0.1177|
```
您可以使用如下命令进行复现
```
python main.py --model gpt3 --tasks Ceval-valid-computer_network,Ceval-valid-accountant,Ceval-valid-civil_servant --num_fewshot 0 --model_args engine=text-davinci-003 --write_out
```

@HYZ17 感谢回复，我又用该Repo的代码跑了下ChatGLM2-6B在valid set上的zero-shot表现，发现也差不多，20出头。我同样的代码换成chatglm1-6b，是39多。比较正常。感觉2应该比1高才对。官方是否也可以尝试测一下，我不确认是否存在问题。
![image](https://github.com/SJTU-LIT/ceval/assets/31842494/2d6d81ed-ff16-459b-b8ea-e23b8bcc2b15)


感觉可能不是lm-eval-harness框架代码的问题，所以改了下标题。

这个原因尚且不清楚，可能需要查看一下chatglm2的测试方法
Repository: hkust-nlp/ceval
Issue: C-Eval 提交规则限制
Root cause: Documentation Deficiency

哈喽，请问，C-Eval 提交有什么条件吗？必须GPT么，BERT不可以吗？期待回复^_^

您好！任何模型的结果都可以在我们的网站进行提交，然后获取对应的分数。具体参考：https://github.com/SJTU-LIT/ceval/blob/main/README_zh.md#%E5%A6%82%E4%BD%95%E6%8F%90%E4%BA%A4

我提交了一版（submit- ID：9b1d7f35-3276-11ee-bd8b-00163e0166d9），也邮件回复了你们的疑问，leaderboard没有显示，也没有收到你们的邮件回复，所以不知道是什么情况，还盼有同学能够回答一下，感谢

> 我提交了一版（submit- ID：9b1d7f35-3276-11ee-bd8b-00163e0166d9），也邮件回复了你们的疑问，leaderboard没有显示，也没有收到你们的邮件回复，所以不知道是什么情况，还盼有同学能够回答一下，感谢

你好～这个记录已经更新了～
Repository: hkust-nlp/ceval
Issue: how to evaluate models trained by bloom serires base model?
Root cause: Documentation Deficiency

please update and support this~

maybe you can try evaluating through [lm-evaluation-harness](https://github.com/EleutherAI/lm-evaluation-harness)?

https://github.com/hkust-nlp/ceval#use-through-evaluation-harness