OpenCompass 大模型评测

一、为什么评测

1. 统一的模型评测对于用户来说很重要,可以帮助用户找到最好的模型

2. 模型的开发者需要进行评测来了解模型的能力边界,以便进行迭代和提升

3. 模型的评测对于指导模型的能力提升非常重要

4. 不同场景下需要有健全的评测方式来评估大模型的适用性

二、我们评测什么

大模型测试的维度很多,比如关系抽取、情感分析、使用工具能力、多种对话能力、情感认知等等;对于各个垂直领域,如说法律医疗问答能力等。

三、如何评测大模型

1. 模型评测可以根据模型进行不同的分类,如基座模型和对话模型

2. 基座模型需要设计不同的方案进行测试,如在问题的prompt中加入额外的instruct

3. 对话模型可以直接采用与人类对话的方式进行评测

1. 评测方式分为客观评测和主观评测

2. 客观评测包括问答题、选择题、判断题等

3. 模型的回答形式可以多样,但客观上只要提取到正确关键词就被认为答对

4. 可以统计所有题目的客观准确率来进行评测

1. 有些题目无法用客观评测的方式进行评估,需要使用主观的方式

2. 人工评价可以解决主观评测的问题,但不现实

3. 可以使用自动化的方式,用模型来评价其他模型

1. 通过prompt engineering的方式测试模型对prompt的敏感性

2. 构造多种语言表达形式来提问同一个问题

3. 预期模型在不同问法下的回答应该是一样的

4. 如果模型在换了一个prompt的问法后回答错误,说明模型对prompt敏感,鲁棒性差

主流评测大模型

四、OpenCompass评测介绍

1. OpenCompass框架是一个全面系统的评测框架,包括主观评测、客观评测和各种评测方式

2. 框架还涵盖了各类语言题目的评测,如学科语言知识理解、推理和安全等场景

3. 目前已有超过一百多个的评测数据集和超过50万个评测题目。

1. 在能力维度上,有许多不同场景的评测

2. 在方法层面上,有主观评测、客观评测和人类反馈等

3. 在工具层面上,有许多优化,如分布式测评和prompt engineering。

4.  国内外的主流模型都可以在榜单上找到

1. 流水线式评测, 支持测试开源模型和API模型

2. 方便自定义模型并进行测试

3. 集成了一百多个数据集

4. 在测试时进行推理优化,充分利用GPU资源,高效完成评测

五、OpenCompass实践

1、环境和数据集安装

2、数据集查看

# 列出所有跟 internlm 及 ceval 相关的配置
python tools/list_configs.py internlm ceval

3、启动评测

1)评测 InternLM-Chat-7B 模型

可以通过以下命令评测 InternLM-Chat-7B 模型在 C-Eval 数据集上的性能。

python run.py --datasets ceval_gen --hf-path /share/temp/model_repos/internlm-chat-7b/ --tokenizer-path /share/temp/model_repos/internlm-chat-7b/ --tokenizer-kwargs padding_side='left' truncation='left' trust_remote_code=True --model-kwargs trust_remote_code=True device_map='auto' --max-seq-len 2048 --max-out-len 16 --batch-size 4 --num-gpus 1 --debug

2)评测最新的InternLM2-Chat-7B 模型

可以通过以下命令评测 InternLM2-Chat-7B 模型在 C-Eval 数据集上的性能。

python run.py --datasets ceval_gen --hf-path /share/model_repos/internlm2-chat-7b/ --tokenizer-path /share/model_repos/internlm2-chat-7b/ --tokenizer-kwargs padding_side='left' truncation='left' trust_remote_code=True --model-kwargs trust_remote_code=True device_map='auto' --max-seq-len 2048 --max-out-len 16 --batch-size 4 --num-gpus 1 --debug

 以下主要参数要注意根据自己的情况进行及时修改:

--hf-path         /share/model_repos/internlm2-chat-7b/

--tokenizer-path     /share/model_repos/internlm2-chat-7b/

--batch-size     4

--num-gpus 1

在评测时,可使用以下参数,确保可以延续上次训练的继续训练,这个比较实用。

python run.py configs/eval_subjective_alignbench.py --reuse latest

更详细训练可参考GitHub上的链接,按部操作就好了。tutorial/opencompass/opencompass_tutorial.md at main · InternLM/tutorial (github.com)

  • 8
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值