news 2026/9/15 11:44:47

lm-evaluation-harness 中的 Inverse Scaling 任务评测指南:复现“Inverse Scaling: When Bigger Isn‘t Better“

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
lm-evaluation-harness 中的 Inverse Scaling 任务评测指南:复现“Inverse Scaling: When Bigger Isn‘t Better“

lm-evaluation-harness 中的 Inverse Scaling 任务评测指南:复现"Inverse Scaling: When Bigger Isn't Better"

【免费下载链接】lm-evaluation-harnessA framework for few-shot evaluation of language models.项目地址: https://gitcode.com/GitHub_Trending/lm/lm-evaluation-harness

本指南围绕 lm-evaluation-harness 仓库中lm_eval/tasks/inverse_scaling任务族展开,系统介绍 Inverse Scaling Prize(逆缩放奖)11 个数据集在框架内的实现方式、共享的多选评测配置、可复现的 OPT 基线结果以及实际运行方法。读完本文,你将掌握如何用lm_eval命令一键评测这些逆缩放任务,理解其"模型越大、表现反而越差"的评测设计原理,并能把同类多选任务快速接入框架。

一、背景:什么是 Inverse Scaling

Inverse Scaling(逆缩放)是与经典 Scaling Laws(缩放定律)相对的一种现象。经典缩放定律认为:随着模型规模(参数量、训练数据量、计算量)的增大,大语言模型(LM)的损失与任务表现会呈现可预测的改善。而 Inverse Scaling 则相反——任务表现随模型规模增大而变差,其根源通常来自训练目标与训练数据本身的缺陷。

这一现象的证据集中体现在论文《Inverse Scaling: When Bigger Isn't Better》(Ian R. McKenzie 等,arXiv:2306.09479,2023)中。该论文通过一场奖金丰厚的公开竞赛——Inverse Scaling Prize(逆缩放奖)——收集了 11 个出现逆缩放现象的数据集,并从中归纳出四类潜在成因:

  1. 偏好重复记忆序列,而非遵循上下文指令(preference to repeat memorized sequences over following in-context instructions);
  2. 模仿训练数据中的不良模式(imitation of undesirable patterns in the training data);
  3. 任务中混入了一个"容易的干扰子任务",LM 可能聚焦于干扰任务而忽略真正的难题(tasks containing an easy distractor task which LMs could focus on, rather than the harder real task);
  4. 少样本演示本身正确但具有误导性(correct but misleading few-shot demonstrations of the task)。

这些数据集还帮助研究者发现了U 形与倒 U 形(U-shaped and inverted-U)缩放趋势——即初始趋势在更大规模下发生反转,说明仅凭小规模模型的缩放趋势来预测大模型行为并不可靠。

实现说明:本仓库中的 Inverse Scaling 任务并非 Inverse Scaling Prize 的官方实现,而是由 h-albert-lee 在论文作者许可下实现的(README 中明确注明)。原始数据集主页为 Inverse Scaling Prize 官方仓库。

二、仓库中的任务与分组结构

在 lm-evaluation-harness 中,Inverse Scaling 任务位于 lm_eval/tasks/inverse_scaling/ 目录,包含:

  • 1 个共享配置模板:_inverse_scaling_mc_yaml
  • 11 个任务 YAML:inverse_scaling_hindsight_neglect.yamlinverse_scaling_redefine_math.yamlinverse_scaling_quote_repetition.yamlinverse_scaling_neqa.yamlinverse_scaling_winobias_antistereotype.yamlinverse_scaling_into_the_unknown.yamlinverse_scaling_memo_trap.yamlinverse_scaling_modus_tollens.yamlinverse_scaling_pattern_matching_suppression.yamlinverse_scaling_repetitive_algebra.yamlinverse_scaling_sig_figs.yaml
  • 1 个评测结果参考文件:_some_results

分组(Group):inverse_scaling_mc

inverse_scaling_mc是所有这些任务的统合分组,对应 Inverse Scaling Prize 的全部任务(目前除 Prompt Injection 外),其评测设置与论文作者在OPT 模型上的多选(multiple-choice)分类评测实现保持一致。README 特别强调:

这些任务匹配的是已发布的数据集版本,与论文中的数字可能略有差异;但已针对 https://huggingface.co/inverse-scaling/opt-1.3b_eval 上报告的多个规模的 OPT 结果做了等价性测试。

任务清单(Tasks)

任务名数据来源(dataset_path)
inverse_scaling_hindsight_neglect_10shotinverse-scaling/hindsight-neglect-10shot
inverse_scaling_redefine_mathinverse-scaling/redefine-math
inverse_scaling_quote_repetitioninverse-scaling/quote-repetition
inverse_scaling_neqainverse-scaling/NeQA
inverse_scaling_winobias_antistereotypemathemakitten/winobias_antistereotype_test_v5
inverse_scaling_into_the_unknownAlbertmade/into-the-unknown
inverse_scaling_memo_trapAlbertmade/memo-trap
inverse_scaling_modus_tollensAlbertmade/modus-tollens
inverse_scaling_pattern_matching_suppressionAlbertmade/pattern-matching-suppression
inverse_scaling_repetitive_algebraAlbertmade/repetitive-algebra
inverse_scaling_sig_figsAlbertmade/sig-figs

