Evalita-LLM:在 lm-evaluation-harness 中评估意大利语大语言模型的多任务基准指南

发布时间:2026/9/15 12:42:32

Evalita-LLM:在 lm-evaluation-harness 中评估意大利语大语言模型的多任务基准指南 Evalita-LLM在 lm-evaluation-harness 中评估意大利语大语言模型的多任务基准指南【免费下载链接】lm-evaluation-harnessA framework for few-shot evaluation of language models.项目地址: https://gitcode.com/GitHub_Trending/lm/lm-evaluation-harnessEvalita-LLM 是专为意大利语大语言模型LLM评估设计的基准由 Magnini 等人在 2025 年提出arXiv:2502.02289。本指南围绕该基准在 lm-evaluation-harness 中的完整集成实现展开讲解其任务分组体系、YAML 配置结构、多提示词multi-prompt评估机制以及生成式任务的指标聚合原理读者将掌握通过lm_eval命令一键评估任意模型在 10 个意大利语任务上表现的具体方法并理解其评测结果在仓库中的计算方式。一、基准背景为什么需要原生意大利语评估Evalita-LLM 是 EVALITA 评测活动意大利语自然语言处理评测衍生出的 LLM 基准其设计目标与仓库中其他多语言基准如 global_mmlu不同它具备三个区分性特征所有任务均为原生意大利语native Italian数据直接以意大利语构建避免了从英语翻译成意大利语所带来的语言损耗和潜在文化偏见在成熟的多选题任务之外引入生成式任务generative tasks使模型评测更接近与 LLM 的自然交互方式而非仅限于基于困惑度perplexity的选项打分每个任务都使用多个提示词prompts进行评估缓解模型对特定提示词的敏感性使评测结果更公平、更客观。在仓库中该基准的完整实现位于 lm_eval/tasks/evalita_llm核心入口文档即 lm_eval/tasks/evalita_llm/README.md。引用信息如果论文或报告中使用了该基准README 提供了标准的 BibTeX 引用Magnini, Zanoli, Resta, Cimmino, Albano, Madeddu, Patti《Evalita-LLM: Benchmarking Large Language Models on Italian》2025。二、任务分组体系三个组合评测入口仓库将 Evalita-LLM 的全部任务组织为三个层级的组group分别在三个 YAML 文件中定义组名别名group_alias包含内容定义文件evalita-mpEvalita-LLM全部 10 个任务perplexity 类 生成类_evalita-mp.yamlevalita-mp_genEvalita-LLM - Generative仅生成式任务4 个_evalita-mp_gen.yamlevalita-mp_mcEvalita-LLM - PPL-based仅基于困惑度的任务6 个_evalita-mp_mc.yaml2.1 全量组 evalita-mp_evalita-mp.yaml 通过task列表聚合 10 个任务并使用aggregate_metric_list声明组级聚合指标为acc准确率且weight_by_size: True表示按样本量加权平均group: evalita-mp group_alias: Evalita-LLM task: - evalita-mp_te - evalita-mp_sa - evalita-mp_wic - evalita-mp_hs - evalita-mp_at - evalita-mp_faq - evalita-mp_sum_fp - evalita-mp_ls - evalita-mp_ner_group - evalita-mp_re aggregate_metric_list: - metric: acc weight_by_size: True metadata: version: 12.2 生成式子组 evalita-mp_gen_evalita-mp_gen.yaml 只保留 4 个generate_until输出类型的任务Summarizationevalita-mp_sum_fp、Lexical Substitutionevalita-mp_ls、Named Entity Recognitionevalita-mp_ner_group、Relation Extractionevalita-mp_re。2.3 困惑度子组 evalita-mp_mc_evalita-mp_mc.yaml 只保留 6 个multiple_choice输出类型的任务Textual Entailmentevalita-mp_te、Sentiment Analysisevalita-mp_sa、Word in Contextevalita-mp_wic、Hate Speech Detectionevalita-mp_hs、Admission Testsevalita-mp_at、FAQevalita-mp_faq。三、可单独评估的 10 个任务README 明确列出以下任务均可脱离组单独评估每个任务名即--tasks参数可用的任务标识符任务标识符任务名称意大利语任务输出类型evalita-mp_teTextual Entailment文本蕴含multiple_choiceevalita-mp_saSentiment Analysis情感分析multiple_choiceevalita-mp_wicWord in Context上下文词义multiple_choiceevalita-mp_hsHate Speech Detection仇恨言论检测multiple_choiceevalita-mp_atAdmission Tests入学测试multiple_choiceevalita-mp_faqFAQ问答multiple_choiceevalita-mp_sum_fpSummarization摘要生成generate_untilevalita-mp_lsLexical Substitution词汇替换generate_untilevalita-mp_ner_groupNamed Entity Recognition命名实体识别generate_untilevalita-mp_reRelation Extraction关系抽取generate_until从源码结构可以推断每个任务的实现采用模板 提示词变体的分层组织底层是_*_template_yaml定义数据集、输出类型、目标提取与指标上层是_evalita-mp_*_pN.yamlN1..6定义不同提示词的变体再由_evalita-mp_*_tasks.yaml通过tag机制聚合。四、快速上手运行评估README 给出的标准评估命令如下使用 Hugging Face 模型后端hf加载 Llama-2-7B在cuda:0上以auto批大小运行全量基准lm_eval --model hf --model_args pretrainedmeta-llama/Llama-2-7b-hf --tasks evalita-mp --device cuda:0 --batch_size auto参数含义与仓库 CLI 实现lm_eval/_cli对应如下--model hf使用 huggingface.py 实现的本地 Hugging Face 模型加载器--model_args pretrained...指定模型名称或本地路径--tasks evalita-mp评测全量组也可替换为evalita-mp_gen、evalita-mp_mc或上表中的单个任务名支持逗号分隔多个任务--device cuda:0指定推理设备--batch_size auto自动选择批大小。若只评估生成式子集可运行lm_eval --model hf --model_args pretrainedmeta-llama/Llama-2-7b-hf --tasks evalita-mp_gen --device cuda:0 --batch_size auto五、基于困惑度的任务实现详解evalita-mp_mc 组这 6 个任务全部使用output_type: multiple_choice即对每个选项计算对数似然取概率最高的选项作为答案。所有数据集托管在 Hugging Face 的evalitahf组织下。5.1 Textual Entailmentevalita-mp_te模板 _te_template_yaml 定义dataset_path: evalitahf/textual_entailment output_type: multiple_choice test_split: test fewshot_split: dev validation_split: dev doc_to_target: {{ 0 if entailment SI else 1 }} doc_to_choice: [Sì, No] metric_list: - metric: acc aggregation: mean higher_is_better: true标签字段entailment为SI时目标为 0Sì是否则为 1No否选项为意大利语的是/否提示词变体 _evalita-mp_te_p1.yaml 定义了doc_to_textLa frase: {{text1}} implica logicamente che la frase: {{text2}} sia vera?句子 X 在逻辑上蕴含句子 Y 为真吗。仓库保留被注释的旧提示词用于对比说明多提示词策略的演进任务组 _evalita-mp_te_tasks.yaml 以tag: evalita-mp_te_tasks关联所有 prompt 变体并以acc按样本量加权聚合。5.2 Sentiment Analysisevalita-mp_sa模板 _sa_template_v2_yaml 定义四分类情感任务dataset_path: evalitahf/sentiment_analysis output_type: multiple_choice test_split: test fewshot_split: train validation_split: test doc_to_target: !function utils.sa_doc_to_target_v2 doc_to_choice: [positivo, negativo, neutrale, misto]数据集字段opospositive 极性与onegnegative 极性被 utils.py 中的sa_doc_to_target_v2映射为 0/1/2/3 四个类别索引pos1,neg0 → 0pos0,neg1 → 1双 0 → 2双 1 → 3对应选项[positivo, negativo, neutrale, misto]该任务不是简单用acc而是使用 F1 指标且聚合函数为 metrics.py 中的自定义_aggreg_sa由于提示词把任务改写成四分类多项选择而原始标注是正向/负向两个独立二分类opos、oneg聚合时先通过_map_to_original_labels将四分类预测/标签还原成两个二分类标签序列再分别计算两个类的 F1 并取平均从而与原始任务的评分口径对齐提示词变体 _evalita-mp_sa_p1.yaml 的doc_to_text为Qual è il sentiment espresso nel seguente tweet: {{text}}?。5.3 Word in Contextevalita-mp_wic模板 _wic_template_yamldataset_path: evalitahf/word_in_context dataset_name: default output_type: multiple_choice test_split: test fewshot_split: dev validation_split: dev doc_to_target: label # 0: No, 1: Si doc_to_choice: [No, Sì] metric_list: - metric: f1 higher_is_better: true aggregation: f1该任务判断同一单词在两个上下文中是否词义一致目标字段为label0 表示否、1 表示是选用 F1 指标。5.4 Hate Speech Detectionevalita-mp_hs模板 _hs_template_yamldataset_path: evalitahf/hatespeech_detection output_type: multiple_choice test_split: test_all fewshot_split: dev validation_split: dev doc_to_target: hs # 0 Falso, 1 Vero doc_to_choice: [Falso, Vero]判断文本是否包含仇恨言论选项为意大利语Falso假/ Vero真测试划分使用test_all。5.5 Admission Testsevalita-mp_at模板 _at_template_yaml 为多选题任务dataset_path: evalitahf/admission_test output_type: multiple_choice test_split: test fewshot_split: dev validation_split: test doc_to_target: Correct doc_to_choice: [A, B, C, D, E]提示词变体 _evalita-mp_at_task_p1.yaml 将其塑造成医学入学考题doc_to_text: Dato il seguente quesito di medicina: {{Question}} qual è la risposta corretta? doc_to_choice: {{[A,B,C,D,E]}} doc_to_target: {{ A if Correct A else B if Correct B else C if Correct C else D if Correct D else E}} metric_list: - metric: acc aggregation: mean higher_is_better: true - metric: acc_norm aggregation: mean higher_is_better: true该变体同时上报acc与acc_norm两种指标acc_norm按选项长度归一化对数似然且通过 Jinja 表达式把正确答案字母映射为对应选项文本作为目标。5.6 FAQevalita-mp_faq模板 _faq_template_yamldataset_path: evalitahf/faq test_split: test_1 fewshot_split: dev_1 doc_to_target: !function utils.faq_doc_to_target doc_to_choice: [A, B, C, D] output_type: multiple_choice目标由 utils.py 的faq_doc_to_target将数据集字段correct_answerA/B/C/D映射为选项索引若取值不在范围内会通过日志发出警告。六、生成式任务实现详解evalita-mp_gen 组这 4 个任务使用output_type: generate_until模型自由生成文本再通过process_results函数与金标对比计算指标。生成停止条件统一使用until: [/s]。6.1 Summarizationevalita-mp_sum_fp模板 _sum_template_fp_yaml 使用 Fanpage 新闻摘要数据集dataset_path: ARTeLab/fanpage output_type: generate_until generation_kwargs: until: - /s test_split: test doc_to_target: {{target}}指标计算依赖 sum_utils.pyprocess_results_sum通过evaluate库加载 ROUGE 指标对每个样本计算rouge1并以rouge1作为metric_list中的上报指标。组定义 _evalita-mp_sum_fp_task.yaml 声明metric: rouge1、weight_by_size: True。仓库中还存在基于silvia-casola/WITS数据集与test_100划分的另一套摘要模板 _sum_template_yaml可作为对比参考。6.2 Lexical Substitutionevalita-mp_ls模板 _ls_template_yamldataset_path: evalitahf/lexical_substitution test_split: test validation_split: dev fewshot_split: dev output_type: generate_until generation_kwargs: until: - /s doc_to_target: !function utils.ls_doc_to_target process_results: !function utils.ls_process_results metric_list: - metric: f1 higher_is_better: True aggregation: !function metrics._aggreg_ls该任务要求模型为句子中目标词给出同义词。评分逻辑在 utils.py 中金标由ls_doc_to_target序列化为逗号分隔的同义词列表若无标注则返回占位符NOSYNls_process_results用正则LS_SPLIT_REGEX r[^,]切分模型输出最多取前 10 个候选词与标注者给出的同义词及其频次比对计算精度precision并返回(prec, has_answ, has_annotation)三元组组级聚合 metrics.py 的_aggreg_ls在语料层面汇总|A|模型给出答案数与|T|有标注数计算最终 precision、recall 与 F1并对分母为 0 的情况做了保护。6.3 Named Entity Recognitionevalita-mp_ner_groupNER 是唯一拥有子组结构的生成式任务。_evalita-mp_ner_group.yaml 聚合三个领域子组evalita-mp_ner_tasks_fic虚构类、evalita-mp_ner_tasks_adg、evalita-mp_ner_tasks_wn对应仓库中的_evalita-mp_ner_fic*、_evalita-mp_ner_adg*、_evalita-mp_ner_wn*系列文件。模板 _ner_template_yamldataset_path: evalitahf/entity_recognition output_type: generate_until generation_kwargs: until: - /s - \n doc_to_target: !function utils.ner_doc_to_target process_results: !function utils.ner_process_results metric_list: - metric: f1 higher_is_better: True aggregation: !function metrics._aggreg_ner模型输出采用实体$类型,实体$类型的序列化格式分隔符见 utils.py 中的NER_ENTITY_SEPARATOR ,与NER_TYPE_SEPARATOR $无实体时返回NOENT。ner_process_results将解析后的(实体文本, 类型)列表与金标实体逐项匹配把结果映射为 PER/LOC/ORG/O 四类标签NER_MAPPING并对预测多于金标补齐假阳性与无实体且无预测空标签等边界情况做了显式处理组级聚合_aggreg_ner将语料内所有预测/金标拼接后计算除O类以外的平均 F1。6.4 Relation Extractionevalita-mp_re模板 _re_template_yamldataset_path: evalitahf/relation_extraction test_split: test output_type: generate_until generation_kwargs: until: - /s doc_to_target: !function utils.re_doc_to_target process_results: !function utils.rel_process_results_v3 metric_list: - metric: f1 higher_is_better: True aggregation: !function metrics._aggreg_rel输出格式为实体1$实体2%实体3$实体4INTRA_REL_SEPARATOR $、INTER_REL_SEPARATOR %无关系返回NOREL。rel_process_results_v3实现不区分关系抽取顺序的评分完整覆盖四种情形——模型未答且金标存在假阴性、均无真阴性、模型多答假阳性、以及逐条比对匹配已匹配的关系从候选集中删除多余预测计为假阳性。组级聚合_aggreg_rel按 macro 平均计算 F1。七、多提示词multi-prompt机制同一任务 6 套提示词README 强调的所有任务用多个提示词评估在仓库中体现为_evalita-mp_*_p1.yaml至_evalita-mp_*_p6.yaml的变体文件各任务变体数量不一如 TE/SA/WIC/HS/FAQ 有 6 个LS 有 2 个AT 有 6 个。每个变体的结构一致tag: evalita-mp_te_tasks # 与组定义中的 task 项对应的 tag include: _te_template_yaml # 继承模板的全部字段 task: evalita-mp_te_prompt-1 # 变体任务名 task_alias: prompt-1 # 报告中的显示别名 doc_to_text: ... # 该变体独有的提示词以 TE 为例_evalita-mp_te_p1.yaml 通过include继承模板的dataset_path、output_type、doc_to_target等全部字段仅重写doc_to_text并允许在变体级别覆盖metric_list如 SA 变体即覆盖了聚合函数。这种模板继承 变体重写的设计使得新增提示词只需新增一个几行的 YAML 文件与仓库任务配置规范见 docs/config_files.md一致。八、指标与自定义聚合函数总览汇总各任务的评测指标与实现位置任务指标聚合方式实现位置TE / AT / FAQaccAT 另有 acc_normmean组级按样本加权内建指标SAf1自定义_aggreg_sa还原 opos/oneg 二分类后平均metrics.pyWICf1内建 f1内建指标HSacc组级mean内建指标SUM_FProuge1内建 rouge1sum_utils.pyLSf1自定义_aggreg_ls语料级 P/R/F1metrics.pyNERf1自定义_aggreg_ner去除 O 类的平均 F1metrics.pyREf1自定义_aggreg_relmacro F1metrics.pymetrics.py 基于sklearn.metrics的f1_score、precision_score、recall_score实现全部自定义聚合并在文件末尾保留了文档定年Document Dating任务的_aggreg_dd说明该文件随基准演进持续扩展。九、版本变更记录与维护说明README 记录了当前唯一一条变更v0.1将evalita-mp_sum_fp的小型变体组重命名为evalita-mp_sum_fp_small以解决其与完整变体full variant之间的重复组名冲突。仓库文件系统印证了这一变更摘要任务目录中同时存在_evalita-mp_sum_fp-small_task.yaml、_evalita-mp_sum_fp-small_p1.yaml、_evalita-mp_sum_fp-small_p2.yaml与_evalita-mp_sum_fp_task.yaml、_evalita-mp_sum_fp_p1.yaml等文件二者分别对应不同的数据规模变体。十、配套测试与质量保障作为 lm-evaluation-harness 的标准任务Evalita-LLM 的实现遵循仓库统一的配置加载、few-shot 上下文构建与指标上报流程相关机制见 docs/task_guide.md 与 docs/interface.md。所有任务的metadata.version均为 1 或 1.0符合任务版本化要求README 末尾的 Checklist 也确认该基准已有公开论文已引用、原始实现由基准作者直接贡献且仓库 README 对各变体的评估目标给出了明确说明。结语Evalita-LLM 在 lm-evaluation-harness 中的集成是一个原生语言基准 模板化任务组织 多提示词 生成式指标定制的完整范例通过evalita-mp、evalita-mp_gen、evalita-mp_mc三个入口即可对任意 Hugging Face 模型展开全量或分组的意大利语评测include继承机制让 10 个任务 60 余个提示词变体得以极简维护而metrics.py与utils.py中的自定义函数则保证了生成式任务在语料层面的精确评分。读者可直接复制上文命令将--tasks替换为所需的组名或任务名快速复现论文中的意大利语评测流程。【免费下载链接】lm-evaluation-harnessA framework for few-shot evaluation of language models.项目地址: https://gitcode.com/GitHub_Trending/lm/lm-evaluation-harness创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/9/15 12:42:31

