70B大模型训练秘方① :数据集创建与评估

AIGC 0

b3b91891ba1c01ff86ea2f9eabd9ab85.jpeg

今年6月,大模型公司Imbue预训练了一个70B参数的模型,并在多选推理基准上进行了微调。在这些基准上,Imbue微调的模型超越了GPT-4o zero-shot表现(该模型未在这些基准上进行微调)。Imbue的微调模型,基于2万亿个Token进行预训练,其性能也接近于在超过7倍数据量上预训练的Llama3 70B微调模型的性能。

由于他们在没有使用思维链的情况下评估了GPT-4o zero-shot的性能,因此上文指出的性能表现并不代表它在这些数据集上能达到的最佳成绩。然而,这是与微调后的70B模型评估最直接的对比,这些评估同样不包括思维链。

通过使用他们提出的超参数优化器CARBS,他们在首次尝试时将该系统规模扩展到70B参数,同时保持训练过程中的最小不稳定性,并未出现损失激增的情况。这涉及到训练数千个密集型Transformer模型,具有分组查询注意力、SwiGLU激活、RMS归一化和自定义词元分词器,并在一系列较小规模的范围内训练。

为了方便其他团队进行训练、扩展和评估针对各自研究和产品目标的模型,他们正在发布促进这项工作的工具。

本文中,他们要分享的是用于模型评估的数据集,包含11个公共数据集的高质量子集,以及一套用于代码理解的原始问题。

他们发现,当仅在高质量、无歧义的问题上进行评估时,开源和闭源模型在某些数据集上的准确率几乎达到100%。关于为什么选择这些特定的数据集,以及数据创建过程和实际数据集的详细信息,本文作了详细说明。


