遇见数据集

llama-mc-datasets

收藏
Hugging Face2026-08-26 更新2026-08-27 收录
官方服务:

资源简介:

该数据集是一个为 llama.cpp 准备的公开多项选择题基准测试集合,所有基准测试已序列化为二进制任务格式,可通过 llama-perplexity --multiple-choice 直接评分,无需中间评估框架。数据集包含多个源自不同来源的基准测试,包括 AQuA-RAT、BoolQ、CareQA(英语和西班牙语)、CommonsenseQA、MedConceptsQA、MedQA(USMLE-4-options)和 MMLU。每个基准测试以单独的文件提供,命名规则为“基准测试名称-拆分.bin”,并附带 manifest.json 记录 SHA256 校验和。文件包含任务数、选项数、随机基线、多数类准确率等信息。评分支持两种模式:text 模式(选项为答案文本本身)和 letter 模式(选项为字母,如 A、B、C、D),具体模式由基准测试的原始评估协议决定。llama.cpp 通过计算每个选项的 log 概率之和并除以 token 数得到 acc_norm 分数。对于 letter 模式,每个选项为单个 token,因此 acc_norm 即为普通准确率。使用时应通过 -bf 参数传递二进制文件,-np 参数需至少等于最大选项数(通常为 5),并验证评分的任务数是否与预期一致。该数据集适用于评估语言模型在多项选择任务上的零样本性能,但注意 letter 模式的分数通常是在小样本设置下发表的,此处为零样本,因此不可直接与排行榜数字比较。

This dataset is a collection of public multiple-choice benchmark tests prepared for llama.cpp. All benchmarks are serialized into binary task format and can be directly scored using llama-perplexity --multiple-choice without an intermediate evaluation framework. The dataset includes multiple benchmarks from various sources, such as AQuA-RAT, BoolQ, CareQA (English and Spanish), CommonsenseQA, MedConceptsQA, MedQA (USMLE-4-options), and MMLU. Each benchmark is provided as a separate file named benchmark_name-split.bin with a manifest.json recording SHA256 checksums. Files contain information such as number of tasks, number of options, random baseline, majority class accuracy, etc. Scoring supports two modes: text mode (where options are the answer text itself) and letter mode (where options are letters like A, B, C, D), with the specific mode determined by the original evaluation protocol of the benchmark. llama.cpp computes the sum of log probabilities of each option divided by the number of tokens to obtain the acc_norm score. For letter mode, each option is a single token, so acc_norm is just the ordinary accuracy. When using, pass the binary file via the -bf parameter, and the -np parameter must be at least the maximum number of options (usually 5), and verify that the number of scored tasks matches expectations. This dataset is suitable for evaluating the zero-shot performance of language models on multiple-choice tasks, but note that letter mode scores are typically published under few-shot settings, while here it is zero-shot, so they cannot be directly compared with leaderboard numbers.

创建时间:
2026-08-25
原始信息汇总

llama.cpp 多项选择基准数据集

数据集概述

该数据集为 llama.cpp 的 llama-perplexity --multiple-choice 命令提供了公开的多项选择基准测试,以二进制任务格式序列化,可直接由 llama.cpp 评分,无需额外的评估框架。数据集包含英语和西班牙语两种语言。

文件构成

数据集包含 13 个二进制基准文件,每个文件对应一个基准测试及其分割,并附带 manifest.json 文件记录各文件的 SHA256 校验值。文件涵盖以下基准:

