第一部分:OpenCompass基本知识
1.介绍
上海人工智能实验室科学家团队正式发布了大模型开源开放评测体系 “司南” (OpenCompass2.0),用于为大语言模型、多模态模型等提供一站式评测服务。开源可复现、全面的能力维度、丰富的模型支持、分布式高效评测、多样化评测范式、灵活化拓展。
2.评测研究
研究评测对全面了解大型语言模型的优势和限制至关重要,有助于指导和改进人类与大型语言模型之间的协同交互,研究评测可以帮助更好地规划大型语言模型未来的发展,并预防未知和潜在的风险,了解不同语言模型之间的性能、舒适性和安全性,能够帮助人们更好地选择适合的模型。
3.评测对象
基座模型、对话模型。
4.评测方法
客观评测、主观评测。
5.工具架构
第二部分:评测实战学习
通过当前大模型的能力评测背景、状况,评测的全面性,评测成本,数据方面的污染情况,鲁棒性入手了解OpenCompass司南评测体系开源历程,在评测大模型方面的优势与方法,评测全栈工具链在评测配置 -> 推理 -> 评估 -> 可视化阶段的理论、技术与实践。后面根据本部分实践学习OpenCompass2.0评测体系在大模型评测过程中使用的工具、方法、评测数据集等实操,加强掌握对模型能力进行综合评价的认识以及OpenCompass的作用。实战环境为:Cuda11.7-conda镜像,GPU 为10% A100,评测对象为internlm2-chat-1_8b模型。
详细的客观评测指引参见:支持新数据集 — OpenCompass 0.2.5 文档https://opencompass.readthedocs.io/zh-cn/latest/advanced_guides/new_dataset.html详细的主观评测指引参见:主观评测指引 — OpenCompass 0.2.5 文档https://opencompass.readthedocs.io/zh-cn/latest/advanced_guides/subjective_evaluation.html数据污染评估实验步骤:数据污染评估 — OpenCompass 0.2.5 文档https://opencompass-cn.readthedocs.io/zh-cn/latest/advanced_guides/contamination_eval.html大海捞针测试实验评估步骤:大海捞针(Needle In A Haystack)实验评估 — OpenCompass 0.2.5 文档https://opencompass.readthedocs.io/zh-cn/latest/advanced_guides/needleinahaystack_eval.html
第三部分:评测internlm2-chat-1_8b模型在C-Eval数据集上的性能之基础作业
1.环境安装
如代码能力基准测试 HumanEval 以及 Llama 格式的模型评测,可能需要额外步骤才能正常运行,如需评测,详细步骤请参考安装指南。
2.数据准备
3.查看支持的数据集和模型
4.启动评测
准备好数据集后,可以通过以下命令评测 InternLM2-Chat-1.8B 模型在 C-Eval 数据集上的性能,由于 OpenCompass 默认并行启动评估过程,我们可以在第一次运行时以 --debug 模式启动评估,并检查是否存在问题。
5.评测结果
6.评测结果输出
第四部分:自定义评测数据集配置之基础作业
以/root/opencompass/configs/datasets/ceval/ceval_gen_5f30c7.py文件为例,自定义自己的ceval数据集与配置,下列步骤中的文件均为按照格式新建自定义文件。
1.修改ceval_gen_5f30c7.py文件
拷贝一份ceval_gen_5f30c7.py文件。红框处修改为自己的配置。
2./opencompass/opencompass/datasets/ceval.py文件
拷贝新建一个ceval.py文件,注意红框处新建类、数据集文件格式、读取方式、数据集字段读取的修改为自己的格式。
3./opencompass/opencompass/datasets/__init__.py文件
__init__.py文件中添加ceval.py,注意按照红框处的格式添加,注册自己定义的实现的ceval模块。
4./root/opencompass/configs/datasets/ceval/ceval_gen.py文件
按照ceval_gen.py文件新建一个gen文件,添加1中自定义数据集文件名。
5.run.py文件或者运行命令的修改
红框处修改成自定义的gen名称。
6.查看支持的数据集和模型
以下命令查看自定以数据集是否列出。
python tools/list_configs.py internlm ceval
第五部分:自定义数据集提交至OpenCompass官网之进阶作业
数据集作为测试用。