本文是Imbue团队训练70B大模型三部曲系列的第一篇。本系列文章将会讨论基础设施搭建、评估以及超参数的优化。(本文由OneFlow编译发布,转载请联系授权。来源:https://imbue.com/research/70b-evals/)

作者|Imbue团队

OneFlow编译
翻译|张雪聃
题图由
SiliconCloud平台生成

1

引言

在训练70B模型时,我们致力于准确地评估模型在自然语言理解和推理能力方面的表现。为此,我们需要高质量的数据集来评估我们的模型,这些数据集中不能出现措辞混乱、不清晰、主观、含糊不清、无法回答或被错误标注的问题。这些问题可能会使评估的结果扭曲:如果模型对一个高度模棱两可的问题给出了“错误”答案,那么问题本身比模型的推理能力更应该被质疑。

为了解决这个问题,我们对11个公开可用的多选问答数据集进行了清洗,并创建了由人工标注员编写问题的私有版本。在移除低质量和错误标注的问题后,我们发现所有被评估的开源和闭源模型(包括我们的70B模型、Llama 2 70B、Llama 3 70B、GPT-4o、Claude 3.5 Sonnet 和 Gemini 1.5 Pro)在公开可用和私有基准测试上都表现出了较高的准确性。

6862e3169715e04cd8b167f5f6974211.png
(Imbue 70B、Llama3 70B和GPT-4o的zero-shot准确度,不考思维链。对于可视化,x轴从0.5开始。误差棒表示问题平均值的标准误差。)

目前,我们计划发布清洗过的公开数据集、我们的私有数据集、一个用于识别问题质量的微调过的Llama 3 70B模型,以及一个全新的与代码推理相关的问题数据集。在本文中,我们将:

  1. 解释我们发布的数据集

  2. 详细说明我们创建和清洗这些数据集的原因

  3. 概述我们评估问题的过程

  4. 分享我们在评估多种模型时使用公开和清洗版本数据集的发现

2

我们发布的内容

作为70B模型工具包的一部分,我们发布了一系列的新数据集和经过清洗的评估数据集,以帮助我们更全面地评估推理模型的性能。通过使用这些清洗后的数据集,我们能够更准确地评估我们的70B模型相对于其他前沿模型的表现。

这些资源包括:

  • 11个学术推理基准的高质量[1]且正确标注的子集:
     

    • 从原始数据集中筛选出的高质量数据,至多包含1000个项目:https://huggingface.co/datasets/imbue/high_quality_public_evaluations

    • 由人类编写的新问题,至多1000个,使其他研究者可以在评估模型时避免数据污染:https://huggingface.co/datasets/imbue/high_quality_private_evaluations
       

  • 用于识别和移除评估数据集中低质量问题的工具:
     

    • 一个包含45万个人类判断的数据集,我们的评估问题质量的模型正是基于此训练的,这样其他研究者可以研究人类在实际问题上的不确定因素,或者训练他们自己的问题质量评估模型:https://huggingface.co/datasets/imbue/human_question_quality_judgments

    • 一个经过微调的70B模型,基于Meta Llama 3构建,可用于识别任何评估数据集中的问题质量:https://huggingface.co/imbue/llama3-question-quality
       

  • 一个全新的关于代码理解的数据集,帮助其他研究者提升模型在代码相关推理上的表现:https://huggingface.co/datasets/imbue/code-comprehension


通过发布这些工具和数据集,我们希望能够帮助研究者进行准确的模型评估,并清洗他们自己的数据集以实现这一目标。

3

为什么创建并清洗这些数据集

为何选择这些基准数据集

为了评估我们的语言模型在自然语言理解和推理方面的表现,我们选出了符合一系列标准的11个基准数据集。我们排除了以下几种基准数据集:
 

  • 规模过小,无法为比较语言模型性能提供足够的统计支持。

  • 质量低下,即通过手动检查少量样本后,明显发现数据集中存在大量低质量或错误标注的例子。

  • 优化目标与推理无关。例如,我们排除了像MMLU这样的基准数据集,其表现在很大程度上依赖于记忆。我们认为,解决记忆任务的正确方法是开发可以实时查找相关信息的工具,而预训练语言模型本身应主要优化用于推理,而不是事实知识。

  • 在其他AI/ML研究中不常见。


基于这些标准,我们决定使用以下数据集:ANLI、ARC、BoolQ、ETHICS、GSM8K、HellaSwag、OpenBookQA、MultiRC、RACE、Social IQa和WinoGrande。(数据集地址见文末)

为何选用多项选择评估

我们的目标是评估基础语言模型(一个单一的下一词元预测器)的性能,而不涉及思维链推理或上下文学习。为此,我们将所有评估问题转换为多项选择题形式,使用一个简单的提示,要求模型输出单个词元的回答(例如,“A”、“B”、“C”)。对于像GSM8K这样的数据集,由于没有提供错误的备选答案,我们通过特定数据集的方法创建了合理的选项[2]。对于包含单个文本段落和多个问题的数据集(如RACE),我们将数据集转换为”段落-问题对”的列表。

接下来,我们对模型的响应进行了标准化处理。为了确保我们的模型始终以大写字母作答,我们对模型进行了微调,使其遵循一个简单的提示(例如,“始终回答A、B或C”)。我们使用CARBS(我们的超参数优化器)(https://imbue.com/research/70b-carbs/) 来确定指令微调的最佳参数。

对于我们评估的开源模型(Llama 2 70B和Llama 3 70B),我们使用了相同的提示、流程和由CARBS确定的模型特定最优超参数。对于已经在内部进行了微调的闭源API模型(GPT-4o、Claude 3.5 Sonnet 和 Gemini 1.5 Pro),我们设计了一个提示,以确保这些模型在不进行额外推理或思维链的情况下回答原始问题。我们以准确率(即最高概率的答案正确的题目占总题目的比例)对所有模型进行了评分。

为何要清洗公共数据集

我们选择的这11个公共数据集并不能立即使用,因为它们都包含一定的低质量问题:这些问题措辞混乱、不清晰、主观、含糊不清、无法回答或标注错误。

以下是RACE数据集中一个低质量问题的示例:

b7705c23fbac27b99f00413b371fc887.png

图片翻译:

请阅读以下段落并回答问题:

旅游凭证:

请从本网站下载旅游凭证。对于每一个确认的预订,您需要打印一张凭证并在目的地出示。一旦你的预订确认,你将通过电子邮件收到凭证的链接。”

根据上述段落,回答以下问题。


以下哪个选项不是游客将去的地方?


A) Warrook Cattle farm(沃鲁克牧场)

B) Koala Conservation Center(考拉保护中心)

