尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
lm-eval自定义评估循环实操指南
lm-eval自定义评估循环实操指南【免费下载链接】lm-evaluation-harnessA framework for few-shot evaluation of language models.项目地址: https://gitcode.com/GitHub_Trending/lm/lm-evaluation-harness给微调后的模型换一套自己的题目再测一遍只需调用simple_evaluate就能搭出完整的自定义评估循环——这正是 lm-evaluation-harness 项目处理定制场景的方式。三步跑通第一次评估装好环境克隆仓库后安装带 HuggingFace 后端的基础依赖git clone https://gitcode.com/GitHub_Trending/lm/lm-evaluation-harness cd lm-evaluation-harness pip install -e .[hf]执行一条命令lm-eval run --model hf --model_args pretrainedgpt2 --tasks hellaswag --num_fewshot 0读结果表格终端末尾会输出每个任务的acc准确率和stderr标准误数值越大越好。命令行背后就是simple_evaluate函数参数在 lm_eval/evaluator.py 中有完整签名常用的有这几个参数作用常用值model模型后端别名或 LM 对象hf、vllmtasks任务名列表hellaswag、arc_easynum_fewshot提示词里的示例数0~5limit抽样比例调试用0.1batch_size批大小auto自动探测8或autouse_cache推理结果 SQLite 缓存路径cache.dbgen_kwargs生成任务参数temperature0评估循环如何工作 循环的主线只有一条把任务 YAML 翻译成请求喂给模型再按指标聚合。一切行为由任务 YAML 驱动。以仓库里最小的任务 lm_eval/tasks/arithmetic/arithmetic_1dc.yaml 为例去掉数据源细节后骨架如下task: arithmetic_1dc output_type: loglikelihood doc_to_text: {{context}} doc_to_target: {{completion}} metric_list: - metric: acc aggregation: meandoc_to_text用数据集字段拼出提示词doc_to_target拼出待比较的目标文本output_typeloglikelihood算似然、generate_until走生成metric_list指标名 聚合方式进阶用法用一份YAML新建自己的任务把 templates/new_yaml_task/ 复制到lm_eval/tasks/下并重命名然后改四个字段dataset_path数据集在 HuggingFace Hub 上的名字、test_split、doc_to_text、metric_list。保存后直接--tasks 你的任务名即可被识别无需注册代码。完整字段说明见 docs/new_task_guide.md。注册一个自己的指标 ⚙️内置指标不够时用 lm_eval/api/registry.py 里的register_metric装饰器把函数注册成指标再在 YAML 的metric_list中写metric: 你的指标名。比如想忽略首尾空格再比对就写一个返回correct / total的函数聚合方式填mean。接一个非标准模型写一个继承LM抽象基类的子类实现_loglikelihood_tokens和_generate_until两个方法参考现成实现 lm_eval/models/huggingface.py。之后simple_evaluate的model参数直接传你的实例。用Python脚本代替命令行需要把结果写进自己的实验记录时改用 Python APIfrom lm_eval import simple_evaluate results simple_evaluate( modelhf, model_argspretrainedEleutherAI/gpt2, tasks[hellaswag], limit0.1, use_cachecache.db, batch_sizeauto, )limit0.1只跑 10% 数据改完配置先这样冒烟测试use_cache让相同请求跳过重复推理调参迭代时能省大量时间。评估报错与结果异常对照表 现象生成任务不停机、一直输出到长度上限。原因YAML 里写了until: [\n]单引号不解析转义符模型收到的是字面字符\n。解法改用双引号until: [\n]细节见 docs/footguns.md。现象同一任务两次运行指标不一致。原因few-shot 示例是随机抽的抽样种子不同。解法显式固定fewshot_random_seed和random_seed对比实验必须用同一组种子。现象大模型跑 mmlu 时显存溢出。原因固定batch_size超过了显存上限。解法改batch_sizeauto并设max_batch_size32框架会二分探测安全值。现象开启apply_chat_template后 loglikelihood 指标明显下降。原因chat 模板重写了输入格式似然计算的对象变了。解法和未开模板的结果分开报告不要混在一起比较。一句话总结YAML 管考什么simple_evaluate管怎么考register_metric管怎么算分三者配合就是完整的自定义评估循环。新建任务完整流程docs/new_task_guide.md排错手册docs/footguns.md评估主循环源码lm_eval/evaluator.py【免费下载链接】lm-evaluation-harnessA framework for few-shot evaluation of language models.项目地址: https://gitcode.com/GitHub_Trending/lm/lm-evaluation-harness创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