其中inverse_scaling_winobias_antistereotype比较特殊:它不是Inverse Scaling Prize 的官方获奖任务,而是反刻板印象(antistereotype)变体,其评测结果同样在 opt-1.3b_eval 中报告过,因此被纳入本任务族。

三、共享配置模板:_inverse_scaling_mc_yaml详解

winobias_antistereotype外,其余 10 个任务均通过include: _inverse_scaling_mc_yaml继承同一份多选评测配置(模板文件)。这是理解整个任务族的关键,逐项解读如下:

tag: - inverse_scaling_mc # 将任务归入 inverse_scaling_mc 分组 output_type: multiple_choice # 评测方式:多选(计算各选项的条件对数概率) test_split: train # 使用数据集的 train 划分作为测试集 doc_to_text: prompt # 从样本中取 prompt 字段作为输入文本 doc_to_choice: classes # 从样本中取 classes 字段作为候选选项列表 doc_to_target: answer_index # 从样本中取 answer_index 字段作为正确选项下标 target_delimiter: "" # 输入文本与选项之间不加分隔符 metric_list: - metric: acc # 准确率 aggregation: mean higher_is_better: true - metric: acc_norm # 按长度归一化的准确率 aggregation: mean higher_is_better: true metadata: version: 0

关键设计要点:

  • output_type: multiple_choice:框架会对每个候选选项分别计算续写对数概率(loglikelihood),选择概率最高的选项作为模型答案。这与论文在 OPT 上使用的多选分类评测方式一致。
  • doc_to_text/doc_to_choice/doc_to_target:三个字段分别完成"取题面、取选项、取答案"的样本映射,无需额外 Python 处理函数即可把 HF 数据集样本转为评测实例。
  • test_split: train:Inverse Scaling Prize 数据集没有传统意义上的 test 划分,模型未见过的样本就存放在train划分中,因此这里显式指定使用train作为评测集。
  • target_delimiter: "":题面与答案之间不插入任何分隔符,避免引入额外 token 影响概率计算,保证与原始评测设置对齐。
  • 双指标:同时报告accacc_normacc_norm按选项长度对条件对数概率做归一化,能削弱"长选项天然概率低"的偏差,在逆缩放任务中两者通常高度一致(见下文_some_results)。

特例:winobias_antistereotype 的独立配置

inverse_scaling_winobias_antistereotype.yaml 未继承共享模板,而是独立书写:

task: inverse_scaling_winobias_antistereotype dataset_path: mathemakitten/winobias_antistereotype_test_v5 output_type: multiple_choice test_split: test # 注意:使用 test 划分 doc_to_text: text # 字段名不同:text / classes / target doc_to_choice: classes doc_to_target: target metric_list: - metric: acc aggregation: mean higher_is_better: true - metric: acc_norm aggregation: mean higher_is_better: true metadata: version: 0

其差异在于:数据集字段名不同(text/target而非prompt/answer_index),评测划分使用test而非train

四、参考评测结果:_some_results

仓库提供了 _some_results 文件,记录了使用facebook/opt-2.7badd_bos_token=True, dtype=float32, batch_size=auto(32))在 0-shot 下的实测输出,可作为复现时对拍参考:

任务accacc_norm
inverse_scaling_hindsight_neglect_10shot0.4476 ± 0.02810.4476 ± 0.0281
inverse_scaling_neqa0.5300 ± 0.02890.5300 ± 0.0289
inverse_scaling_quote_repetition0.9367 ± 0.01410.9367 ± 0.0141
inverse_scaling_redefine_math0.7178 ± 0.01500.7178 ± 0.0150
inverse_scaling_winobias_antistereotype0.3786 ± 0.02390.4126 ± 0.0243
inverse_scaling_mc(分组聚合)0.6210 ± 0.00950.6273 ± 0.0096

可以观察到:大部分任务的accacc_norm数值一致,仅 winobias_antistereotype 存在明显差异(0.3786 vs 0.4126),说明该任务选项长度分布不均,归一化指标影响显著。文件中还记录了第二次运行结果(acc_norm 0.6291),数值略有波动,属正常抽样误差。

从这些数字可以直观感受逆缩放现象:例如 hindsight_neglect_10shot 的准确率约 0.45,接近随机猜测水平(二分类为 0.5),而规模更大的模型在此类任务上甚至可能更低。

五、如何运行评测

1. 运行单个任务

在仓库根目录执行lm_eval命令行接口即可评测单个任务,例如:

