AI 模型与平台

Zephyr-7B:HuggingFace 的超优化大型语言模型,基于 Mistral 7B 构建

mm
将 Unite.AI 添加到您在 Google 上的首选来源

介绍

大型语言模型(LLM)的发展对人工智能研究社区产生了重大影响,尤其是在开发聊天机器人和类似应用方面。随着像 LLaMA 这样的模型的发布,人们对高效微调、扩展提示处理、检索增强生成(RAG)和量化的研究兴趣大增。

例如,LLaMA 模型标志着微调和提示上下文化的一个新时代,为后续模型如 MosaicML 的 MPT、Together AI 的 RedPajama-INCITE、TII 的 Falcon 和 Meta 的 LLaMA 2铺平了道路。每个模型都贡献了独特的能力,增强了 LLM 的整体功能和范围。

来自巴黎的初创公司 Mistral AI,由前谷歌 DeepMind 和 Meta 员工创立,凭借其首个产品 Mistral 7B 而闻名。

Mistral 7B 的优势在于其效率,它提供了与同行类似或更好的功能,但计算需求较小。

特别是针对指令任务进行了优化,Mistral 7B Instruct 在 Hugging Face 等平台上表现出色,超越了同样大小的其他模型,并且在某些任务中甚至可以与参数几乎是其两倍的模型竞争。

在此基础上,Hugging Face 推出了 Zephyr 7B Alpha,展示了微调后的 Mistral 7B 可以超越更大型聊天模型的能力,并在某些任务中甚至可以媲美 GPT-4。”Alpha” 版本只是开始,紧接着 Zephyr 7B Beta 版本也随之发布。

本文将探讨 Zephyr-7B 如何利用更大型模型的力量来提高其响应和与人类指令对齐的能力,这一切都归功于知识蒸馏的技术。这种方法涉及训练较小的模型来学习较大模型所学到的复杂模式,从而在不牺牲语言建模能力的情况下减少训练需求。我们将深入探讨 Hugging Face 的知识蒸馏方法的具体细节。

知识蒸馏

Zephyr-7B 这样的模型开发中的一个关键创新是蒸馏监督微调(dSFT)。这种方法涉及使用更大、更强大的 “教师” 模型的输出来训练一个较小的 “学生” 模型,从而提高其准确性。虽然蒸馏可以提高开放模型在各种任务上的性能,但与教师模型相比仍然存在性能差距。

知识蒸馏是一种机器学习方法,其中一个紧凑的模型(称为 “学生”)被教导去复制一个更大、更复杂的 “教师” 模型的性能。这种技术使学生能够执行以前超出其能力的任务,通过从教师那里转移所学到的复杂模式。

知识蒸馏,教师-学生模型

知识蒸馏 | 教师-学生模型

学生模型在教师模型生成的输出概率或特征上进行训练,专注于匹配这些输出,而不是仅仅匹配最终预测。这种方法使学生能够学习教师的细致决策过程,通常会导致与仅使用真实数据进行训练相比性能有所提高。

历史上,知识蒸馏曾被用于诸如 Hinton 的原始蒸馏网络等模型中,并在最近的 NLP 中用于诸如 DistilBERT 等模型,DistilBERT 将 BERT 蒸馏成一个更小、更快的版本,保留了大部分原始语言理解能力。另一个例子是 TinyBERT,它进一步优化了尺寸和速度以适应移动或边缘设备。

在 Zephyr-7B 的情况下,知识蒸馏用于将一个较小的 7B 参数模型注入其更大对应模型的能力。通过这样做,Zephyr-7B 在性能和效率之间实现了平衡,使其适合计算资源有限的环境,而不会牺牲交互和理解的质量。

在开发 Zephyr-7B 的过程中,研究人员解决了通过蒸馏完全对齐小型开放 LLM 的挑战。他们引入了一种称为蒸馏直接偏好优化(dDPO)的方法,该方法使用来自教师模型集体的 AI 反馈作为偏好数据。这种方法无需人工注释,大大减少了模型训练所需的时间和资源。

构建 ZEPHYR-7B