文件 模式 任务数 选项数 随机基线(%) 多数类(%) 来源 许可证
aqua-rat-test.bin 文本 254 5 20.00 24.80 deepmind/aqua_rat Apache-2.0
aqua-rat-train.bin 文本 97467 5 20.00 22.87 deepmind/aqua_rat Apache-2.0
aqua-rat-validation.bin 文本 254 5 20.00 27.17 deepmind/aqua_rat Apache-2.0
boolq-train.bin 文本 9427 2 50.00 62.31 google/boolq CC-BY-SA-3.0
boolq-validation.bin 文本 3270 2 50.00 62.17 google/boolq CC-BY-SA-3.0
careqa-en-test.bin 字母 5621 4 25.00 26.45 HPAI-BSC/CareQA Apache-2.0
careqa-es-test.bin 字母 5621 4 25.00 26.45 HPAI-BSC/CareQA Apache-2.0
commonsense-qa-train.bin 字母 9741 5 20.00 20.38 tau/commonsense_qa MIT
commonsense-qa-validation.bin 字母 1221 5 20.00 20.88 tau/commonsense_qa MIT
medconceptsqa-test.bin 字母 819772 4 25.00 25.03 ofir408/MedConceptsQA Apache-2.0
medqa-test.bin 字母 1273 4 25.00 27.73 GBaker/MedQA-USMLE-4-options CC-BY-4.0
medqa-train.bin 字母 10178 4 25.00 26.08 GBaker/MedQA-USMLE-4-options CC-BY-4.0
mmlu-validation.bin 字母 1531 4 25.00 25.28 cais/mmlu MIT

二进制格式

文件采用小端字节序,包含任务数量、各任务的绝对字节偏移量,以及每个任务的问题、选项和标签。llama.cpp 要求选项数不超过 100。

提示格式

采用两种评分形式,每个基准仅使用其一:

  • text 模式:延续部分本身就是答案,llama.cpp 将选项的累计对数概率除以其token 数进行归一化。
  • letter 模式:选项移入提示中,延续部分为单个字母,每个字母为一个 token,分数即为准确率。

使用注意事项

  • 必须使用 -bf 参数传递文件,不能使用 -f(二进制文件包含 0x1A 字节,Windows 文本模式会将其视为文件结束符)。
  • -np 必须至少等于最宽任务的选项数(此处为 5),默认的 -np 4 会导致中途终止。
  • 评分时需检查评分的任务数是否与宣布的数量一致,因为失败不会设置非零退出码。
  • 应对比 majority_class(多数类基线)而非 chance(随机基线),尤其对 BoolQ 而言。
  • 未应用聊天模板,评分基于原始对数似然,因此指令调优模型按基础模型评估。

重建与验证

  • 通过 convert.py --all 重新生成文件,verify.py 执行全量验证,所有任务均与源数据集进行完整往返比对。
  • manifest.json 固定每个源的 HF 提交版本,确保重建的可复现性。

数据来源

数据集整合了 7 个来源的基准测试,包括 MedQA-USMLE、CareQA、MMLU、AQuA-RAT、BoolQ、MedConceptsQA 和 CommonsenseQA,并引用对应的学术论文。各来源均固定了具体的 HF 提交版本以保证可复现性。

