一、如何通过能力评测促进模型发展?
- 评测体系需要提高新能力维度,如数学,复杂推理,逻辑推理,代码和智能体等维度,以全面评估模型性能。
- 在医疗、金融、法律等专业领域,评测需结合行业知识和规范,以评估模型的行业适用性。
- 针对中文场景,需要开发能准确评估其能力的中文评测基准,促进中文社区的大模型发展。
- 通过深入分析评测性能,探索模型能力形参机制,发现模型不足,研究针对性提升策略。
二、大语言模型中评测面临的挑战
- 数据污染:海量语料不可避免的带来评测集的污染,需要可靠的数据污染检测技术以及动态可更新的高质量评测标准。
- 大模型的应用场景千变万化,能力演进迅速,需要设计和构造一个可扩展的能力维度体系。
- 评测数十万道题需要大量算力资源,基于人工打分的主观评测成本高昂。
- 大模型对提示词敏感,多次采样的情况下模型的性能会不稳定。
三、OpenCompass简介
上海人工智能实验室科学家团队正式发布了大模型开源开放评测体系 “司南” (OpenCompass2.0),用于为大语言模型、多模态模型等提供一站式评测服务。其主要特点如下:
- 开源可复现:提供公平、公开、可复现的大模型评测方案
- 全面的能力维度:五大维度设计,提供 70+ 个数据集约 40 万题的的模型评测方案,全面评估模型能力
- 丰富的模型支持:已支持 20+ HuggingFace 及 API 模型
- 分布式高效评测:一行命令实现任务分割和分布式评测,数小时即可完成千亿模型全量评测
- 多样化评测范式:支持零样本、小样本及思维链评测,结合标准型或对话型提示词模板,轻松激发各种模型最大性能
- 灵活化拓展:想增加新模型或数据集?想要自定义更高级的任务分割策略,甚至接入新的集群管理系统?OpenCompass 的一切均可轻松扩展!
四、OpenCompass的评测范式
1.根据不同模型进行评测
大致分为四种:
a.经过预训练的基座模型 b.经过SFT微调和RLHF的对话模型
c.公开权重的开源模型 d.API模型
2.客观评测和主观评测
3.提示词工程(prompt)
4.长文本预测
五、OpenCompass杂谈
1.汇集社区力量:工具-基准-榜单 三位一体
CompassKit 是一系列专为大型语言模型和大型视觉-语言模型打造的强大评估工具合集
CompassHub 是一个提供高时效性,高质量的评测集平台
CompassRank 是一个权威性能榜单
2.其他优势
六、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 .
第二步--数据准备
cp /share/temp/datasets/OpenCompassData-core-20231110.zip /root/opencompass/
unzip OpenCompassData-core-20231110.zip
查看tools目录下的文件
python tools/list_configs.py internlm ceval
第三步--启动评测
事先安装protobuf包
pip install protobuf
遇到错误mkl-service + Intel(R) MKL MKL_THREADING_LAYER=INTEL is incompatible with libgomp.so.1 ... 解决方案:
export MKL_SERVICE_FORCE_INTEL=1
#或
export MKL_THREADING_LAYER=GNU
启动评测
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