Java新手实战:对象创建与异常处理避坑指南

Java新手实战:对象创建与异常处理避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/9/12 6:57:40
程序员如何高效平衡编码与会议时间

程序员如何高效平衡编码与会议时间

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/9/12 6:57:40
MATLAB三角形单元有限元求解器实现原理与工程调试

MATLAB三角形单元有限元求解器实现原理与工程调试

简介:本资源是一套面向工程力学、计算力学初学者及MATLAB编程实践者的三角形有限元分析完整实现代码包,聚焦二维线性三角形单元(Tri3)的刚度矩阵构建、边界条件处理与系统求解全流程。包内共13个.m文件,涵盖几何建模&a…

📅 2026/9/12 6:52:40
MORE NEWS

更多资讯

📰

Univer 打印三件事:页面设置、预览、导出 PDF 一次说清

Univer 打印三件事:页面设置、预览、导出 PDF 一次说清 【免费下载链接】univer Univer is a full-stack framework for creating and editing spreadsheets / word processor / presentation on both web and server. 项目地址: https://gitcode.com/GitHub_Tren…

📰

AIRI DevLog 2025.08.26 技术深读:从 Docker 容器化到浏览器端实时 YOLO 对象检测,构建 Factorio 纯视觉 AI 的完整实践

AIRI DevLog 2025.08.26 技术深读:从 Docker 容器化到浏览器端实时 YOLO 对象检测,构建 Factorio 纯视觉 AI 的完整实践 【免费下载链接】airi 💖🧸 Self hosted, you-owned Grok Companion, a container of souls of waifu, cybe…

📰

LunaTranslator:HOOK文本捕获的视觉小说实时翻译方案

LunaTranslator:HOOK文本捕获的视觉小说实时翻译方案 【免费下载链接】LunaTranslator 视觉小说翻译器 / Visual Novel Translator 项目地址: https://gitcode.com/GitHub_Trending/lu/LunaTranslator LunaTranslator 是一款运行在 Windows 上的视觉小说实时…

📰

Kafka Streams 如何离线迁移到 group.protocol=streams 并用 kafka-streams-groups.sh 管理 Streams Group

Kafka Streams 如何离线迁移到 group.protocolstreams 并用 kafka-streams-groups.sh 管理 Streams Group 【免费下载链接】Kafka Apache Kafka - A distributed event streaming platform 项目地址: https://gitcode.com/GitHub_Trending/kafka4/kafka 如果你的 Kafka …

📰

diagram-design:面向硬件与前端的工程化设计语言体系

1. “diagram-design”不是一张图&#xff0c;而是一套工程化设计语言体系你点开一个叫“diagram-design”的项目仓库&#xff0c;看到的可能只有一堆.svg文件、几行<svg>标签嵌入 HTML 的示例&#xff0c;甚至只是个空目录——但别急着关掉。这四个字母组合背后&#xf…

📰

单相交流电子负载能量回馈:STM32实现SOGI-PLL与并网控制

简介&#xff1a;湖北省大学生电子设计竞赛A题“带能量回馈的单相交流电子负载”源码工程&#xff0c;面向电子竞赛选手、毕设及课程设计学习者&#xff0c;提供从底层驱动到人机交互的完整实现。工程采用全隔离设计&#xff0c;功率因数0.1&#xff5e;1容感性可调&#xff0c…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