C) Philip Island Visitors Information Centre(菲利普岛游客信息中心)

D)Australian Eastern coastline(澳大利亚东海岸线)

对于这个问题,我们的模型选择了“澳大利亚东海岸线”,这一选择与Llama 3 70B和我们测试的所有闭源模型一致。而预期的正确答案是“考拉保护中心”,这是Llama 2 70B所选择的答案。然而,这并不一定表明Llama 2 70B作为语言模型方面具有优越性。因为这个问题本身存在歧义——有拼写和语法错误,并且段落内容与回答问题毫无关联——所以模型是否回答“正确”并不一定能反映其推理能力。

为了识别低质量问题,我们雇佣了人工标注员来手动评估数据质量。45万次人工判断所产生的数据被用以训练模型,来预测低质量问题。我们在下面的“我们如何识别并清洗低质量问题”部分详细描述了收集人工判断的过程。

为何创建私有评估数据集

为了确保我们在评估模型时不会受到数据污染的影响,我们还为每个数据集创建了私有版本,由人工标注员编写问题,尽可能地与公共版本的风格保持一致。

对于阅读理解类的数据集,如BoolQ、RACE和HellaSwag,我们提供了供标注员编写问题的文本段落。对于以科学为基础的数据集,如OpenBookQA和ARC,我们提供了一组科学事实。

我们要求人工标注员独立验证这些事实,并确保所有情况下,问题和答案均为人工编写,保证与训练数据没有重叠或污染。我们还进行了多层质量保证,包括质量过滤,具体细节将在下文中解释。这些私有数据集的最终版本现在可以在此获取:https://huggingface.co/datasets/imbue/high_quality_private_evaluations

为何创建自己的CodeComprehension数据集

我们预训练的目标是构建能够推理和编写代码的语言模型。然而,现有的评估基准很难能够帮助判断我们训练的模型是否具备支持代码生成的表示能力。大多数基准要么专注于与推理无关的特定任务(例如:搜索相似性),要么对于一个未经明确推理或思维链的预训练模型来说过于困难。

因此,我们打算创建一个新的高质量数据集,用于代码推理。我们生成了很多个这样的数据集,并发布了其中一个。这个数据集包含代码理解问题,其中语言模型需要预测程序生成的代码片段的输出。例如:

f5a057838c00265620aecba2c87c0a64.png

我们让这些示例的难度足够低,以便人类在使用草稿本的情况下能够识别出正确答案(在本例中是“-7”)。在所有情况下,Python代码都可以运行,且正确答案就是代码的实际输出。我们通过在代码片段的执行过程中引入常见错误来选择备选答案。在上面的例子中,答案“-8”可能是因为错误地执行了 if w in '8': 这一条件语句。因此,我们创建了一个包含合理备选答案的富有挑战性问题的数据集,但人类在该数据集上的准确率接近100%。

虽然在该数据集上取得高性能并不保证模型能够生成正确的Python代码,但它确实表明模型具备支持代码理解的特性,这些特性也可能有助于代码生成。此外,尽管该数据集仅测试了程序生成的代码——这类代码相对来说不太复杂性且不太现实——我们正在创建类似的、更具挑战性、基于真实世界代码的数据集。我们也公开发布了我们的CodeComprehension数据集:https://huggingface.co/datasets/imbue/code-comprehension

4

如何识别并清洗低质量问题