lm_eval --model hf \ --model_args pretrained=facebook/opt-2.7b,add_bos_token=True \ --tasks inverse_scaling_neqa \ --batch_size auto

2. 运行整个分组

如需评测全部 Inverse Scaling 多选任务并得到分组聚合结果,直接指定分组名:

lm_eval --model hf \ --model_args pretrained=facebook/opt-2.7b,add_bos_token=True \ --tasks inverse_scaling_mc \ --batch_size auto

框架会自动加载分组下全部任务,输出每个任务的 acc / acc_norm,并给出inverse_scaling_mc分组的聚合值(如_some_results中所示,聚合方式为各任务指标的加权平均)。

3. 运行参数说明

  • --model hf:使用 Hugging Face transformers 模型;
  • --model_args pretrained=...:指定模型权重;复现仓库参考结果时建议带上add_bos_token=True(OPT 需要 BOS token 以获得正确续写概率),并使用dtype=float32
  • --tasks:任务名或分组名,多个用逗号分隔;
  • --batch_size auto:自动选择批大小,仓库参考结果即在auto(32)下得到;
  • --num_fewshot:默认 0-shot,任务名中的10shot指的是数据集内部的演示配置(hindsight-neglect-10shot 自带 10 条误导性演示),而非运行时的 fewshot 参数,这一点需要注意区分。

六、扩展:如何将新任务接入本任务族

基于共享模板的设计,接入新数据集十分轻量。只需新建 YAML 并满足以下条件:

  1. 数据集样本包含prompt(题面)、classes(选项列表)、answer_index(正确下标)三个字段;
  2. 继承共享模板(include: _inverse_scaling_mc_yaml)并覆盖taskdataset_path,如:
include: _inverse_scaling_mc_yaml task: inverse_scaling_my_new_task dataset_path: my-org/my-dataset
  1. 若字段命名不同,需自行书写完整配置(参照 winobias_antistereotype 的做法,映射doc_to_text/doc_to_choice/doc_to_target)。

从源码结构看,这一机制依托于框架的 YAML 任务加载与include继承体系(任务工厂、YAML 加载器),tag字段则负责把任务归入分组以便--tasks inverse_scaling_mc批量调度。

七、总结与注意事项

  • 评测口径:本任务族的多选评测实现与论文作者在 OPT 上的评测一致,匹配的是官方发布的数据集版本,复现时以 _some_results 中的 OPT 结果为对拍基准;
  • 逆缩放的可复现性:通过在不同规模模型(如 OPT-1.3B、2.7B、6.7B…)上运行本任务族,即可复现论文中"规模增大、性能下降"的逆缩放曲线,以及 U 形 / 倒 U 形缩放趋势;
  • 引用规范:若在论文或报告中引用该数据集,请使用 README 中给出的 BibTeX 条目(McKenzie et al., 2023, arXiv:2306.09479),并在实现层面注明本仓库任务为社区实现而非官方实现;
  • 已知局限inverse_scaling_mc分组目前未包含 Prompt Injection 任务;winobias_antistereotype 非官方获奖任务,解读结果时需注意其定位差异。

【免费下载链接】lm-evaluation-harnessA framework for few-shot evaluation of language models.项目地址: https://gitcode.com/GitHub_Trending/lm/lm-evaluation-harness

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/15 11:44:13

AI如何通过NLP技术革新毕业论文写作全流程

1. 项目概述:AI如何重塑毕业论文写作体验第一次接触"书匠策AI"这个工具时,我正在指导一位大四学生的毕业论文。那个深夜,学生发来第7稿修改文档,文档里密密麻麻的批注和反复修改的段落让我突然意识到:传统论…

作者头像 李华
网站建设 2026/9/15 11:44:10

OpenCV滑块验证码识别与模拟拖动:从图像处理到自动化实战

直接开始写正文,以下就是这篇文章的完整内容。各位做Web自动化、爬虫、RPA的朋友,应该都对滑块验证码不陌生。它几乎是目前互联网上最常见的反自动化手段,形式也五花八门:有的是拖动拼图,有的是按住完成旋转&#xff0…

作者头像 李华
网站建设 2026/9/15 11:43:46

斯威士兰口岸强制型式审批新政正式落地

政策背景2026 年 4 月,斯威士兰通信委员会(ESCCOM)发布第 4/2026 号一般通知,宣布自 2026 年 4 月 13 日(周一)起,对所有进口或在斯威士兰境内使用的电子通信设备,强制要求提供型式审…

作者头像 李华
网站建设 2026/9/15 11:43:34

私域运营效率翻倍:微信多号聚合与自动运营全攻略

做私域运营做到第三年,我终于承认一个事实:让我每天加班到深夜的,不是客户太难搞,而是我自己太“忙”了。工位上三台手机排成一排,微信小红点从早闪到晚,我要么在切换账号,要么在复制粘贴同一段…

作者头像 李华