搜集汇总
数据集介绍
llama-mc-datasets 数据集图片
构建方式
该数据集由多个公开的多项选择问答基准测试序列化而来,采用llama.cpp特有的二进制任务格式,旨在直接用于llama-perplexity工具的评分,无需外部评估框架。每个基准测试对应一个文件,命名包含基准名称及数据分割。构建过程中,利用convert.py脚本从HuggingFace下载源数据并转换为二进制格式,同时生成manifest.json文件,记录每个文件的SHA256哈希值及源数据的HuggingFace提交版本,以确保可复现性。各基准的评分形式(文本或字母)依据其原始评估协议确定,并编码于文件中。
特点
数据集涵盖多个知名的多项选择问答基准,包括医学领域的MedQA、CareQA和MedConceptsQA,通用领域的MMLU、CommonsenseQA和BoolQ,以及代数推理的AQuA-RAT。每个文件包含任务数量、选项数量、随机基线准确率和多数类准确率等信息。独特的二进制格式支持高效评分,且选项长度经过归一化处理。数据集支持文本和字母两种评分模式,字母模式用于纯选择题,文本模式则用于需要文本续写的任务。此外,该数据集不应用聊天模板,以原始对数似然进行评分,确保跨模型的一致性。
使用方法
使用时,需通过llama-perplexity工具,并指定二进制文件参数(-bf),切勿使用-f参数,以免因二进制中的0x1A字节导致读取失败。同时,需设置-np参数至少为最大任务选项数(此处为5),否则模型会在部分任务上中止评分。建议通过--multiple-choice-tasks参数选择子集,并核对评分任务数量与宣布的数量一致。评分结果中,应参考多数类准确率而非随机基线,因为后者在BoolQ等不均衡数据集中具有误导性。该数据集可直接用于评估模型在多项选择任务上的零样本性能,但注意其评分方式与常见的少样本评估不同。
背景与挑战
背景概述
llama-mc-datasets数据集诞生于大语言模型推理与评估需求激增的背景下,由llama.cpp社区于2024年创建,旨在将公开的多项选择基准测试(如MMLU、MedQA、BoolQ等)序列化为llama.cpp可直接读取的二进制任务格式,从而绕过繁重的评估框架,实现对模型性能的快速、直接测量。该数据集的核心研究问题是如何在保持原始基准测试语义不变的前提下,为llama.cpp这类轻量级推理引擎提供标准化的评估接口,其影响力体现在为模型开发者提供了一种高效、可复现的模型比较手段,促进了llama.cpp生态中模型迭代与优化的进程。
当前挑战
该数据集构建面临多重挑战:首先,需将来自不同源、具有不同评估协议(如文本续写或字母选择)的基准测试统一转换为llama.cpp的二进制格式,同时确保评分形式(`text`或`letter`)与各基准的原始协议严格对应,因为形式差异会导致评分结果不可比。其次,需处理数据源本身的缺陷,如AQuA-RAT的训练集包含重复问题,CommonsenseQA的测试集未标注,CareQA的开放式配置无法转换等。此外,还面临二进制格式的兼容性问题,如Windows下文本模式读取会截断包含`0x1A`字节的文件,以及`-np`参数需足够大以避免评分中断。最终,通过`verify.py`对全部任务进行穷举验证,确保数据转换的准确性和可复现性,构建过程的技术门槛较高。
常用场景
经典使用场景
llama-mc-datasets是一组精心序列化的多项选择基准测试数据集,专为llama.cpp的llama-perplexity --multiple-choice工具设计。该数据集覆盖了广泛的任务类型和难度层级,包括医学知识问答(MedQA、MedConceptsQA)、常识推理(CommonsenseQA、BoolQ)、多任务语言理解(MMLU)以及代数应用题(AQuA-RAT)等经典评估场景。它既包含英语也包含西班牙语的测试样本,为跨语言模型的评估提供了多样化的挑战。这些数据集以二进制格式存储,遵循llama.cpp的特定读取协议,研究者可直接使用llama-perplexity对该格式进行模型评分,从而在不依赖外部评估框架的情况下,快速、准确地衡量模型在多项选择任务上的能力。
实际应用
在实际应用中,llama-mc-datasets是llama.cpp用户评估和优化其本地部署模型性能的得力工具。无论是开发新的量化模型、微调指令模型,还是对比不同架构或训练策略的模型差异,研究者与工程师均可利用该数据集快速获得模型在多项选择任务上的准确率指标,从而指导模型迭代与调优。该数据集还有助于监控模型在特定领域(如医疗、科学)的潜在偏差与长处,辅助在实际应用场景(如智能问答系统、教育辅助工具)中选择最合适的模型。其提供的灵活子集选择功能(--multiple-choice-tasks N)允许用户针对性地评估模型的特定能力,极大地提升了测试的效率与针对性。
衍生相关工作
该数据集本身是对多个经典基准测试(如MMLU、MedQA、CommonsenseQA等)的重新序列化与适配,因此它紧密关联并衍生了众多相关工作。它使得社区能够基于llama.cpp这一广泛使用的推理引擎,便捷地复现和扩展Hendrycks等人(ICLR 2021)的MMLU测试、Jin等人(2020)的医学问答研究以及Talmor等人(NAACL 2019)的常识推理工作。通过对这些原始数据集的二进制化封装,该工作为llama.cpp平台下的评估标准化设立了新的范例,并激发了后续研究者在llama.cpp生态内开发更多针对特定任务(如多语言、多领域)的评估工具与数据集,推动了大模型本地化评测技术的发展。
以上内容由遇见数据集搜集并总结生成
二维码
社区交流群
二维码
科研交流群
商业服务