当前位置: 首页 > article >正文

『不废话』之大模型性能评估

前一篇『不废话』之大模型性能排行榜文章,梳理了如何知道业务最适配开源大模型。这次我们来谈谈,当我们微调完大模型之后,总是应该需要一套行之有效的性能评价体系来判断我们的微调是否有效。业界通常是考虑跟微调之前的基模进行比对,今天让我们从纯技术的角度来分析这个话题。

以下内容充分参考了网络资料,不仅适合这次的话题,同时也适合对比2个不同的模型性能。

第一步:定义你的比较目标

深入评估之前,明确以下关键问题:

  1. 哪些特定功能对您的应用程序最重要?
  2. 您是否优先考虑准确性、速度、成本或专业知识?
  3. 你需要定量指标,定性评估,还是两者兼而有之?

提示:创建一个简单的评分规则,并加权重要性。

第二步:选择合适的基准

不同的基准测试衡量LLM不同的能力:

通用能力

框架地址
MMLUhttps://huggingface.co/datasets/cais/mmlu
HELMhttps://github.com/stanford-crfm/helm
BIG-Benchhttps://github.com/google/BIG-bench
Winograndehttps://huggingface.co/datasets/allenai/ai2_arc

推理与问题解决

框架地址
GSM8Khttps://huggingface.co/datasets/openai/gsm8k
MATHhttps://github.com/hendrycks/math
LogiQAhttps://huggingface.co/datasets/lucasmccabe/logiqa
ai2 archttps://huggingface.co/datasets/allenai/ai2_arc
HellaSwaghttps://huggingface.co/datasets/Rowan/hellaswag

编码和技术能力

框架地址
HumanEvalhttps://paperswithcode.com/sota/code-generation-on-humaneval
SWE-Benchhttps://www.swebench.com/
APSShttps://arxiv.org/abs/2105.09938
MBPPhttps://github.com/google-research/google-research/tree/master/mbpp
DS-1000https://ds1000-code-gen.github.io/
BigCodeBenchhttps://github.com/bigcode-project/bigcodebench

真实性与事实性

框架地址
TruthfulQAhttps://github.com/sylinrl/TruthfulQA
FActScorehttps://github.com/shmsw25/FActScore
DeepEvalhttps://github.com/confident-ai/deepeval
Opikhttps://github.com/comet-ml/opik
RAGAshttps://github.com/explodinggradients/ragas
Deepcheckshttps://github.com/deepchecks/deepchecks
Phoenixhttps://github.com/Arize-ai/phoenix
Evalversehttps://github.com/evalplus/evalplus

指令遵循

框架地址
Alpaca Evalhttps://github.com/tatsu-lab/alpaca_eval
MT-Benchhttps://github.com/mtbench101/mt-bench-101

安全性评价

框架地址
Anthropic’s Red Teaming datasethttps://arxiv.org/abs/2209.07858
SafetyBenchhttps://github.com/thu-coai/SafetyBench

提示:专注于与您的特定用例相一致的基准测试,而不是试图测试所有内容。

第三步:设置测试环境

确保在一致的测试条件下进行公平比较:

环境检查表

  1. 尽可能使用相同的硬件进行所有测试
  2. 控制温度(temperature)、最大令牌(max tokens)和其他生成参数
  3. 记录API版本或部署配置
  4. 标准化提示格式和说明
  5. 跨模型使用相同的评估标准

提示:创建一个配置文件,记录所有测试参数的重现性。

第五步:使用评估框架

有几个框架可以帮助您自动化和标准化评估过程:

流行的评估框架

框架最适合安装
LangChain Evaluation工作流测试pip install langchain-eval
EleutherAI LM Evaluation Harness学术基准pip install lm-eval
DeepEval单元测试pip install deepeval
Promptfoo即时比较npm install -g promptfoo npm install -gnpm
TruLens反馈分析pip install trulens-eval

第六步:实现自定义评估测试

根据您的需求量身定制测试:

自定义测试类别

  1. 与您所在行业相关的特定领域知识测试
  2. 来自预期用例的真实提示
  3. 突破模型功能边界的边缘案例
  4. 跨模型具有相同输入的A/B比较
  5. 与代表性用户进行用户体验测试

提示:包括“预期”场景和挑战模型的“压力测试”场景

第七步:分析结果

将原始数据转化为可操作的见解:

分析技术

  1. 跨基准比较原始分数
  2. 将结果标准化,以考虑不同的尺度
  3. 以百分比计算业绩差距
  4. 确定优势和劣势的模式
  5. 考虑差异的统计显著性
  6. 绘制不同功能域的性能图
    图1

第8步:记录和可视化结果

为您的结果创建清晰、可扫描的文档:
图2图3

第八步:不断的迭代

  1. 判断能不能上线?
  2. 不能上线?申请经费
  3. 继续微调
  4. 再次评估
  5. 回到1

http://www.kler.cn/a/612604.html

相关文章:

  • Springboot 集成 Flowable 6.8.0
  • Linux 上使用 Docker 部署 Kafka 集群
  • Brainstorm绘制功能连接图(matlab)
  • 浅聊web前端性能测试
  • [python]基于yolov10实现热力图可视化支持图像视频和摄像头检测
  • Go 语言常见错误——控制结构
  • Selenium Web自动化如何快速又准确的定位元素路径,强调一遍是元素路径
  • VMware Ubuntu 网络配置全攻略:从断网到畅通无阻
  • (UI自动化测试web端)第二篇:元素定位的方法_css定位之css选择器
  • 什么时候用到 JVM 调优,调优哪些参数
  • Android 计算已安装应用的大小
  • 闲聊IT - 面向服务架构(SOA)的发展历史
  • 北理工计算机考研复试上机2017年真题
  • HTML5 新的 Input 类型学习笔记
  • 新一代ITSM:燕千云重构企业智慧服务生态体系
  • 手写数据库MYDB(一):项目启动效果展示和环境配置问题说明
  • 【测试工具】如何使用 burp pro 自定义一个拦截器插件
  • 工具介绍《WireShark》
  • Ubuntu22.04美化MacOS主题
  • 前端技术(28) : 拖拽、粘贴和点击浏览文件上传