为了验证 dDPO,研究人员构建了 ZEPHYR-7B,它是 Mistral-7B 模型的对齐版本。该过程涉及三个步骤:

  1. 使用 UltraChat 数据集的 dSFT:蒸馏监督微调(dSFT)是一种用于训练大型语言模型(LLM)的高级方法,利用更大、更强大的 “教师” 模型的输出。它从一个原始的 LLM 开始,该模型被训练为响应用户提示。与传统的监督微调(SFT)不同,SFT 使用固定的数据集,dSFT 采用动态方法,即模型本身生成指令和响应。这种方法称为自我指令,涉及使用教师模型来回答和根据响应完善指令。该过程从一组种子提示(x₀₁、x₀₂、…、x₀_J)开始,代表不同的主题。每个提示都经过迭代的完善:对于给定的提示 x₀,教师模型生成一个响应 y₀,然后根据 x₀ 和 y₀ 采样一个新的指令 x₁。最终的数据集 C = {(x₁, y₁), …,(x_J, y_J)} 用于微调模型。
  2. 整合来自 UltraFeedback 的 AI 反馈数据:该数据对于完善模型的响应至关重要。在此步骤中,模型生成对各种提示(如描述如何制作巧克力布朗尼)的响应,这些响应由更先进的模型(如 GPT-4)进行排名。最高评分的响应(yw)和一个随机选择的较低评分的响应(yl)形成一个反馈数据集 D。
  3. 应用 dDPO:最后一个阶段,即蒸馏直接偏好优化(dDPO),涉及通过最大化首选响应的概率来完善 dSFT 模型。这是通过在偏好模型中使用一个奖励函数 rθ(x, y) 来实现的,该函数基于最优的 LLM 策略 π* 和原始的 dSFT 策略 πdSFT。优化目标被公式化为 πθ = max π E (x, yw, yl) ∼ D log σ (β log π(yw|x)/πdSFT(yw|x) − β log π(yl|x)/πdSFT(yl|x)),简化了训练过程,通过从 dSFT 版本的模型开始并迭代每个 AIF 三元组来实现。
Zephyr-7B 中使用的方法与 InstructGPT 中使用的过程类似

Zephyr-7B 中使用的方法与 InstructGPT 中使用的过程类似

值得注意的是,Zephyr-7B 达到了与 70B 参数模型(使用人类反馈对齐)相当的性能,并且在学术基准和对话能力方面都表现出色,突出了偏好学习在模型开发中的有效性。为了进一步探索,模型、代码和说明可以在 Hugging Face 的 GitHub 仓库 中找到。

解决意图对齐的挑战

LLM 的一个值得注意的担忧是其与人类意图的对齐。以前的模型经常无法产生与用户偏好相匹配的响应,导致不准确或不相关的答案。然而,最近的基准测试,如 MT-Bench 和 AlpacaEval,提供了工具来量化和改进这一方面,强调了使用人类反馈训练的专有模型相对于仅通过蒸馏训练的模型的卓越性能。

评估方法

Zephyr 7B 的评估涉及在各种基准测试中进行严格的测试,以评估模型在单轮和多轮对话背景下的对话能力:

  • MT-Bench:该多轮基准测试要求模型回答 160 个涵盖八个领域的问题。每个响应由 GPT-4 进行评分,模型的最终评分反映了两个问题轮次的平均值。
  • AlpacaEval:在这个单轮基准测试中,模型被呈现 805 个涵盖各个主题的问题。重点是模型的有用性,GPT-4 对响应进行评分以确定比较胜率。

此外,Zephyr 7B 还在开放 LLM 排行榜上进行了测试,虽然这不是对话能力的直接评估,但它提供了对模型推理和真实性微调后的见解。

Zephyr 7B 与各种开放和专有模型进行了比较,包括具有不同大小和对齐方法(如 dSFT 或 dDPO)的模型。它在 MT-Bench 和 AlpacaEval 上为 7B 模型设定了新的基准,并展示了其在更大模型面前的竞争力,验证了直接偏好优化(dDPO)在训练中的有效性。

