Lecture6 OpenCompass大模型测评
在Lecture6中,主要讲了三个部分:大模型评测的意义,OpenCompass工具介绍和OpenCompass实战。
一、为什么要进行模型的评测
❓ 为什么要评测
- LLM在不同场景中需要不同的评测方式。
- 为了避免对普通用户产生误导,我们需要一个公平的评测方法。
- 开发者可以通过评测了解模型的能力边界,并提升模型的质量。
- 在法律、医疗、社会安全等领域,我们需要一个好的评测方式来确定大模型是否适用于相关场景。
❓ 需要测什么
- 传统NLP任务:
- 大语言模型:比如,知识,语言,理解,推理,长文本生成,Agent使用Tools的能力,情感认知,以及垂直领域的专业知识问答等领域。
❓ 如何测评大语言模型
- 基座模型:在评测的时候要加一些prompt instruct
- 对话模型:通过人类对话的方式进行评测。
评测分为客观评测和主观评测。
- 客观评测:通过正则表达式提取回答,统计正确率(问答、多选、判断等)。
- 主观测评:针对于创作类的题目,用模型来评价模型。比如用GPT4作为裁判,代替人类对模型做出评价。
👉 大模型已有评测框架 VS OpenCompass
二、OpenCompass开源评测平台架构
可以支持很多主流模型,对OC的评测流水线进行了设计,OC现在还在对多模态模型的评测进行探索,在垂直领域,如法律领域提供了LawBench,在医疗领域提供了MedBench。
对用户的开发、使用也比较友好。支持对开源模型和API模型进行测试,也支持自定义模型的测试。集成了100多个数据集。测试的时候也进行了推理的优化。支持评测任务的切分,支持高效完成评测。
大模型测试框架面临挑战,如测试集数据混入训练集,导致数据污染和准确率虚高。需要开发测试数据污染工具。
三、OpenCompass实战
在OpenCompass文件夹里,config文件里不同的模型评测设置,指定好数据集和模型,设置好相关的参数就能进行评测
分片操作:同时推理多个模型(SizePartitioner)
其他命令:—reuse(断点续存) —debug(在终端print)
SUMMARY:
OpenCompass
其实很简单,运行run.py
文件就可以对模型进行测评,在命令行中进行指定模型路径等,也可以写一个config
文件,在里面指定模型models、数据集datasets。