为了识别低质量问题,我们训练了一个语言模型,该模型基于一个种子集合中关于问题质量的人类判断,这些种子问题被认为质量较低,并在数据集中大致均匀分布(但不包括CodeComprehension和GSM8K)。这一过程包括收集人类质量判断,将其合并为一个综合质量分数,然后微调Llama 3 70B以预测问题的质量。下文详细介绍了这一过程。

1.收集人工质量判断

为了评估问题质量,我们从10名经过审核的标注员那里收集了1,000个问题的判断。我们通过Prolific平台(https://www.prolific.com/) 招募标注员,并使用了各种质量保证机制:

  • 规定研究资格为美国本土标注员,标注员之前至少完成过500次任务且审批通过率优秀

  • 进行理解指令的测验

  • 使用一组黄金问题来自动检测和重新招募异常标注员

我们确保标注员能获得公平的报酬,并即时批准所有提交的答案,包括最终未被用于最终数据集的答案。在发布的人类标注数据中,我们用随机标识符替换了所有参与者的ID,以确保匿名性。

对于每个问题,标注员需要指出:

  • 他们认为问题的正确答案是什么

  • 对该答案的信心程度,评分范围从1到10

  • 以下原因适用的程度:

    • “段落包含拼写或语法错误,导致理解困难”

    • “问题包含拼写或语法错误,导致理解困难”

    • “一些答案包含拼写或语法错误,导致理解困难”

    • “问题的意图不明确”

    • “问题可以有多种解释”

    • “问题是主观的,要求的是意见而非事实”

    • “段落提供的信息不足以回答问题”

    • “段落包含我知道是错误的信息或自相矛盾”

    • “一些答案在问题的背景下不合理”

    • “识别正确答案需要额外的背景信息或假设”

    • “正确答案不在提供的选项中”

    • “可能有多个答案是正确的”

    • “我对这个主题的知识太有限,无法理解问题”

对于每个原因,标注员选择“完全不适用”、“有一点适用”、“相当适用”或“非常适用”。这些具体原因源自我们在手动探索评估数据集时发现的不同质量问题。如果一个问题通过了所有检查(拼写正确、清晰、客观,只有一个正确答案等),那么它很可能提供有关语言模型能力的可靠信息。

2. 将人工判断合并为单一质量指标

为了用人工质量判断来训练语言模型,我们发现将所有人工判断合并为一个整体质量度量非常有用。每个问题总共产生150个判断:每个标注员提供一个答案、一个信心评分和对13个潜在原因的回应,每个问题的标注员总计提供15个判断,然后乘以10名标注员。

为了计算整体质量指标,我们结合了三个指标:

  • 标注员对其答案的平均信心

  • 标注员间的一致性,通过标注员间答案分布的负熵来衡量

  • 所有原因和标注员的平均评分,“完全不适用”为1,“有一点适用”为2,“相当适用”为3,“非常适用”为4

我们用主成分分析来确定这些指标的组合方式,这种分析方法使得共同信息的提取效果最大化。

为了展示最终合并指标与各个组成部分的对应关系,我们绘制了平均信心、熵和评分作为合并问题质量的函数图,并使用25个区间以便数据可视化。

1937b799d707e64f42177d6796b5c402.png

对综合人工质量指标进行合理性检查

为了展示人工质量数据并验证综合指标确实能有效捕捉质量,我们分享了三个问题示例:最低质量问题、最高质量问题以及一个具有代表性的中等质量问题。为了说明问题,我们从OpenBookQA数据集中选择了以下三个示例。

标注员评定为最低质量的OpenBookQA问题是:

9835082559bd3771b04cf084eb9f0be2.png

阅读下面的科学事实并回答问题:

“一种浆果包含种子。”

基于上述科学事实,回答以下问题。

浆果:

A) 仅在加拿大有

B) 可以保持大脑清醒

C) 都非常有毒

D) 应该在未成熟时食用

