一、笔记
课程内容
如何通过能力评测促进模型发展?
- 面向未来,拓展能力维度:大模型学习人的能力,目前的上限是人的想象力上限,设计数学、推理、代码、智能体等各种维度来评测模型性能。
- 聚焦垂直行业:大模型在通用领域已经能达到不错的效果,但是在医疗金融法律等需要高精的专业领域,需要更加规范的内容来评估模型的行业适用性。
- 中文基准:目前全球社区大模型生态以英文为主,通过针对中文场景设计相关评测基准,来促进中文社区的大模型发展。
- 能力评测反哺能力迭代:通过评测,发现模型不足,针对性提升。
大模型评测中的挑战
- 全面性:评测需要综合考量模型在不同维度上的表现,包括语言理解、知识应用、逻辑推理、创造力等。同时,还应考虑模型在特定垂直行业如医疗、金融、法律等领域的专业能力,以及其对新情境的适应性和学习能力。
- 评测成本:大模型的评测往往涉及大规模的计算资源和数据集,这导致评测成本显著增加。另外,为了获得全面的评测结果,除了客观的打分题目,还有基于人工打分的主观评测,进一步增加了时间和经济成本。
- 数据污染:数据污染指的是评测数据被加入到模型的训练数据中,需要可靠的数据污染检测技术和动态调节的评测基准,来获得真实客观的评估结果。
- 鲁棒性:评测大模型时,需要检验其在面对变化的提示词输入的鲁棒性,设计针对鲁棒性的评测数据,例如挖掘大模型的bias(针对顺序的bias、针对长短文本的bias等),在多次采样下评估模型的性能。
OpenCompass2.0司南大模型评测体系
- 开源历程
-广泛应用 - Meta官方推荐唯一国产的体系
- 100+评测集、50万题目
- 多个大模型企业和科研机构使用
评测对象与运行方法
- 模型类型
- 基座模型:海量数据无监督训练(Base)
- 对话模型:指令数据有监督微调(SFT)、人类偏好对齐(RLHF)
- 评测方法
- 对于公开权重的开源模型,使用GPU/推理加速卡进行本地推理
- API模型使用发送网络请求方式获得回复。
评测类型
- 客观评测与主观评测
- 客观问答题、选择题:通过标注或者预处理方式,得出有特定答案的数据集,可以进行自动评测
- 开放式主观问答:没有特定答案,但是可以通过不同模型对答案的比较、打分的方式,获得评估结果。打分方式可以通过人类评价和比较强大的模型(ensemble)来进行,如图:
提示词工程
- 构建评测集需要对提示词有较高的要求,避免引入评测结果偏差,下面是一些例子,例如文本语义要明确,具体细节,迭代反馈、few-shot、思维链等一些prompt工程化技巧:
长文本评测
- 大海捞针测试(灵感来自 NeedleInAHaystack)是指通过将关键信息随机插入一段长文本的不同位置,形成大语言模型 (LLM) 的Prompt,通过测试大模型是否能从长文本中提取出关键信息,从而测试大模型的长文本信息提取能力的一种方法,可反映LLM长文本理解的基本能力。
-
社区与工具
- 通过工具-基准-榜单的体系,汇聚社区力量,来建设更好更快更全的评估体系。
- CompassHub:评测集社区,建设活跃的社区,来提供高效、高质量的评测集。
- CompassRank:权威性能榜单,发布榜单,在这个过程中洞察行业趋势。
- CompassKit:评测工具,支持使用者快速产出模型评估指标,支持的功能和相关的推理套件如下:
- CompassHub:评测集社区,建设活跃的社区,来提供高效、高质量的评测集。
OpenCompass评测流水线
在 OpenCompass 中评估一个模型通常包括以下几个阶段:配置 -> 推理 -> 评估 -> 可视化。
- 配置:这是整个工作流的起点。您需要配置整个评估过程,选择要评估的模型和数据集。此外,还可以选择评估策略、计算后端等,并定义显示结果的方式。
- 推理与评估:在这个阶段,OpenCompass 将会开始对模型和数据集进行并行推理和评估。推理阶段主要是让模型从数据集产生输出,而评估阶段则是衡量这些输出与标准答案的匹配程度。这两个过程会被拆分为多个同时运行的“任务”以提高效率,但请注意,如果计算资源有限,这种策略可能会使评测变得更慢。如果需要了解该问题及解决方案,可以参考 FAQ: 效率。
- 可视化:评估完成后,OpenCompass 将结果整理成易读的表格,并将其保存为 CSV 和 TXT 文件。你也可以激活飞书状态上报功能,此后可以在飞书客户端中及时获得评测状态报告。
评估能力维度
- 基础能力:语言、知识、理解、数学、代码、推理
- 综合能力:考察大模型综合运用各类知识的能力,在考试、对话、创作、智能体、评价、长文本等任务场景下的能力。
自研的评测标注
- MathBench:多层次数学能力评测基准,包括不同的难度,不同的语言。还包括循环评估,可以消除大模型对答案顺序的bias。
- CriticBench:多维度LLM反思能力评估基准
- T-Eval:大模型细粒度工具能力评测基准
- F-Eval:大模型基础能力评测基准
- CreationBench:多场景中文创作能力评测标准
- CIBench:代码解释能力评测标准
一些垂类评测基准
- OpenFinData:全场景金融评测基准
- LawBench:大模型司法能力基准
- MedBench :中文医疗大模型评测基准
- SecBench:网络安全评测基准**
参考笔记本信息
- 创建时间:2024/4/18 23:41
- 更新时间:2024/4/19 11:50
- 作者:1880ofpp828
- URL: OpenCompass Tutorial
相关课程资源
- 视频地址:Bilibili Video
- 课程文档:GitHub Readme
- 课程作业:GitHub Homework
- 项目Star:OpenCompass GitHub
二、作业
基础作业
使用 OpenCompass 评测 internlm2-chat-1_8b 模型在 C-Eval 数据集上的性能(注意pip install protobuf,和export MKL_SERVICE_FORCE_INTEL=1两次配置缺失的报错)