耳夹式耳机选购指南:骨传导技术与佩戴适配深度解析

1. 为什么耳夹式耳机突然成了通勤族和运动党抢着问的“新刚需”?最近三个月,我陆陆续续收到四十多条私信,清一色问:“耳夹式耳机到底靠不靠谱?”“虹觅H2和漫步者Comfo Go 2,蹲在地铁口试听十分钟&#xff…

2026/9/15 12:42:31

DINOv3蒸馏技术入门:3步把 7B 教师的本事教给 S 级模型

DINOv3蒸馏技术入门:3步把 7B 教师的本事教给 S 级模型 【免费下载链接】dinov3 Reference PyTorch implementation and models for DINOv3 项目地址: https://gitcode.com/GitHub_Trending/di/dinov3 21M 参数的 ViT-S,离 6.7B 的 ViT-7B 差多远…

2026/9/15 12:57:33

ASPICE Level 1配置管理实战:从基线建立到评估审计的落地方法

评估前一周,项目经理把配置管理相关的差距清单甩过来:“基线有了,但代码和测试用例对不上号,评估师要我们证明版本怎么控制的。”这种场景,在汽车电子供应链里太常见了。ASPICE(Automotive Software Proces…

2026/9/15 12:57:33

一键清理iOS描述文件与lock文件:skill命令行工具实战

做iOS开发的人,多多少少都被“描述文件”和“lock文件”折磨过。尤其是团队协作、多环境打包、证书来回切换的时候,~/Library/MobileDevice/Provisioning Profiles/下面堆了几百个.mobileprovision,Xcode每次签名都像在抽奖;另一边…

2026/9/15 12:57:33

VSCode远程attach调试失败?深入解析Linux ptrace权限与Yama机制

1. 远程attach报错实录:报错信息、触发场景与适用边界先说结论:这个问题不是VSCode的bug,也不是launch.json写错,更不是你的代码有问题。它是Linux的ptrace权限模型和Yama安全模块共同作用的结果。如果你跟我一样,在Wi…

2026/9/15 12:57:33

Zotero+Obsidian+Bookxnote三件套联动:打造高效文献阅读工作流

Zotero 管文献、Obsidian 管知识、Bookxnote 管精读——这三件套联动起来,是我目前觉得最顺滑的文献阅读方案。以前读一篇论文,要在 PDF 阅读器、文献管理器和笔记软件之间来回切换,摘录、写感想、补引用全是手工活;现在从抓取文献…

2026/9/15 4:54:30

拯救者Y7000黑屏故障排查与维修实战指南

1. 项目概述:一台黑屏的拯救者Y7000,到底卡在哪一步? 联想拯救者Y7000系列笔记本,从2018年第一代搭载i5-8300H开始,到后来的i7-9750H、i7-10750H、i5-11400H,再到2023年款的R7-7840HS,它始终是学…

2026/9/15 0:01:16

AI英语单词APP开发:自适应学习算法与移动端优化实践

1. 项目概述 作为一名在移动应用开发领域摸爬滚打多年的老手,我最近完成了一个AI英语单词APP的开发项目。这个项目将传统单词记忆方法与现代AI技术相结合,打造了一款能够智能适应不同用户学习习惯的英语学习工具。 市面上大多数单词APP都存在一个通病&a…

2026/9/15 0:01:16

Flutter与OpenHarmony结合开发手语学习APP实战

1. 项目背景与核心价值作为一名同时接触过Flutter和OpenHarmony的开发者,最近我完成了一个基于Flutter for OpenHarmony的手语学习APP实战项目。这个项目最大的特点在于实现了跨平台框架与国产操作系统深度结合的创新实践——用Flutter开发的应用能完美运行在OpenHa…

2026/9/15 0:01:16

六个月成为机器人工程师:从ROS2到SLAM的实战路径

1. 六个月的紧迫感从哪来:先搞清楚你要成为哪种机器人工程师说实话,六个月的期限并不是一个宽松的时间线。市面上任何一本正经的机器人学教材都超过五百页,ROS2的官方文档可以翻到你怀疑人生,再加上ABB、KUKA这些工业机器人厂家动…

2026/9/14 11:59:31

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/14 13:53:59

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/15 11:42:23

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码