对于这个问题,标注员在“保持大脑清醒”和“应该在未成熟时食用”这两个选项之间意见分歧,平均信心仅为1.7/10,主要原因如下:

  • “正确答案不在提供的选项中”(10名标注员中9个人的看法)

  • “识别正确答案需要额外的背景信息或假设”(10名标注员中9个人的看法)

  • “一些答案在问题的背景下不合理”(10名标注员中9个人的看法)

  • “问题的意图不明确”(10名标注员中9个人的看法)

  • “段落提供的信息不足以回答问题”(10名标注员中9个人的看法)

最高质量的问题示例为:

997937e251d6c711704cb14dfaefb072.png

阅读下面的科学事实并回答问题:

“生物体需要能量来进行生长。”

基于上述科学事实,回答以下问题:

工蚁需要能量来进行

A) 瑜伽

B) 学习

C) 生长

D) 耐心

对于上述示例,所有10名标注员都选择了“生长”作为答案,并且信心评分为10/10,没有一名标注员报告任何削弱信心的理由。

最后是一个中等示例:

3c85dd27b3bd326ceaf60f868395869e.png

阅读下面的科学事实并回答问题:

“准备应对风暴需要预测风暴的发生。”

基于上述科学事实,回答以下问题:

如果一场暴雪即将来临,你应该:

A) 购买补给

B) 外出

C) 找披萨

D) 看电视

在这个问题中,标注员的平均信心评分为9.5/10,他们的答案在“购买补给”(7名标注员)和“看电视”(3名标注员)之间产生了分歧。

此外,他们报告了多种会削弱信心的原因:

  • “存在多个可能正确的答案”(5名标注员)

  • “问题可以有多种解释方式”(4名标注员)

  • “问题是主观的,要求提供意见而非事实”(3名标注员)

  • “一些答案在问题的背景下不合理”(3名标注员)

对于这个问题,不同的信号(信心、分歧和原因)存在一定程度的冲突,导致综合质量评分为中等。

虽然“最高质量”的问题仍然包含一些特殊性,但这些示例通常按照正确的质量顺序排列,最低质量的问题从标注员那里获得了最低的平均信心评分。因此,这些低质量的问题,即使是标注员也感到不确定,不足以作为语言模型推理能力的有效测试。

3. 训练问题质量检测模型

我们对Llama 3 70B进行了微调,将问题质量分数的前半部分和后半部分作为二分类任务进行训练,使用的提示语为:

fb02a9f3dcbba7b2d65c51c1c07a465d.png

请考虑以下问题/答案对:

“{问题}

候选答案:

{选项 1}

{选项 2}

…”

这个问题是否存在歧义?歧义可能是由于拼写错误、多种解释、多种正确答案、没有正确答案、未说明的假设或其他任何原因造成的。请仅回答“是”或“否”。

回答:

经过CARBS调优后,我们得到的模型在保留的验证集上达到了61%的准确率。虽然并不完美,但微调后的模型总是以“是”或“否”作为回答,且概率P(“yes”| question) 提供了一个分级质量指标。该指标与保留集上原始的每个问题的人工质量评分相关性较高(斯皮尔曼相关系数ρ= 0.41,p<0.001)。未来,我们将通过对P(“yes”| question) 应用阈值来将问题分类为高质量或低质量。

4. 清理评估数据:识别标注错误的示例

评估基准的另一个问题是一些问题预期的“正确”答案实际上是错误的,这也称为标签噪声。例如以下来自BoolQ数据集的问题:

bc6b5cd5880c3cf4d483d3c1e6b55a4c.png

阅读下面的段落并回答问题:

“奇亚宠物是美国风格的陶土雕像,用于使奇亚植物发芽,奇亚植物会在几周内生长,类似于动物的毛发或头发。将湿润的奇亚种子(Salvia hispanica)涂抹在有凹槽的陶土雕像上。”

基于上述段落,回答以下问题。

问题:奇亚种子和奇亚宠物是一样的吗?

原始数据集中标注的“正确”答案是“是”,但我们的大多数人工标注员的回答是“否”。这与我们的模型的答案相符,也与GPT-4o、Claude 3.5 Sonnet和 Gemini 1.5 Pro的答案一致。因此,这个问题的标注是错误的。

