当前位置:   article > 正文

大模型OpenCompass评测实战_opencompass 数据

opencompass 数据

一、模型评测背景:

       大模型发展过程中模型评测起到的意义,评测体系的发展、挑战、方向,评测社区的贡献与工具的作用,评测方式、方法、规范在大模型评测过程中全面了解大模型的优势和限制。通过本次学习掌握、熟悉OpenCompass评测工具的用法、配置文件的作用以及评测体系的内在涵义。

      实战OpenCompass评测体系采取客观评测与主观评测相结合的方法InternLM2-Chat-1.8B 模型在 C-Eval 数据集上的具有确定性答案的能力维度和场景,通过构造丰富完善的评测集,对模型能力进行综合评价,体现模型能力的开放式或半开放式的问题、模型安全问题等。

二、评测促进模型发展:

1.面向未来拓展能力维度

   通过能力维度、数学、复杂、逻辑推理,代码、智能体等全面评估模型性能。

2.扎根通用能力聚焦垂直行业

   在专业领域结合行业知识、规范评估模型的行业适用性。

3.高质量中文基准

   在中文场景,能准确评估能力的中文评测基准,促进中文社区大模型的发展。

4.性能评测反哺能力迭代

   深入分析评测性能,探索模型能力形成机制,发现模型不足,研究针对性提升策略。

三、评测中的挑战

1.全面性:

   场景千变万化、能力演进迅速、设计和构造的能力维度体系

2.评测成本

   需要打算里资源、高昂的基于人工打分的主观评测成本

3.数据污染

   海量语料带来的评测集污染、可高的数据污染检测技术、设计动态更新的高质量评测基准。

4.鲁棒性

   提示词的敏感性、多次采样情况下的性能稳定性。

四、OpenCompass大模型评测体系开源历程

五、助力大模型产业发展和学术研究

六、评测大模型

对模型评测采用的方式、方法、维度、工具等来评测模型在各方面表现出的性能。

基座模型:海量数据无监督训练。

对话模型:指令数据有监督微调,人类偏好对其。

公开权重的开源模型:使用GPU/推理加速卡进行本地推理。

API模型:发送网络请求回去回复。

客观问答题:

客观选择题:

开放式主观问答:

提示词工程:

长文本评测(大海捞针):

工具-记准-榜单三位一体的社区力量汇聚

大模型评测全栈工具链:

评测流水线:

高质量评测基准社区:

能力维度全面升级:

高质量大模型评测基准:

七、评测实战

OpenCompass 评估一个模型通常包括以下几个阶段:配置 -> 推理 -> 评估 -> 可视化。

工具架构

环境配置:

安装:

    studio-conda -o internlm-base -t opencompass

    source activate opencompass

    git clone -b 0.2.4 https://github.com/open-compass/opencompass

    cd opencompass

    pip install -e .

 pip install -r requirements.txt

 数据准备:

     cp /share/temp/datasets/OpenCompassData-core-20231110.zip /root/opencompass/
     unzip OpenCompassData-core-20231110.zip

 数据集和模型查看:

  列出所有跟 internlm ceval 相关的配置

     python tools/list_configs.py internlm ceval

启动评测:

       OpenCompass 默认并行启动评估过程,我们可以在第一次运行时以 --debug 模式启动评估,并检查是否存在问题。在 --debug 模式下,任务将按顺序执行,并实时打印输出。启动命令如下:

  1. python run.py
  2.   --datasets ceval_gen \
  3.   --hf-path /share/new_models/Shanghai_AI_Laboratory/internlm2-chat-1_8b \  # HuggingFace 模型路径
  4.   --tokenizer-path /share/new_models/Shanghai_AI_Laboratory/internlm2-chat-1_8b \  # HuggingFace tokenizer 路径(如果与模型路径相同,可以省略)
  5.   --tokenizer-kwargs padding_side='left' truncation='left' trust_remote_code=True \  # 构建 tokenizer 的参数
  6.   --model-kwargs device_map='auto' trust_remote_code=True \  #构建模型的参数
  7.   --max-seq-len 1024 \  # 模型可以接受的最大序列长度
  8.   --max-out-len 16 \  # 生成的最大 token 数
  9.   --batch-size 2  \  # 批量大小
  10.   --num-gpus 1  # 运行模型所需的 GPU 数量
  11.   --debug

评测完成情况,会打印出模型在各维度的一个评价情况。

八、自定义数据集评测配置

介绍自定义ceval数据集评测配置方法,详细数据集配置请参见opencompass官方文档。

第一步:opencompass/config/database/ceval目录下新建或者修改ceval文件,按照现有文件格式修改!以ceval_gen_5f30c7.py文件为例修改或新建:注意红框处的修改。

第二步:opencompass/ opencompass/database/目录下新建或者修改ceval文件,按照现有文件格式修改加载数据集!以ceval.py文件为例修改或新建,文件中的新建类,在第一步文件中必须引入该文件中实现的模块。

第三步:opencompass/ opencompass/database/_init_.py文件中添加第二步中的py文件,注册实现的模块。

第四步:opencompass/config/database/ceval/ceval_gen.py文件中修改为第一步中的数据集文件名称:

第五步:执行命令:

python run.py --datasets ceval_gen --hf-path /share/new_models/Shanghai_AI_Laboratory/internlm2-chat-1_8b --tokenizer-path /share/new_models/Shanghai_AI_Laboratory/internlm2-chat-1_8b --tokenizer-kwargs padding_side='left' truncation='left' trust_remote_code=True --model-kwargs trust_remote_code=True device_map='auto' --max-seq-len 1024 --max-out-len 16 --batch-size 2 --num-gpus 1 --debug

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小桥流水78/article/detail/756314
推荐阅读
相关标签
  

闽ICP备14008679号