SFT 和 DPO 训练阶段经过精心配置,跨多个 epoch 进行微调,学习率和批大小经过优化以实现最佳性能。最终的 Zephyr 模型不仅对过拟合具有抵抗力,还在处理实际任务和学术基准方面得到了增强。

数据集和结果

使用的数据集

在 Zephyr-7B 的开发中,使用了两个关键数据集来训练和完善模型,每个数据集解决了对话生成的不同方面:

UltraChat 数据集

  • 来源:由 GPT-3.5-TURBO 生成的对话开发而来。
  • 内容:包含 147 万个跨 30 个主题和 20 种文本材料的多轮对话。
  • 完善:数据集经过了真实性推断的处理,以纠正语法问题,并应用了过滤器以增加响应的有用性并消除无用的前缀短语。

UltraFeedback 数据集

  • 来源:由 GPT-4 评估的提示组成,GPT-4 根据指令遵循性、诚实性和有用性对响应进行评分。
  • 内容:包括 64,000 个提示,每个提示有四个响应,GPT-4 进行评分。
  • 二元偏好:通过选择评分最高的响应作为 “选中” 和剩余响应中随机选择一个作为 “拒绝” 来生成,以增强多样性并挑战直接偏好优化(DPO)过程。

这两个数据集对于训练 Zephyr-7B 以理解和生成类似人类的对话至关重要,这些对话遵循指令、诚实和有用。这些数据集已在 Hugging Face Hub 上提供,您可以通过 此链接 访问。

性能和结果

下面的图表展示了 Zephyr 7B 在各种任务类别中的性能,与其他模型(如 GPT-3.5-turbo、Claude 1、GPT-4 和 LLaMA-2-70B-chat)相比。类别可能包括写作、人文、角色扮演、推理、STEM、提取、编码和数学。

从图表中,我们可以推断出 Zephyr 7B 在哪些领域表现出色,哪些领域可能需要进一步改进。例如,如果 Zephyr 的线条在写作轴上比其他模型更远,则表明 Zephyr 在生成书面内容方面特别强大。相反,如果线条在数学轴上更接近中心,则可能表明在解决数学问题方面相对较弱。

雷达图有助于识别 Zephyr 7B 的优势和劣势,提供了一个视觉表示,以展示它与更大型模型(如 GPT-4)和专用模型(如 LLaMA-2-70B-chat)相比的位置。

 

模型性能雷达图

模型性能雷达图

比较各种语言模型在两个基准测试(MT-Bench 和 AlpacaEval)上的表现。模型根据其大小、对齐方法(如 dSFT 或 dDPO)和性能评分进行评估。Zephyr 在两个基准测试中都取得了高分,表明其在生成对齐响应方面的有效性。

MT-Bench 和 AlpacaEval

MT-Bench 和 AlpacaEval

结论

总之,Zephyr-7B 的开发表明,可以通过蒸馏的方式将大型语言模型(LLM)的对话能力对齐到较小的模型上,而无需依赖采样方法。通过使用直接偏好优化(DPO)和 AI 反馈,Zephyr-7B 利用 Mistral-7B 的坚实基础为 7B 参数聊天模型设定了新的基准,展示了开放源模型能够有效地理解和响应用户意图的能力。

然而,这项研究并非没有局限性。使用 GPT-4 作为基准评估者引入了偏见,可能会偏向于从中蒸馏的模型,潜在地偏爱准确的响应。此外,使用此方法扩展到更大模型(如 LLAMA2-70B)以及其对性能增益的影响仍然是需要进一步研究的领域。这些局限性凸显了持续创新和开发无偏见评估方法在 AI 社区中的必要性。

展望未来,很明显,小型模型能够达到与大型模型相当的性能水平,可以使 AI 更加民主化,使其在各种应用中更易于获取和高效使用。Zephyr-7B 的成功鼓励了对开放源模型的进一步探索,这可以加速 AI 领域的协同研究和开发。

我已经沉浸在了令人着迷的机器学习和深度学习世界中五年了。我的热情和专业知识让我为超过50个不同的软件工程项目做出了贡献,特别关注AI/ML。我的持续的好奇心也让我对自然语言处理产生了兴趣,这是一个我渴望进一步探索的领域。