为了识别测试集中这些错误标注的示例(测试集没有经过人工标注),我们调取了大多数语言模型回答为“错误”的问题,并进行了人工标注。通过这一过程,我们在公开可用的测试数据中识别出了179个错误标注的问题,在我们私有版本的相同数据集中识别出了80个。在我们的评估中,我们使用了更正后的标注。

5

反思与收获

问题质量预测模型的性能

为了验证我们问题质量模型的性能,我们研究了语言模型在不同质量水平问题上的表现。我们期望前沿语言模型能够很好地回答这些问题,因为高质量的问题应该是明确的、唯一且清晰可解的,没有拼写或语法问题,并且配有易于理解的答案选项。

结果确实如此。在下图中,我们绘制了所有模型在RACE数据集中问题上的准确性,按不同问题的质量水平进行了细分。请注意,为了提高可读性,y轴的起始点设为0.5。所有模型在所有高质量问题上的准确率都接近100%。

随着问题质量的下降——即问题变得更加模糊、没有正确答案或有多个正确答案,或措辞不清晰——语言模型的表现变差。然而,值得注意的是,即使在低质量问题上,所有模型的表现也都远远好于随机猜测,因为即使面对模糊性、拼写或语法问题,通常也能比随机猜测更高的概率猜对答案。

cb07f3b9ab0f4549de412175dd86b272.png

在我们清洗过的评估数据集中,我们移除了所有质量评分低于0.15的问题。这一操作从公开评估数据集中移除了4.2%的问题,但从我们创建的私有版本中只移除了3.0%,私有版本被评估为更高质量的数据集(0.684 ± 0.002 对比 0.511 ± 0.002,p < 0.001)。

Imbue 70B与其他前沿模型的比较

我们基于先前收集的质量评定,利用清洗过的数据集,将我们的模型与五个尖端模型进行了对比评估。

我们将70B模型与Llama 2 70B和Llama 3 70B进行了比较,这些模型的权重和代码是公开可用的。同时,我们还比较了通过各自API可访问的Claude 3.5 Sonnet、GPT-4o和Gemini 1.5 Pro(截至2024年6月21日)。在我们的测试中,GPT-4 Turbo和GPT-4的表现与GPT-4o相近,因此我们在此仅展示了其中之一。

需要指出的是,由于我们对所有模型进行了Zero-Shot的评估,并未采用思维链推理,这些分数并不表示在这些数据集上可能获得的最佳成绩,但确实提供了与未包含思维链推理的微调70B模型相比最为真实的比较。

下图展示了所有六个模型在经过清洗的公共评估测试集上的准确率,这些数据集覆盖了11个不同的数据集。Imbue 70B、Llama 2 70B和Llama 3 70B都经过了微调,目的是在这11个数据集上最小化加权聚合交叉熵。请注意,为了提高可读性,y轴的起始点设为0.5。误差条表示跨不同问题的均值的标准误差。

46c2e80c0cd7bda4f8aaf2fde341359a.png

在对11个公开可用的数据集进行评估时,我们的模型表现与Llama 2 70B和Llama 3 70B相当,并且优于Zero-shot的GPT-4o、Claude 3.5 Sonnet和Gemini 1.5 Pro。

我们的结果并非精心挑选:我们仅进行了一次预训练运行,只对CARBS进行了一次微调,以使我们的模型遵循提示回答指令,并且我们对Llama 2 70B和Llama 3 70B独立执行了相同的程序。我们在没有参与超参数优化的测试集上展示了性能,并已移除了测试集、训练集和验证集之间的任何重复项。因此,这里呈现的结果能够客观地反映预训练70B模型时的预期性能,只要你的预训练数据质量与我们的相似。

我们还评估了每个模型在我们创建的私有评估数据集上的表现。下图展示了所有模型在每个数据集的公共版本和私有版本上的表现。请注意,对于GSM8K,y轴从0.25开始。

