资讯动态

lm-evaluation-harness 巴斯克语长文本阅读理解任务 EusReading 详解:数据来源、评测配置与源码实现

发布时间:2026/9/15 22:22:59 来源:尧图企业网站定制
lm-evaluation-harness 巴斯克语长文本阅读理解任务 EusReading 详解数据来源、评测配置与源码实现【免费下载链接】lm-evaluation-harnessA framework for few-shot evaluation of language models.项目地址: https://gitcode.com/GitHub_Trending/lm/lm-evaluation-harness本指南深入解析 lm-evaluation-harness 中的eus_reading评测任务它以巴斯克语 EGA 考试真题为数据来源构建的 352 道长文本阅读理解题irakurmena用于衡量语言模型的长上下文理解能力。阅读本文后你将掌握该任务的数据背景、YAML 评测配置的每一个字段含义、提示词模板的构造逻辑以及如何通过basque_bench组或独立任务名一键运行评测并解读结果。一、任务概述什么是 EusReadingeus_reading任务在 任务索引 中被归类为 Reading comprehension tasks specifically designed for the Basque language专为巴斯克语设计的阅读理解任务其完整定义见 任务 README。该任务对应论文《Latxa: An Open Language Model and Evaluation Suite for Basque》arXiv 摘要是 Latxa 项目为巴斯克语大模型配套发布的评测套件之一。EusReading 数据集由以下特征构成数据规模352 道阅读理解练习巴斯克语中称为irakurmena数据来源1998 年至 2008 年间 EGA 考试的过往真题EGA 为面向成人的巴斯克语水平考试类似巴斯克语能力认证考试题型结构每套测试通常包含 10 道单选题每道题 4 个选项、仅有 1 个正确答案难度定位由于输入文本的长度与复杂度这些练习比 Belebele 更具挑战性因此 EusReading 特别适合用于衡量模型的长上下文理解能力long context understanding。注README 中给出的 Homepage 为 Latxa 项目主页https://github.com/hitz-zentroa/latxa数据集托管于 Hugging Face 的HiTZ/EusReading按本任务规范正文不再输出外部站点链接相关来源信息均可在任务 YAML 的dataset_path字段与 README 中查到。二、引用规范在论文或技术报告中引用该评测任务时README 提供了标准的 BibTeX 条目可直接引用 Latxa 论文misc{etxaniz2024latxa, title{Latxa: An Open Language Model and Evaluation Suite for Basque}, author{Julen Etxaniz and Oscar Sainz and Naiara Perez and Itziar Aldabe and German Rigau and Eneko Agirre and Aitor Ormazabal and Mikel Artetxe and Aitor Soroa}, year{2024}, eprint{2403.20266}, archivePrefix{arXiv}, primaryClass{cs.CL} }三、任务注册与分组关系3.1 任务定义文件eus_reading的完整实现位于 lm_eval/tasks/eus_reading/共包含三个文件文件作用eus_reading.yaml任务注册配置声明数据集、切分、输出类型与指标utils.py文档格式化函数构造提示词模板与选项列表README.md任务文档数据背景、引用与维护检查清单3.2 在 BasqueBench 组中的位置虽然eus_reading自身没有独立的分组README 明确注明 There are no groups但它被收纳进巴斯克语综合评测基准BasqueBench组中。在 basque_bench 组定义 中eus_reading与arc_eu_challenge、belebele_eus_Latn、mgsm_native_cot_eu、xnli_eu等 18 项任务并列共同构成对巴斯克语模型理解与生成能力的全面评估见 BasqueBench README。由此评测时存在两种调用路径# 方式一单独评测 EusReading lm_eval --model hf --model_args pretrainedyour_model --tasks eus_reading # 方式二作为 BasqueBench 组的一部分参与综合评测 lm_eval --model hf --model_args pretrainedyour_model --tasks basque_bench四、评测配置逐字段解析eus_reading.yaml 是任务的大脑全文共 16 行每个字段都直接决定评测行为dataset_path: HiTZ/EusReading dataset_name: default task: eus_reading doc_to_text: !function utils.doc_to_text_context doc_to_choice: !function utils.doc_to_choice validation_split: null test_split: test fewshot_split: test output_type: multiple_choice doc_to_target: answer metric_list: - metric: acc aggregation: mean higher_is_better: true metadata: version: 0.0各字段含义与设计意图字段取值说明dataset_pathHiTZ/EusReading指向 Hugging Face 上的数据集仓库加载时无需额外指定本地路径dataset_namedefault使用数据集的默认子集配置taskeus_reading任务注册名也是 CLI 中--tasks使用的标识符doc_to_text!function utils.doc_to_text_context指定文档格式化函数用于构造送入模型的提示词见第五节doc_to_choice!function utils.doc_to_choice返回候选选项列表供multiple_choice输出类型计算各选项概率validation_splitnull不使用验证集避免评测集污染test_splittest评测在test切分上进行fewshot_splittest少样本示例同样取自test切分保证示例与评测数据同分布output_typemultiple_choice多选一评测模式harness 会为每个选项计算 loglikelihood 并选出概率最高者doc_to_targetanswer正确答案字段名来自数据集每条样本的answer键metric_listaccaggregation: mean、higher_is_better: true主指标为准确率按均值聚合越大越好metadata.version0.0任务版本号用于结果缓存与复现追踪值得注意的设计细节是fewshot_split: test由于该数据集没有提供独立验证切分作者选择在测试集上抽取 few-shot 示例这在评测小语种数据集时是一种常见且务实的做法——示例文本与待测样本均来自同一分布且总量352 题较小不会显著影响评测公平性。五、提示词模板与选项构造的源码实现utils.py 中实现了两个被 YAML 引用的函数它们共同决定模型看到的输入形态。5.1 文档 → 提示词模板doc_to_text_contextdef doc_to_text_context(doc) - str: candidates doc[candidates] num_choices len(candidates) if num_choices 2: raise ValueError(Invalid number of candidates) choices letters[:num_choices] formatted_choices \n.join( [f{choice}: {candidates[i]} for i, choice in enumerate(choices)] ) return fPasartea: {doc[context]}\n\nGaldera: {doc[question]}\n{formatted_choices}\nErantzuna:该函数的核心逻辑从样本字典中取出candidates候选列表并校验数量少于 2 个选项直接抛出ValueError避免非法输入进入评测用全局常量letters [A, B, C, D]按选项数量截取字母编号将选项逐行格式化为A: 选项内容的形式拼接出完整的巴斯克语提示词模板Pasartea: 阅读文本 Galdera: 问题 A: 选项A B: 选项B C: 选项C D: 选项D Erantzuna:其中Pasartea篇章、Galdera问题、Erantzuna答案均为巴斯克语模板以Erantzuna:结尾引导模型续写出正确选项字母。这种上下文 问题 编号选项 答案前缀的结构是阅读理解类任务的标准 prompting 范式也让长文本上下文得以完整送入模型从而兑现 README 中衡量长上下文理解能力的设计目标。5.2 候选选项提取doc_to_choicedef doc_to_choice(doc) - List[str]: num_choices len(doc[candidates]) if num_choices 2: raise ValueError(Invalid number of candidates) return letters[:num_choices]该函数同样从candidates推导选项数量返回[A, B, C, D]中对应长度的前缀列表。在 harness 的multiple_choice模式下评测框架会将每个字母视为候选续写通过doc_to_text生成的模板分别计算各选项的 loglikelihood再取概率最高的选项作为模型预测与doc_to_target指向的answer字段比对后计入准确率。六、运行评测与结果解读6.1 命令行运行在安装好 lm-evaluation-harness 并激活对应 Python 环境后可以按如下命令运行以 Hugging Face 模型为例lm_eval --model hf \ --model_args pretrainedHiTZ/Latxa-7B-v1.1 \ --tasks eus_reading \ --batch_size auto要点说明--model hf表示使用 Hugging Face Transformers 后端--model_args中通过pretrained指定模型权重名称或本地路径--tasks eus_reading指定任务名如需连同其他巴斯克语任务一起评测可改为basque_bench由于 EusReading 文本较长建议关注--max_length相关配置默认受模型上下文窗口约束以充分发挥其长上下文评测价值评测结束后harness 会输出类似eus_reading: {acc,none: 0.xxxx}的结果acc即为该任务的平均准确率。6.2 结果含义acc指标higher_is_better: true取值越高说明模型在巴斯克语长文本阅读与多选题作答上的能力越强由于题目难度高于 Belebele后者为平行短文本多语言数据集eus_reading的绝对分数通常会低于belebele_eus_Latn二者分数差可作为衡量模型长上下文处理能力的参考信号结果可配合 harness 的--output_path与--log_samples参数保存便于复现与对比不同模型、不同 few-shot 配置下的表现。七、小结eus_reading是 lm-evaluation-harness 中极具代表性的低资源语言长文本评测任务数据层面源自 1998–2008 年 EGA 考试真题的 352 道四选一阅读理解题天然具备长文本、高难度的特性实现层面任务仅由一个 16 行 YAML 与一个 40 余行的 utils 模块构成却完整覆盖了数据集加载、提示词构造、选项打分、指标聚合的全链路集成层面既可作为独立任务运行也可通过basque_bench组参与巴斯克语综合评测。对研究巴斯克语 NLP、低资源语言评测或长上下文理解能力的开发者而言该任务是一个轻量且实用的基准结合 BasqueBench README 中的其他巴斯克语任务eus_exams_eu、eus_proficiency、eus_trivia等可以搭建起覆盖阅读、问答、能力测试与常识推理的多维度评测矩阵。【免费下载链接】lm-evaluation-harnessA framework for few-shot evaluation of language models.项目地址: https://gitcode.com/GitHub_Trending/lm/lm-evaluation-harness创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价