2968107340d3a842238c030d956885ea.png

a4fd6bbd1cc2ff4f6d00a4de223c2543.png

6e6fcbc3715e9baeb600773bb595f71c.png

16d8c4aa5b4b204b878b4a9f296754c4.png

cc8c3f41eb8f1433956ce8b0b5708518.png

ce772e67beca3e8d70ecd7762c66519f.png

8697b6dad072102ad1c4c466a1fcd3f3.png

707d70110188311a22b9b5e3068db7d7.png

020a6436799d8837639ccd9371f993f1.png

c1c67e7414a86f44fdb6d9b2aaef333e.png

c58a409c5ac750cc163bf52ee92b9ca9.png

aa0f49155a5918bcb4e2620140675331.png

ccb33b8424a5e604f591fb445bada684.png

为了更好地理解这些结果,我们需要查看各个数据集的表现。我们的模型在一些数据集上明显优于GPT-4o,例如ANLI和ETHICS,这些数据集涉及主观边界的决策,如“这个情境从伦理角度来看是否可接受?”或“这段文字是否包含足够的信息来回答这个问题?”

由于我们的模型经过了微调,它能够学习到这些边界,而对一个Zero-shot的闭源模型来说,通过提示微调来实现这一点要困难得多。这在ETHICS数据集上对Gemini 1.5 Pro的表现尤为明显。在我们的提示下,Gemini 1.5 Pro将大约65%的情境识别为不道德。这主要是由于偏见,因为原始数据集基本平衡,仅有43%的情境被标记为不道德。这种偏见几乎解释了Gemini所犯的所有错误。

另一方面,GPT-4o在ARC数据集上的表现优于我们的模型。ARC数据集是基于知识的科学问题。由于GPT-4o训练时使用了更多的数据,可能遇到了更多的科学事实,其优越的表现反映了对这些事实的记忆能力。

最后,在本次评估中,GPT-4o在GSM8K数据集上的表现较差,这是一种数学推理数据集。这是因为我们要求模型在没有任何思维链的情况下输出答案,这使任务变得更加困难。还需要注意的是,我们私有版的GSM8K是一个更难的数据集(无论是在问题内容上,还是在选项数量上,私有版有四个选项而不是三个),这也导致了所有模型的表现较差。

我们创建的私有数据集在模拟公共数据集时,模型比较结果基本相似,但出现了两个明显的例外:MultiRC和HellaSwag。

对于这些数据集,问题和文章的分布发生了很大的变化。HellaSwag从WikiHow.com获取文章,这些文章具有独特的风格和主题范围。另一方面,在我们私有版的数据集中,我们从更广泛的网络抓取中获取了段落。对于那些在公共数据集上进行了微调的模型,这意味着分布的变化,从而导致性能下降。与此类似,MultiRC的独特之处在于一个问题可以有多达12个候选答案,其中多个答案都可以是正确的。在我们私有版中,候选答案和正确答案的数量都受到限制,这也导致了分布的变化。

低质量问题扭曲了评估结果

我们发现,由于低质量问题在模型性能差异中占据了重要部分,那么确保使用高质量问题对于准确反映模型能力来说至关重要。即使是公开发布的数据集,也存在大量低质量问题,足以显著扭曲评估结果。

在多个数据集中,我们评估的所有开源和闭源模型——包括Llama 2 70B、Llama 3 70B、Claude 3.5 Sonnet、GPT-4o、Gemini 1.5 Pro以及我们自己的模型——除了被错误标记的问题之外,在明确无歧义的问题上几乎达到了完美的准确率。因此,这些数据集上的模型性能主要反映了模型在处理低质量问题时如何匹配特殊的人类答案——这是个有意思的话题,但不一定能衡量模型的推理能力。

最后,我们在自己创建的代码理解数据集上评估了我们的模型及所有其他模型。这个数据集非常有挑战性,闭源模型(GPT-4o、Claude 3.5 Sonnet 和 Gemini 1.5 Pro)的准确率在70%-75%左右。然而,微调使我们的Imbue 70B和两个Llama变体在这个数据集上的表现接近完美。

这突显了微调的力量:尽管我们的程序化生成包含了足够的变化,使训练集和测试集中没有完全相同的样本,但经过微调的模型能够捕捉到这些示例以及程序化生成流程中固有的特殊结构。虽然微调之后这个数据集的性能已接近完美,但这是因为我们规定了问题相对简单,且适合快速回答,同时数据集设计时不要求使用推理链。这一类问题可以扩展到任意复杂程度,并且为探索更复杂的推理开辟了一个有趣的领域。

f5f47bec62180a234d66c0c1d22e60df.png

6

结语

通过深入分析这些评估问题,我们了解到现有的数据集主要针对低质量问题进行优化以提高性能。通过控制问题质量——无论是通过创建我们自己的数据集版本,还是使用经过微调的Llama 3 70B模型来剔除低质量问题——我们可以看到,当今的前沿模型,包括我们自己的预训练70B模型,已经在很大程度上解决了这些基准测试的许多问题。受此启发,我们创建了自己的内部评估,例如用于推理代码的CodeComprehension数据集,以更好地衡量在训练能够推理和编码的模型方面取得的进展。

我们希望我们发布的资源——来自公共基准测试的经过清理的测试集和这些相同基准测试的私有再创造版本,以及关于问题质量的450000个人工标签——能够帮助研究人员评估他们自己模型的推理性能,并探索识别模糊性和其他低质量数据来源的问题。通过微调开源和自定义训练模型来实现最先进结果的能力让我们倍感振奋,特别是对于具有可预测格式和主观标准的任务。

通过分享这些工具和数据集,以及我们的基础设施脚本和超参数优化器,我们的目标是使各种规模的团队都能够更快、更容易地训练出符合其目标的强大模型。

尾注

[1]没有正确答案的问题、主观性问题、难以理解的问题等。更多信息见“我们为何清洗公共数据集”一节。

[2]例如,对于GSM8K,我们检查了最有可能的错误答案以及将错误的操作或操作顺序应用于问题中的数量的结果。

[3]我们还收集了1000个伪随机选择的OpenBookQA和1000个BoolQ问题的质量判断。我们没有进行分析,详情:

https://huggingface.co/datasets/imbue/human_question_quality_judgments_openbookqa

https://huggingface.co/datasets/imbue/human_question_quality_judgments_boolq

数据集

ANLI:https://arxiv.org/abs/1910.14599v2

ARC:https://arxiv.org/abs/1803.05457v1

BoolQ:https://arxiv.org/abs/1905.10044

ETHICS:https://arxiv.org/abs/2008.02275v6

GSM8K:https://arxiv.org/abs/2110.14168

HellaSwag:https://arxiv.org/abs/1905.07830v1

OpenBookQA:https://arxiv.org/abs/1809.02789v1

MultiRC:https://aclanthology.org/N18-1023/

RACE:https://arxiv.org/abs/1704.04683

Social IQa:https://arxiv.org/abs/1904.09728

WinoGrande:https://arxiv.org/abs/1907.10641v2

其他人都在看

  • 800+页免费“大模型”电子书

  • GPU利用率背后的性能真相

  • AI搜索Perplexity的产品构建之道

  • John Schulman:大模型的升级秘诀

  • 10倍加速LLM计算效率:消失的矩阵乘

  • 比肩GPT4,没有显卡也能用Llama-3.1-405B

  • 超越SD3,比肩MJ v6,生图模型FLUX.1开源

9c5b46ae95b32fc4ccb59fde2c0ce4fc.png

让超级产品开发者实现“Token自由”
 

邀请新用户体验SiliconCloud,狂送2000万Token/人

邀请越多,Token奖励越多
siliconflow.cn/zh-cn/siliconcloud

也许您对下面的内容还感兴趣: