Apple 智能基础语言模型

我们发布了一款支持 Apple 智能的核心语言模型,该模型由两个部分组成:一是一个具有 30 亿参数的模型,专为实现在设备上高效运行而设计;二是一个大型服务器端语言模型,专为私有云环境设计。本报告将详细介绍各模型的架构、训练数据、训练过程、推理优化方法以及评估结果。同时,我们将深入探讨负责任的人工智能原则,并展示这些原则在模型开发全流程中的具体应用实例。

01. 介绍

在 2024 年的全球开发者大会上,Apple Intelligence 正式发布,这是一个与 iOS 18、iPadOS 18 和 macOS Sequoia 深度融合的个性化智能系统。

Apple Intelligence 集成了多个先进的生成式模型,特点是响应迅速、高效能,并专门针对提升用户日常工作的效率进行了优化。这些模型能够根据用户的当前活动进行实时调整。Apple Intelligence 的基础模型已针对多种用户体验进行了微调,包括自动撰写与优化文本、智能排序与汇总通知、创建用于社交互动的图像,以及在应用内执行操作,从而简化跨应用的工作流程。

图 1:Apple 基础模型概览

本报告将详细介绍两个模型:AFM-on-device(即 Apple 基础模型),这是一个具有 30 亿参数的语言模型;以及 AFM-server,这是一个更大规模的服务器端语言模型。本报告将探讨这些模型的构建与优化方式,以确保它们能够高效、准确且遵循责任原则地执行特定任务(见图 1)。这两个基础模型是 Apple 生成模型家族的重要组成部分,其中还包括一个基于 AFM 语言模型的编码模型,专为在 Xcode 中增强智能功能而设计,及一个用于帮助用户在 Message 应用中进行视觉表达的扩散模型。

Apple Intelligence 的设计始终遵循 Apple 的核心价值观,建立在行业领先的隐私保护基础之上。此外,我们还确立了负责任的 AI 原则,以此为指导,确保我们开发的 AI 工具及其背后的模型符合伦理和社会责任:

  1. 通过智能工具赋能用户:我们识别出负责任使用 AI 的领域,开发定制工具以满足特定用户的需求,并尊重用户使用这些工具实现目标的方式。
  2. 为用户代言:我们开发了极具个性化的产品,致力于真实反映全球用户的需求,并主动采取多种措施,以防止我们的人工智能工具和模型中出现刻板印象和系统性偏见。
  3. 精心设计:我们在模型设计、训练、功能开发以及质量评估的各个环节均实施了严格的预防措施,防止AI 工具的滥用及潜在伤害。我们将持续通过用户反馈,不断优化我们的 AI 工具。
  4. 保护因素:我们通过强大的设备端处理能力和创新的基础设施(如私有云计算)来保护用户的隐私。在训练基础模型时,我们不会使用用户的私人数据或交互信息。

这些原则贯穿于 Apple Intelligence 的每个架构阶段,并将各项功能和工具与为特定任务定制的模型紧密结合。

在报告的接下里的部分,我们将详细介绍以下做法:如何开发高性能、快速且节能的模型;如何训练这些模型;如何根据特定用户需求对模型适配器进行微调;以及我们如何评估模型在帮助用户和预防潜在伤害方面的表现。

在接下来的部分,我们将详细介绍以下做法:如何开发高性能、快速且节能的模型;如何训练这些模型;如何根据特定用户需求对适配器进行微调;以及我们如何评估模型在帮助用户和预防潜在伤害方面的表现。

02. 架构

AFM 基础模型是基于 Transformer 架构的密集型解码器模型 [Vaswani et al.,2017],其设计选择包括以下几点:

  • 共享输入/输出嵌入矩阵 [Press and Wolf,2016] 以减少参数的内存使用 [Press and Wolf,2016]。
  • 使用 Pre-Normalization [Nguyen and Salazar,2019] 结合 RMSNorm [Zhang and Sennrich,2019] 以提高训练稳定性。
  • Query/Key 归一化 [Wortsman et al.,2023] 用于改善训练稳定性。
  • Grouped-query 注意力机制 (GQA) [Ainslie et al.,2023],使用8个键值头以减少 KV-cache 内存占用。
  • 使用 SwiGLU 激活函数 [Shazeer,2020] 提高效率。
  • 使用 RoPE [Su et al.,2024] 位置嵌入,并设置为 500k,以支持长上下文。

表 1 提供了关于 AFM 设备端尺寸的一些详细信息。

表 1:AFM 设备端尺寸。

03. 预训练

我们的 AFM 预训练过程对于开发高性能语言模型至关重要,这些模型支持众多 Apple Intelligence 功能,旨在提升用户体验。在预训练的每个步骤中,我们严格关注模型的效率和数据质量,以确保通过高效、低延迟的模型为用户提供高质量的端到端体验。

3.1 数据

AFM 预训练数据集汇集了多样化且高质量的数据来源,包括从发布者获得授权的数据、精心挑选的公开或开源数据集,以及由我们的网络爬虫 Applebot 抓取的公开信息 [Apple,2024a]。我们遵行标准 robots.txt 指令,接受不被 Applebot 抓取的权利。由于我们十分注重保护用户隐私,因此,数据集中不包含任何 Apple 用户的私人数据。此外,我们对公开数据进行了大量工作,移除了粗言秽语、不安全内容和个人可识别信息(详见第 7 章),并对广泛使用的评估基准进行了严格的数据清洗处理。我们发现,相较于数据数量,数据质量是决定下游模型性能的关键因素。在接下来的部分中,我们将深入探讨数据集中最为重要的核心要素。

3.1.1 网页

我们通过网络爬虫 Applebot 抓取公开信息,并遵循网页发布者通过标准 robots.txt 指令设置的抓取限制。此外,我们采取措施过滤包含粗言秽语的页面,并应用过滤器移除个人可识别信息(PII)。剩余的文档会通过处理流程进行处理,包括质量筛选和纯文本提取。具体而言:

  • 使用 Safari 阅读模式和 Boilerpipe [Kohlschütter et al.,2010] 算法相结合进行正文提取。
  • 通过启发式方法和基于模型的分类器进行安全性和脏话过滤。
  • 使用局部敏感的 n-gram 哈希进行全局模糊去重。
  • 通过启发式方法和基于模型的分类器进行广泛的质量过滤 [Kong et al.,2024; Li et al.,2024a]。
  • 针对 811 个常见预训练基准数据集进行去污染处理,在与任何基准数据集发生 4-13 gram 碰撞时过滤整个文档,除非给定 n-gram 的碰撞次数达到“常用”阈值 1000。

3.1.2 许可数据集

我们专注于从发布者获取有限但高质量的授权数据。这些数据集为我们提供了多样化且高质量的上下文信息,因此我们将其纳入数据集中,并分别用于持续的预训练和上下文扩展阶段(详见第 3.2.2 和第 3.2.3 节)。此外,我们对授权数据的特定部分进行了清洗处理,该处理过程与网页数据的处理流程一致(详见第 3.1.1 节)。

3.1.3 代码

我们的代码数据来源于经过授权并筛选的 GitHub 开源库,主要涵盖 14 种常见的编程语言,如 Swift、Python、C、Objective-C、C++、JavaScript、Java 和 Go。我们对这些数据进行了去重处理,并进行了个人可识别信息(PII)的剔除和质量筛选,同时按照第 3.1.1 节中描述的方式进行了清洗处理。

3.1.4 数学

我们整合了两类来自网络的高质量数据。第一类是数学问答数据集,包含来自 20 个富含数学内容网络域名的 30 亿 token,这些问题和答案通过识别 HTML 页面中的相关标签提取而来。第二类数据来自数学论坛、博客、教程和研讨会等网页,收集了 140 亿 token。为了过滤这些网页,我们使用了一个专门的处理方式,包括数字标签过滤器(包含 40 个字符串,用于识别数学模板)、数学符号过滤器(包含 350 个 Unicode 和 LaTeX 符号,用于识别数学内容)、一个专为数学设计的语言模型分类器驱动的质量过滤器 [Kong et al.,2024],以及一个针对所有人工标记域名的域过滤器。经过这些过滤器的处理后,我们对数据进行了去重、进一步清洗,并移除了所有 PII,以生成最终的数据集。

3.1.5 公共数据集

我们评估并选择了多个高质量的公开可用数据集,这些数据集已获得许可,可用于训练语言模型。在将它们纳入预训练数据集之前,我们对其进行了过滤,移除了个人身份信息(PII)。

3.1.6 分词器

我们使用了基于 SentencePiece 的字节对编码(BPE)分词器。所有数字都被拆分为单个字符,并通过字节回退机制将未知的 UTF-8 字符解析为字节级标记。为了保持原始数据的完整性,我们未启用 Unicode 规范化。AFM-server 和 AFM-on-device 的词汇量分别为 10 万和 4.9 万。

3.2 方案

我们将 AFM 的预训练过程分为三个阶段:1. 核心阶段,这是主要消耗计算资源的阶段;2. 持续阶段,在此阶段,我们降低了定义为低质量的网页抓取数据的权重,增加了代码和数学数据的权重,并结合了第 3.1.2 节中的授权数据;3. 上下文拓展阶段,采用更长的序列长度,并在数据集中引入了与持续阶段相似的合成长上下文数据。各预训练阶段的模型质量及内部基准测试的 AFM 额外指标详见附录 C,附录 D 中还评估了 AFM-server 处理长上下文的能力。所有阶段均使用解耦权重衰减 [Loshchilov 和 Hutter,2019] 进行正则化,并采用简化版的 µParam [Yang 等,2022],这一方法类似于 [Wortsman 等,2023] 所描述的 µParam (simple)。我们发现,在这一规模下无需使用更复杂的参数范数控制。各阶段的模型和优化器状态均以 float32 形式分片存储,并在前向和后向传播时转换为 bfloat16 以提高计算效率。

3.2.1 核心预训练

我们从零开始训练了 AFM-server,而 AFM-on-device 则通过对更大模型进行蒸馏和剪枝得到。

AFM-server:我们从头开始在 8,192 块 TPUv4 芯片上训练 AFM-server,使用了 6.3 万亿 token,序列长度和 batch size 均为 4,096。虽然 batch size 是根据模型大小和计算预算的缩放规律确定的,但我们发现下游结果对较宽范围的 batch size 不敏感,预计 0.5 倍到 2 倍的 batch size 都会产生类似结果(实际预测的最优值约为 3,072,但 4,096 的选择更能提高芯片利用率)。在维度为 768 的代理模型上进行学习率搜索后,我们发现最优学习率范围在 0.01-0.02 之间,因此最终选择了保守的 0.01。µParam (simple) 的使用使得线性层的有效学习率缩小至约 0.1。

我们采用了调优后的 3.16e−4 的解耦权重衰减值,发现这一数值在各种测试模型和计算预算下表现都很稳定。学习率调度策略包括前 5,000 步的线性预热,之后在剩余训练过程中按余弦衰减至峰值 0.005。更多关于优化器的信息,请参见第 3.2.4 节。附录 A 还将 AFM 的核心预训练方案与更常见的配置进行了比较。

AFM-on-device:在设备端模型的训练中,我们发现知识蒸馏 [Hinton 等,2015] 和结构剪枝是提高模型性能和训练效率的有效方法。这两种方法互为补充,并以不同的方式发挥作用。在训练 AFM-on-device 之前,我们首先从一个剪枝后的 64 亿参数模型(此模型采用与 AFM-server 相同的方案从零开始训练)进行初始化。剪枝掩码的学习方法参考了 [Wang 等,2020; Xia 等,2023],主要有以下三点区别:(1)我们仅对前馈层的隐藏维度进行了剪枝;(2)我们采用 Soft-Top-K 掩码 [Lei 等,2023],而非 HardConcrete 掩码 [Louizos 等,2018];(3)我们使用与核心阶段相同的预训练数据组合来学习掩码,处理了 1,880 亿个 token。在 AFM-on-device 的核心预训练过程中,我们通过将目标标签与教师模型(teacher model)的top-1 预测结果按比例组合进行蒸馏,其中 90% 的权重分配给教师模型(teacher model)标签,总共处理了 6.3 万亿个 token。结果显示,剪枝模型的初始化可以将数据效率和最终基准测试结果提高 0-2%。而通过蒸馏,MMLU 和 GSM8K 指标分别提高了约 5% 和 3%。更详细的消融实验结果可参见附录 B。除了batch-size之外,AFM-on-device 的所有训练超参数均与 AFM-server 保持一致。

3.2.2 持续预训练

在这两个模型中,我们都在序列长度为 8,192 的情况下进行了持续预训练。此阶段使用了一个包含 1 万亿个 token 的数据混合集,其中数学和代码的权重有所增加,而大量网络抓取数据的权重则有所减少,还包含了第 3.1.2 节中提到的授权数据。我们设定了峰值为 3e−4 的学习率和 1e−5 的解耦权重衰减,同时进行了 1,000 步的预热阶段,最终的学习率衰减至 0.001。与核心预训练不同的是,其他设置如批量大小等均保持不变。对于 AFM-on-device,我们发现在此阶段蒸馏损失的效果不如在核心预训练时明显,因此持续预训练过程的设置与 AFM-server 完全一致。

3.2.3 上下文扩展

最后,我们在序列长度为 32,768 个 token 的条件下,基于持续预训练阶段的数据混合集,并结合合成的长上下文问答数据,进行了额外的 1,000 亿个 token 的持续预训练。为了提高从短文本到长文本的泛化能力,我们遵循 [Liu 等,2024] 中提到的缩放法则,将 RoPE 的基频从 500k 提升至 6,315,089。这一调整旨在更好地适应长文本预训练,尤其考虑到我们的大部分预训练数据文档长度远短于 32k 个 token。该方法与持续预训练阶段的策略类似。关于 AFM-server 处理长上下文的性能,请参见附录 D 的详细讨论。

3.2.4 优化器

我们为 AFM 的预训练选择了一种带有动量的 RMSProp 变体。具体步骤如下:首先,我们将原始梯度除以经过偏差校正的平方梯度的指数移动平均的平方根,以得到更新值。然后,将该更新值限制在每个参数块的最大范数 1.0 以内,并进一步通过未校正的指数移动平均对其进行平滑,生成最终的更新值。默认情况下,平方梯度(β2)和更新值(β1)的平滑系数均设定为 0.95。为确保数值稳定性,我们在平滑之前在瞬时平方梯度中加入了一个小常数 ϵ = 1×10−30。这些平滑后的更新值首先乘以学习率,然后在叠加权重衰减并施加预定的衰减后,生成最终的权重变化量。为了进一步确保训练过程的稳定性,我们在进入优化器之前,将全局梯度范数限制在 1.0 以内。关于与更典型配置的对比分析,请参见附录 A。

3.3 训练基础设施

AFM 模型在 v4 和 v5p Cloud TPU 集群上使用 AXLearn 框架 [Apple,2023] 进行了预训练。AXLearn 是基于 JAX [Bradbury et al.,2018] 的深度学习库,专为公共云环境设计。在训练过程中,我们结合了张量并行、数据并行和序列并行,使训练能够扩展至大量模型参数和长序列,同时实现资源的高效利用。得益于这一系统,我们能够高效训练包括 AFM-on-device、AFM-server 以及更大规模的 AFM 模型。

AFM-server 的训练使用了 8,192 个 TPUv4 芯片,这些芯片被配置为 8 × 1024 个芯片组,并通过数据中心网络(DCN) [Chowdhery et al.,2022] 连接。在这些芯片组中,只有数据并行跨越了芯片组的边界,其他状态分片操作则仅限于芯片组内部进行,因为芯片组内部的互连带宽比 DCN 高出数个数量级。此次训练中,模型的浮点运算利用率(MFU)约为 52%。AFM-on-device 的训练则在一个包含 2,048 个 TPUv5p 芯片的芯片组上进行。

04. 后训练

虽然 Apple Intelligence 的功能是通过在基础模型上添加适配器来实现的(适配器架构详见第 5 节),但我们发现,通过增强模型的通用性进行后训练,可以有效提高各项功能的性能,特别是在指令执行、推理和写作能力方面。

为进一步增强预训练 AFM 模型的通用指令遵循和对话能力,我们进行了深入的后训练研究。我们致力于确保这些能力与 Apple 的核心价值观和原则保持一致,尤其是在用户隐私保护和负责任的人工智能方面。后训练过程分为两个阶段:监督微调(SFT)和基于人类反馈的强化学习(RLHF)。我们还提出了两种新型的后训练算法:(1)带有教师委员会的拒绝采样微调算法(iTeC),(2)结合镜像下降策略优化和留一优势估计器(MDLOO)的基于人类反馈的强化学习(RLHF)算法。这些算法显著提升了模型的整体质量。

4.1 数据

在后训练过程中,我们采用了一种混合数据策略,结合了人工标注数据和合成数据,以提升 AFM 模型的性能。我们通过数据收集和实验发现,数据质量是模型成功的关键因素。为此,我们进行了广泛的数据整理和筛选,以确保数据的高质量。

4.1.1 人工标注

演示数据:为了增强 AFM 的指令微调能力,我们从多个来源收集了高质量的人工标注演示数据集。这些数据集以对话形式呈现,涵盖了系统级和任务级的指令(即提示)及其相应的响应。与 [Zhou et al.,2024] 的研究类似,我们发现数据的质量比数量更为重要。因此,我们在数据选择上严格遵循关键质量标准,如有用性、无害性、展示效果和回应准确性。我们还确保这些数据集涵盖了 Apple Intelligence 功能所需的广泛任务分布。为了保护用户隐私,我们采取了措施,确保数据中不包含个人身份信息,也不涉及 Apple 存储的任何个人数据。

人类偏好反馈:为了不断提升 AFM 的能力,我们进一步收集人类反馈以用于强化学习。具体来说,我们要求标注员比较和排序两个模型在相同提示下的响应,从而收集偏好标签。此外,我们还设计了针对性的问题来引导评分过程,帮助评分员从指令遵循、安全性、真实性和展示效果等方面评估模型的回应质量,并将这些反馈标签用于模型训练。在此过程中,我们始终强调 Apple 的核心价值观和标准。与演示数据类似,我们发现反馈数据的质量至关重要,因此我们通过数据与模型质量的联合迭代,持续推动改进。

4.1.2 合成数据

除了依赖人工标注,我们还利用合成数据生成技术提升数据的质量和多样性。研究表明,在强大的奖励模型指导下,自适应反馈模型(AFMs)能够生成高质量的响应,甚至在某些特定领域中,表现超越了人工注释。因此,我们通过扩展提示集来增强数据的多样性,进而提升了 AFMs 的性能。接下来,我们将探讨如何在数学、工具使用和编码这三个领域中,为 AFM 的后训练生成合成数据的策略。

数学:在数学领域,因其广泛的主题和多样的难度级别,收集人工示例不仅耗时,还需要专业知识。随着模型能力的提升,仅靠人工编写内容已不再足够。因此,探索合成数据的潜力对于应对这些挑战至关重要。数学合成数据的创建包括两个主要步骤:首先生成数学问题,然后生成相应的回答。在数学问题的合成过程中,我们采用了多种“进化”策略,将初始的种子提示集转化为更大且多样化的提示集。

  • 问题重述与反转:根据 [Yu et al.,2023] 的方法,我们利用自适应反馈模型(AFM)对原始数学问题进行重新构建,并构建了一种逆向问题解决机制。通过这一机制,我们能够依据指定的最终答案,反推出原始问题中的具体数值。
  • 问题演变:受到指令演变技术 [Xu et al.,2023] 的启发,针对初始问题集 Dseed,我们指导自适应反馈模型(AFM)生成两种数学问题集:基于深度演变的 Ddepth 和基于广度演变的 Dbreadth。深度演变通过提升问题难度来增强指令的执行效果,而广度演变则拓宽了问题主题的覆盖。对于 Dbreadth 和 Ddepth,我们首先应用嵌入模型进行去重算法处理,随后应用语言模型(LLMs)来验证生成的数学问题在逻辑上的连贯性和解题上的可行性。对于 Ddepth,我们设定了问题难度级别,并筛选出难度评分超过预设阈值的问题。

基于扩展后的数学问题集,我们引导 AFM 为每个问题生成 N 个包含思维链的回答。如果初始种子数据中包含正确答案,则可将这些答案作为“结果奖励信号”来过滤生成的合成答案。对于推理步骤较少的问题,我们观察到正确的最终答案通常与正确的中间步骤一致。如果直接检查答案的准确性不奏效或无法获取真实值,我们将通过查询大型语言模型(LLM)进行评估。经过筛选的答案用于训练数据时,显著提高了模型的数学能力。

工具使用:我们还开发了 AFM 的工具使用能力,包括函数调用、代码解释器和浏览器功能,这些能力通过合成数据与人工数据相结合进行实现。首先,我们通过合成数据引导模型,集中于单一工具的使用场景。接下来,收集人工注释数据,以提升模型在多工具和多步骤场景中的表现。此外,我们通过将预测工具与其他类似工具结合,增强了人工策划的函数调用数据,从而提高了工具选择的难度。我们还从人工策划的数据中合成平行的函数调用数据,以启用新的功能,并基于这些数据与通用的监督微调(SFT)数据,生成工具意图检测数据,从而有效缓解工具调用过度触发的问题。

编码:合成编码数据集的生成采用了拒绝采样的自我指导方法,使模型能够自主学习并生成数据。首先,我们从 71 个不同的编程主题出发,提示模型生成初步的编码面试题池。对于每个问题,模型会生成一组单元测试和若干潜在解决方案。接下来,我们使用基于执行的拒绝采样方法来选择最佳解决方案。具体而言,我们将每个潜在解决方案与所有单元测试进行编译和执行,并选择执行成功次数最多的解决方案。这样生成的结果是一个(问题、测试用例、解决方案)三元组集合。最终,我们通过根据单元测试的通过数量来筛选这些三元组,确保数据集的质量,得到 12,000 个高质量的三元组,用于监督微调(SFT)。

4.2 监督式微调(SFT)

已有研究 [Chung et al.,2024] 表明,扩展多任务指令可以显著提升模型在多种任务上的表现。基于这一发现,我们尝试通过增加监督微调数据来构建一个强大的基础模型,以便后续进行模型对齐。在监督微调(SFT)过程中,我们收集并使用了经过特定提示筛选的示例数据。我们精心选择并结合了人工数据和合成数据,形成一个高质量的混合数据集,以覆盖各种自然语言应用场景。

数据选择:在将数据用于模型训练之前,我们设立了一系列质量控制措施。这些措施包括内部人工标注者的评分、基于模型的自动过滤技术以及文本嵌入去重。此外,我们还通过使用多种合成数据生成方法(详见第 4.1.2 节)和拒绝采样方法(详见第 4.3.2 节),以扩大数据混合的规模。

调整混合比例:为了优化数据混合比例,我们将此问题建模为一个优化问题。具体而言,给定一组权重 (w1,w2,…,wn),其中 wi 表示混合中某一特定成分的比例,我们通过训练模型并调整权重 wi → wi ± ∆wi,在一组基准测试上评估质量变化。通过广泛的实验,我们能够有效识别出最佳的混合比例,并据此去除对整体影响较小的数据成分。

训练超参数:在模型训练过程中,我们采用了固定的学习率设置,其中 AFM-server 的学习率为 5e−6,AFM-device 的学习率为 2e−5,且 dropout 率设定为 0.1。由于评估指标在不同的检查点间可能会出现波动,我们通过自动评估基准和奖励模型来选择最佳检查点,并进一步测试强化学习(RL)的潜在提升空间。

4.3 来自人类反馈的强化学习(RLHF)

我们进一步结合强化学习(RL)和收集到的人工偏好数据,以全面提升模型的性能和质量。在此过程中,我们训练了一个强大的奖励模型,并将其应用于两个算法:iTeC 和 MDLOO。关于这些应用的具体细节,我们将在下文中进行详细讨论。有关我们的 RLHF(基于人类反馈的强化学习)管道的更多信息,请参见附录 E。

4.3.1 奖励建模

我们使用第 4.1.1 节中描述的方法收集的人工偏好数据来训练奖励模型。每条数据包含一个提示和两个响应,并附有以下标签:

  • 两个响应中的优选响应以及其优选等级,即优选响应是否显著更好、更好、略好或仅比被拒绝的响应稍微好一些。
  • 对每个响应的单面评分,包括对指令遵循、简洁性、真实性和无害性的评价。

我们的奖励模型训练遵循了强化学习中的奖励建模标准,并引入了两项主要创新:

  • 我们设计了一种软标签损失函数,能够考虑人工的偏好等级。
  • 我们将单面评分作为正则化项纳入奖励建模中。

我们采用了广泛使用的 Bradley-Terry-Luce (BTL) 模型 [Bradley and Terry,1952] 进行奖励建模。在这个模型中,人工标注者偏好一个响应而非另一个的概率被建模为奖励差异的 sigmoid 函数。我们的软标签损失函数旨在使偏好概率与偏好等级一致,即当一个响应明显优于另一个时,偏好概率应更高。这与 Llama 2 [Touvron et al.,2023] 中使用的基于边际的损失函数有所不同,尽管它也考虑了偏好等级。实验表明,我们的方法在效果上优于基于边际的损失函数。此外,我们发现,将单面评分作为正则化项能够有效提升奖励模型的准确性。有关我们奖励建模技术的更多细节,请参见第 E.1 节。

4.3.2 迭代教学委员会(iTeC)

为了充分发挥模型的潜力,我们提出了一种创新的迭代强化学习与人类反馈(RLHF)框架。该框架有效融合了多种偏好优化算法,包括拒绝采样(RS)、直接偏好优化(DPO)[Rafailov et al.,2024] 及其变体如 IPO [Azar et al.,2024],以及在线强化学习(RL)。通过这种框架,我们能够将 RLHF 的优势应用于不同规模的 AFM 模型,并显著提高它们的对齐度。

迭代委员会:在开发 AFM RLHF 的过程中,我们总结出了一项重要经验:应通过一组表现最佳的模型来优化在线人工偏好数据的收集过程。具体来说,我们为每一批次的人工偏好数据收集设立了一个“模型委员会”。该委员会由最新的、经过 SFT(监督微调)、RS(排名学习)、DPO/IPO(直接偏好优化/间接偏好优化)和 RL(强化学习)训练的模型,以及在前几轮迭代中表现优异的模型组成。我们通过这些模型委员会来收集成对的人工偏好数据。在每批人工偏好数据收集完成后,我们会更新奖励模型,并运用这些偏好优化算法来进一步训练一组新的模型。接着,我们将启动新一轮的RLHF 数据收集,使用更新后的模型委员会来执行这一过程。

委员会蒸馏(Committee Distillation):我们进一步利用最新的奖励模型对模型委员会进行拒绝采样(即蒸馏处理)。与传统的通过全球排序选择一个最佳模型作为教师模型的方法不同,我们在提示级别上进行排序。具体而言,对于每个提示,我们从委员会中的每个模型中采样多个响应,并通过最新的奖励模型选择出最佳响应。这种方法使我们能够结合不同偏好优化算法的优势。例如,我们发现,使用负例的算法如在线 RLHF、DPO、IPO 等在提升数学推理能力方面表现更佳,而通过拒绝采样进行微调则在增强指令遵循和写作技能方面更为有效。

扩大蒸馏:为了将 RLHF 的改进应用到所有规模的 AFM 模型中,我们增加了模型委员会中的蒸馏规模。与较大的模型相比,较小的模型在增加蒸馏提示数量时能够获得显著的性能提升。我们的最终 AFM-on-device 模型是在超过 100 万个由模型委员会生成的高质量响应上进行训练的。

4.3.3 在线 RLHF 算法:MDLOO

在本节中,我们介绍了一种名为 MDLOO 的在线强化学习算法。该算法在模型训练过程中,通过解码响应来应用强化学习,以实现奖励的最大化。我们采用了常见的 RLHF 目标,即通过最大化 KL 惩罚项来优化奖励函数 [Ouyang et al.,2022]:

在这里,D 表示提示的分布,DKL(·∥·) 代表两个分布之间的 Kullback-Leibler 散度,β 是一个系数,用于控制行为策略 πθ 与参考策略 πref 之间的差异。参考策略通常是通过 SFT(监督微调)训练得到的模型。在我们的 RL 训练中,我们使用了奖励函数

其期望值等同于方程 1。在这种情况下,我们采用 bandit 模型,将整个响应的生成视为一个单一动作,而不使用价值网络(即评论网络)来评估每个 token 的奖励或优势。类似于常用的 RLHF 算法,如 PPO [Schulman et al.,2017],我们使用基于信任区域的策略迭代算法。在我们的在线强化学习算法中,我们做出了两个主要设计选择:

  • 我们使用留一法(Leave-One-Out,LOO)估计器来评估提示-响应对的优势,这与最近的研究 [Ahmadian et al.,2024] 类似。
  • 我们采用镜像下降策略优化(Mirror Descent Policy Optimization,MDPO)[Tomar et al.,2020] 来优化策略,这与常用的基于剪裁的 PPO 方法不同。

因此,我们将这种在线强化学习算法命名为带有留一法估计的镜像下降(MDLOO)。具体来说,在算法的解码阶段,我们为每个提示生成多个响应,并通过计算每个响应的奖励与其他响应的平均奖励之间的差值来定义其优势。直观上,这个估计器用来评估某一响应相对于其他典型响应的优劣。在实践中,我们发现这个优势估计器对于稳定强化学习算法和取得优异结果至关重要。此外,我们采用了基于 KL 正则化的信任区域方法,即 MDPO,以控制每次迭代中的策略变化。我们发现,在我们的应用场景中,这种方法比 PPO 更为有效。关于我们的在线 RLHF 算法的更多细节,请参见 E.2 节。

05. Apple Intelligence 特性

我们的基础模型专为 Apple Intelligence 设计,这是一种集成于 iPhone、iPad 和 Mac 支持设备中的个人智能系统。这些模型旨在提供快速和高效的性能。虽然我们的基础模型在多种能力上表现出色,但其质量的关键在于在我们的操作系统中执行特定任务的能力。

我们发现,通过针对任务的微调,即使是小型模型也能达到最佳性能。为此,我们开发了一种架构,该架构基于运行时可交换的适配器,使单个基础模型能够专注于数十种任务。图 2 展示了这一架构的高级概览。

图 2:Apple Intelligence 的架构,包含用于设备和服务器的语言模型以及图像模型的适配器。在本报告中,我们仅描述文本模型。

5.1 适配器架构

我们的基础模型经过微调,以更好地适应用户的日常活动,并能即时专注于当前任务。我们采用了 LoRA [Hu et al.,2021] 适配器技术,这种小型神经网络模块被集成到基础模型的各层,专门用于针对特定任务的优化。对于每个任务,我们对 AFM 的自注意力机制中的线性变换矩阵和前馈网络的全连接层进行了调整。通过仅对适配器进行优化,我们保持了基础预训练模型的原始参数不变,既保留了模型的通用知识,又使适配器能够针对特定任务进行定制。

我们采用 16 位浮点数来表示适配器参数的值。对于一个拥有大约 30 亿参数的设备端模型,16 位精度的适配器参数通常需要数十兆字节大小的存储空间。适配器能够被动态加载,并在内存中进行临时缓存,这使得我们的基础模型能够迅速适应当前任务,同时有效控制内存使用并保持操作系统的快速响应。

为了简化适配器的训练过程,我们构建了一个高效的训练框架,它允许我们在基础模型或训练数据更新,或需要引入新功能时,迅速进行适配器的添加、重新训练、测试以及部署。特别指出,适配器参数是通过第 5.2 节描述的精度恢复技术进行初始化的。

5.2 优化

AFM 模型的设计目标是满足用户日常活动的需求,因此模型推理的响应时间和功耗效率对于改善用户体验极为关键。通过应用多种优化技术,我们确保了 AFM 模型能够在设备端和私有云环境中高效运行。这些技术在不牺牲模型性能的前提下,显著减少了内存使用、推理延迟和能耗。

为了使 AFM 适应边缘设备的有限内存并同时降低推理成本,应用模型量化技术减少每个权重的有效位数,同时维持模型质量至关重要。相较于原始的 32/16 位浮点模型,研究表明 4 位量化模型的质量损失相对较小,这通常通过预训练指标来衡量。鉴于 AFM 需要支持多种产品功能,确保量化模型在这些关键领域维持性能是必要的。为了实现模型容量与推理性能之间的最优折衷,我们开发了一种最先进的量化方法,以及一个采用精度恢复适配器的框架。这使我们能够接近无损地实现量化效果,平均每个权重的位数小于 4 位,同时提供灵活的量化方案选择。

方法:在模型的后训练阶段,我们实施了压缩和量化操作,使得平均每个权重的位数小于或等于 4 位(量化方案的具体细节将在后续部分进行讨论)。量化后的模型可能会有一定程度的质量损失。因此,我们不会直接将量化模型交给应用团队进行功能开发,而是引入了高效的 LoRA 适配器以补偿质量损失。我们确保适配器的训练流程与预训练和量化训练阶段保持一致性。随后,各产品团队将在精度恢复适配器的基础上初始化适配器权重,并针对其特定功能对 LoRA 适配器进行精细调整,同时维持量化模型的原始结构。

特别指出,精度恢复适配器的训练过程非常高效,可以视为基础模型训练的简化版。在适配器的预训练阶段,仅需约 100 亿 tokens 便能完全恢复量化模型的性能,这仅占基础模型训练量的 0.15%。因为基于这些精度恢复适配器进行微调,不会导致额外的内存消耗或推理成本增加。就适配器的规模而言,研究发现值为 16 的适配器达到了模型容量与推理性能之间的最优平衡。此外,为了满足不同的应用需求,提供了8、16、32等不同等级的精度恢复适配器供选择。附录 F 中展示了未量化、量化和精度恢复模型的详细评估结果,表明经过精度恢复的模型性能与未量化版本相近。

量化方案:精度恢复适配器的另一个优势在于提供了量化选择的灵活性。传统上,量化大型语言模型时,权重被分割成较小的块,并通过最大绝对值缩放以消除异常值,然后基于这些块应用量化算法。较大块尺寸有利于减少权重位数并提升处理速度,但这会增加量化损失。为平衡这种权衡,通常选择较小的块尺寸,如 64 或 32。我们在实验中发现,精度恢复适配器显著提高了这种权衡的效率,尤其在更激进的量化方案中,能显著减少量化误差。这使得 AFM 能够采用高效的量化方案,而不必担心损失模型容量。在 Apple Neural Engine(ANE)上运行的 AFM 设备模型中,我们采用了颜色量化技术:对于投影权重,每 16 列或行共享相同的量化常量,即共享量化查找表,并使用 K-means 算法量化为 16 个唯一值(4 位)。量化块的大小可扩展至 100k。另外,由于 AFM 的嵌入层在输入输出间共享,ANE 上的实现方式与投影层不同,我们采用了 8 位整数的每通道量化方法来提高效率。

混合精度量化:在 AFM 的每个 Transformer 块和每一层中都存在残差连接,因此各层的重要性不可能一致。鉴于此,我们通过将部分层的量化精度降低至 2 位(相对于默认的 4 位)以进一步减少内存使用。平均来看,设备上的 AFM 可以压缩至每权重约 3.5 位,而不致于显著降低模型质量。在实际生产中,我们选择了 3.7 位每权重的量化方案,因为此方案已经满足了内存需求。

交互式模型分析:我们使用了一种名为 Talaria 的交互式模型延迟和功率分析工具 [Hohman et al.,2024],以便更好地指导每个操作的比特率选择。

更多讨论:量化模型和 LoRA 适配器的设计原理与 QLoRA [Dettmers et al.,2024] 相似。QLoRA 旨在微调阶段减少计算资源消耗,而我们的方法侧重于通过在不同 LoRA 适配器之间切换,以支持各种特定应用场景的高性能需求。在执行特定功能微调前,我们先在相同的预训练和后训练数据上训练精度恢复适配器,这对维持模型性能至关重要。精度恢复框架能够与包括 GPTQ [Frantar et al.,2022] 和 AWQ [Lin et al.,2024] 在内的不同量化技术结合使用,由于其不依赖于特定量化算法。如第 5 节所述的功能适配器便是从这些精度恢复适配器初始化而来。

5.3 案例研究:摘要

在实现摘要功能的过程中,我们采用了AFM-on-device模型,并与设计团队密切合作,同时为电子邮件、信息和通知的摘要制定了明确的规范。

尽管 AFM-on-device 在生成摘要上表现良好,但其生成符合规范的摘要仍具有挑战性。为此,在量化的 AFM-on-device 模型基础上,我们微调了一个 LoRA 适配器用于生成摘要。该适配器初始化自精度恢复适配器,详见第 5.2 节。数据集涵盖电子邮件、信息和通知的输入数据,来源于公共数据集、经过匿名化的供应商数据以及内部生成的示例。所有使用的数据都已批准可用于生产,而供应商数据和内部生成的数据则经过匿名化处理以去除用户信息。基于这些数据,利用 AFM-server,我们根据产品规范生成了合成摘要,这些数据和摘要均用于训练模型。

合成摘要:在生成合成摘要时,我们使用 AFM-server 并应用了一系列过滤器。首先是基于规则的过滤器,涵盖长度限制、格式要求、视角和语气等要素。接着是基于模型的过滤器,处理诸如语义蕴含等更复杂的问题。合成数据流水线高效地生成大量训练数据,且仅通过严格筛选保留高质量的示例,以供微调使用。

提示注入:在处理提示注入问题时,我们发现 AFM-on-device 倾向于执行输入内容中的指令或直接回答问题,而非进行摘要。为了解决这一问题,通过启发式方法识别出大量此类示例,并使用 AFM-server,并利用不具备此类行为的 AFM-server 生成摘要,并将这些合成数据集添加到微调数据集中。

06. 评估

我们对 AFM 模型进行了评估,分别在预训练(第 6.1 节)、后训练(第 6.2 节)以及最重要的特定功能(第 6.3 节)基准测试中进行。

6.1 预训练评估

在本节中,我们介绍了一些常见的少样本预训练评估指标。虽然这些基准测试在追踪预训练进展方面具有重要作用,但我们发现,与最终用户的整体体验相比,后训练模型(详见第 6.2 节)和功能适配器(详见第 6.3 节)的人工评估结果更具相关性。

我们使用常见的开源评估工具和基准来评估 AFM 预训练模型。表 2 列出了 AFM-on-device 和 AFM-server 在 HELM MMLU v1.5.0 [Liang et al.,2023] 上的表现,该测试涉及 57 个主题的 5-shot 多项选择题。此外,表 3 和表 4 分别展示了 AFM-server 在HuggingFace OpenLLM 排行榜 V1 [Huggingface,2024] 的一个子集和 HELM-Lite v1.5.0 基准测试套件 [Stanford,2024] 上的表现。这些基准测试结果表明,AFM 预训练模型在语言和推理能力方面具有显著优势,为后续的训练和功能微调奠定了坚实的基础。

表2:HELM MMLU-5s [Liang 等人,2023] v1.5.0 评估结果。
表 3:HuggingFace OpenLLM [Liang 等人,2023] 排行榜 V1 的一个子集的评估结果。

6.2 后训练评估

我们使用综合基准测试对后训练模型进行了评估,将 AFM 模型与多种开源模型以及 GPT-3.5 和 GPT-4.1 进行比较。本节所报告的所有结果均是在 bfloat16 精度下,使用 AFM-on-device 和 AFM-server 基础模型且未使用任何适配器的情况下获得的。在本节中,我们首先展示了人工对 AFM 模型整体能力的评估结果,然后展示其在若干特定能力和领域的表现。

表4:HELM-Lite v1.5.0 [斯坦福,2024] 预训练评估结果。请注意,许多基准测试(例如 MMLU)与常用的设置有显著差异。

6.2.1 人工评估

人工评估模拟了实际使用场景和用户反馈,被广泛视为语言模型评估的黄金标准。为此,我们在模型开发和最终评估阶段进行了广泛的人工评估。我们设计了一系列评估题目,以测试模型在不同方面的表现,包括一般能力和安全性。对于每个提示,我们将两个模型的回答匿名呈现给评分员进行对比。评分员依据详细的评分指南进行评分,该指南包括评分原则和示例,以确保一致性和评估质量。每对模型响应由多名评分员评分,并汇总其评分以得出最终结果。总体而言,我们发现人工评估与用户体验更为一致,并优于使用 LLM 作为评分员的一些学术基准所提供的评估信号。本节展示了对通用能力的人工评估结果,关于安全性的评估结果将在第 7.6 节中详细介绍。

我们收集了 1,393 个多样化的评估题目,以全面测试模型的通用能力。这些题目涵盖了多个难度级别的主要类别,如分析推理、头脑风暴、聊天机器人、分类、问答(封闭式和开放式)、编码、信息提取、数学推理、重写、安全性、总结和写作。为防止过拟合,我们在准备训练数据时进行了严格的数据去重,以确保评估题目未被训练数据污染。

在我们的研究中,我们通过图 3 展示了 AFM 模型与多种开源模型(如 Phi-3、Gemma-1.1、Llama-3、Mistral、DBRX-Instruct)以及商业模型(如 GPT-3.5 和 GPT-4)的性能比较。人工评估者在对比中更倾向于选择 AFM 模型。值得注意的是,虽然 AFM-on-device 的模型尺寸减少了 25%,但其对 Phi-3-mini 的胜率达到了 47.7%,并且比参数量多出两倍的开源强基线 Gemma-7B 和 Mistral-7B 表现更出色。与闭源模型相比,AFM-server 展现了强大的竞争力,其对比 GPT-3.5 的胜率超过 50%,平局率为 27.4%。

图 3 展示了 AFM-on-device 和 AFM-server 与其他可比模型的对比评估结果。我们观察到,人工评分员在评估过程中更倾向于选择我们的模型,而非竞争对手的模型。

6.2.2 指令遵循

指令遵循(IF)是我们希望语言模型具备的核心能力,因为现实世界中的提示通常包含复杂的指令。在我们的RLHF数据收集和人工评估中,我们特别强调了指令遵循的重要性。在本小节中,我们通过自动化评估标准来评估模型的指令遵循能力。

指令遵循(IF)是语言模型必须具备的核心能力之一,因为在现实世界中,用户的提示通常包含复杂且多样化的指令。在我们的RLHF数据收集和人工评估过程中,我们特别强调了指令遵循的重要性。在本小节中,我们通过一套自动化评估标准,对模型的指令遵循能力进行系统性评估。在图 4 中,我们使用 IFEval 公共基准测试 [Zhou et al.,2023] 对 AFM-on-device 和 AFM-server 进行了评估。

该基准测试旨在评估语言模型生成严格遵循提示中指令的响应的能力,这些指令通常包括对响应长度、格式和内容的具体要求。结果显示,AFM-on-device 和 AFM-server 在指令级和提示级的准确性上均表现出色。此外,我们还使用 AlpacaEval 2.0 LC 基准测试(Dubois 等,2024)对 AFM 模型进行了进一步评估,以全面衡量其指令遵循能力。评估结果表明,AFM 模型在这一领域展现了强大的竞争力。

图 4:展示了 AFM 模型与其他对比模型在指令遵循能力上的表现,使用 IFEval 进行评估,数值越高表示性能越好。对于 Mistral 7B、Llama3 8B、Llama3 70B、DBRX-Instruct 和 Mixtral 8x22B,这些模型的 AlpacaEval 2.0 LC 结果来自于 AlpacaEval 排行榜(Taori 等,2023)。而对比模型的 Arena Hard 结果则引用自 ArenaHard-Auto 排行榜(Li等,2024b)。其他结果均为我们自行评估所得。

6.2.3 工具使用

在工具使用的应用场景中,当给定用户请求和潜在工具列表时,模型可以通过提供结构化输出来选择调用工具,指定工具的名称和参数值。我们希望这些工具描述能够遵循OpenAPI规范。

我们利用函数调用的原生支持,通过AST评估标准在公共Berkeley Function Calling排行榜基准测试[Patil et al.,2023]上进行评估。

如图 5 所示,AFM-server 在整体准确性方面表现突出,超越了 Gemini-1.5-Pro-Preview-0514 和 GPT-4。

图 5 展示了在 Berkeley Function Calling 排行榜基准测试中,针对函数调用 API 的评估结果以及相应的样本比较。这些数据来源于 Gorilla 排行榜(Patil 等,2023)。

6.2.4 写作

写作是大型语言模型最重要的能力之一,因为它能够支持多种下游应用,如语气转换、重写和摘要。然而,评估写作质量并不是一件简单的事情,这一点在现有的公共基准测试中尚未得到充分体现。

在我们的内部摘要和创作基准测试中,我们评估了 AFM 的写作能力,这些测试包含了多种写作指令。我们借鉴了 Zheng 等人(2024)提出的“LLM-as-a-judge”方法,为每个摘要和创作任务设计了评分指令,并使用 GPT-4 Turbo 对模型的响应进行 1 到 10 的评分。需要注意的是,使用大型语言模型作为评分者存在一些限制和偏见,例如可能出现的长度偏差。

我们将 AFM 与一些顶尖模型以及小规模开源模型进行了比较。如图 6 所示,AFM-on-device在与 Gemma-7B 和 Mistral-7B 的对比中表现良好,甚至更为出色。AFM-server 显著优于 DBRX-Instruct 和 GPT3.5,并且其表现与 GPT4 相当。

图 6 展示了 AFM-on-device 和 AFM-server 在内部摘要和创作基准测试中的写作能力表现(数值越高越好),同时也展示了与其他模型的样本比较。我们发现,AFM 模型的表现优于或至少与其他相关模型相当。

6.2.5 数学

在图 7 中,我们比较了经过后训练的 AFM 在数学基准测试上的表现,包括 GSM8K [Cobbe et al.,2021] 和 MATH [Hendrycks et al.,2021]。对于 GSM8K,我们采用了 8 次提示的思维链(CoT)方法[Wei et al.,2022],而对于 MATH,我们使用了 4 次提示的 CoT 方法[Lewkowycz et al.,2022]。所有评估均通过内部自动化评估管道完成。我们观察到,AFM-on-device 即便其规模不到 Mistral-7B 和 Gemma-7B 的一半,仍然表现出显著优于它们的性能。

图 7 展示了 AFM-on-device 和 AFM-server 在数学基准测试中的表现,以及相关的样本比较。在 GSM8K 测试中使用了 8 次提示,而在 MATH 测试中使用了 4 次提示。所有结果均通过内部自动化评估管道收集。

6.3 摘要功能评估

我们的产品团队制定了一套专门的指南、指标和评分标准,用于总结电子邮件、消息和通知。这些标准帮助我们在各种开源、许可和专有数据集上评估总结的质量。

数据集:我们针对每种使用情况精心采样了一系列丰富的输入数据,这些评估数据集涵盖了产品在实际应用中可能遇到的多样化输入,包括不同内容类型和长度的单个及组合文档。我们开发了一个管道,用于构建这些模拟真实用户输入的评估数据集。

评分员:我们聘请了一批经过严格培训的全职 Apple 员工,他们具备专业的写作和理解能力,用于评估总结质量。每位评分员都需通过一系列资格认证和培训步骤,包括拥有与写作相关领域的学士学位、完成定制培训课程,并在内部评分质量基准中保持高水平的表现。

评分指南:在评估过程中,评分员将获得总结规范、原始输入内容和输出总结。他们根据以下质量子维度,使用三分制(“好”、“一般”或“差”)对总结进行评估:

  • 构成:评估摘要的整体可读性,考虑语法、标点、拼写和简洁性。
  • 全面性:评估摘要在捕捉要点或提醒用户采取任何行动/结论方面的全面性。
  • 切性:评估摘要与原始有效载荷的关联程度。不完全真实的总结可能包含夸大、推测、不准确或虚构的细节。
  • 遵循指令:评估摘要是否满足特定样式和格式要求。要求针对每个功能量身定制,反映具体的产品和设计期望。
  • 有害性:评估摘要是否包含根据 Apple 的安全分类标准被认为有害或不安全的内容。

根据预先定义的产品规范,如果任何子维度被评为“差”,则总结被整体评为“差”。只有当所有子维度都被评为“好”时,摘要才被评为“好”。这些分类用于计算“好/差结果比率”指标,该指标表示“好”或“差”总结在所有摘要中所占的百分比。

结果:我们邀请人工评分员对 AFM 设备适配器、Phi-3-mini、Llama-3-8B 和 Gemma-7B 的总结质量进行评估。图 8 显示,AFM设备适配器在整体表现上优于其他模型。

07. 负责任的 AI

7.1 概述

Apple Intelligence 的开发始终遵循负责任的原则,旨在增强用户能力,真实反映他们的需求,并保护他们的隐私。在我们的负责任 AI 策略中,首要任务是提供智能且明确的工具,以满足用户的特定需求。通过明确功能的预期用途,我们能够更有效地识别潜在的安全漏洞。

我们制定了一套安全分类标准,以确保在设计和评估生成式 AI 功能时保持全面性和一致性。该标准基于 Apple 在人工智能和机器学习领域的丰富经验,旨在为全球用户提供实用功能。随着功能的开发和测试,该标准会定期更新。目前,该分类包括 12 个主要类别和 51 个子类别,例如“仇恨言论、刻板印象和侮辱”、“歧视、边缘化和排斥”、“非法活动”、“成人内容”和“暴力画面”。

该分类标准为每个具体功能可能出现的问题和风险提供了系统化的考量方法。当我们识别出新的或额外风险时,会根据具体功能的需求、生成的内容以及相应的缓解措施来开发和修订相关政策。这些政策是在广泛的内部和外部意见支持下制定的,参与者包括学者、AI 伦理学家、信任与安全专家及法律专家。这种多方参与有助于更好地识别和理解相关风险、评估其潜在严重性以及其对特定群体的不同影响。这些政策指导我们在数据收集、人工标注、模型训练、防护措施开发、评估和红队测试等环节的工作。

图 8 显示了三个总结用例中“好”与“差”响应在所有响应中的比例。总结基于五个维度进行评定,可能的结果为“好”、“中性”或“差”。如果所有维度均为“好”,则整体评价为“好”(分数越高越好);如果任何一个维度为“差”,则整体评价为“差”(分数越低越好)。总体来看,我们的 AFM 设备适配器生成的总结优于其他可比模型。

需要特别注意的是,分类标准并不是我们政策的唯一决定因素。例如,某些内容虽然符合安全分类标准,但并不总是会被阻止,因为这可能与 Apple 负责任 AI 开发的其他原则相冲突,例如“尊重用户如何选择使用这些工具来实现他们的目标”。因此,为了更好地满足用户的意图,某些功能在操作和生成内容类型上可能会较为宽松。相反,对于可能生成超出用户指定意图内容的功能,我们可能会施加更严格的限制。无论如何,我们始终努力确保某些类别的伤害(如与自我伤害相关的内容)得到特别关注,而其他类别(如非法内容)则始终被阻止。

此外,我们的负责任 AI 原则贯穿于 Apple Foundation Models 和 Apple Intelligence 的各个阶段,并融入到安全分类标准中。这帮助我们逐个功能地评估风险并制定相应政策。在特定适配器的微调过程中,我们引入了安全导向的数据,并根据具体使用案例进行定制。在推理阶段,我们采用护栏模型 [Inan et al.,2023] 作为预处理和后处理步骤,以评估输入和输出的潜在危害。最后,我们通过持续的用户反馈机制,主动改进我们的 AI 工具。

7.2 预训练

在预训练阶段,我们采取了多项措施以确保上述原则的贯彻执行。首先,我们严格遵循数据政策,确保训练数据中不包含任何 Apple 用户的信息,并对语料库中的每个部分进行详细的法律审核。此外,我们实施了安全过滤,以减少可能存在的有害内容,例如不当言论、污秽语言、垃圾信息,以及个人身份信息或财务数据。由于预训练是多个下游任务的共同基础,我们的安全措施旨在保留模型的整体能力,以便在不削弱下游模型有效性的前提下,灵活调整每个任务的分类和策略。我们参考了先前研究的经验,避免在预训练阶段过度过滤内容,这样可以在安全性和一致性方面带来潜在优势 [Touvron et al.,2023]。预训练模型应具备识别和处理下游任务和策略所需内容的能力——在某些情况下需谨慎对待,而在其他情况下则可直接处理该类内容。

7.3 后训练

在后训练阶段,我们的目标是确保模型在基础层面上符合负责任的人工智能原则,从而避免每个基于基础模型的下游模型都需要进行复杂的后续训练(如 RLHF)。在这个过程中,我们主要关注两个方面:

  1. 我们需要确保模型的输出对用户有帮助,同时尽量减少潜在的伤害。
  2. 我们必须根据每个功能的具体情况调整我们的安全分类和政策,以提供最佳的用户体验。

为了平衡模型的实用性和安全性,我们将安全性对齐作为后训练的核心任务之一,并与其他任务同步评估和迭代,而不是将其视为一个独立的训练阶段。具体而言,我们与可信的供应商合作,将经过精心挑选的对抗性数据整合到我们的 SFT 和 RLHF 训练语料库中,这些数据严格符合我们的政策和价值观。此外,在模型开发过程中,我们通过自动和人工评估引入了安全任务和基准。

在整体训练数据中,涉及对抗性、安全及敏感话题的数据比例超过 10%。这些数据包括单回合和多回合的安全类别标注、成对和整体偏好评级,以及注释者的重写。这些数据被直接使用,或作为生成合成数据的基础。具体细节请参见第 4.1.2 节。

除了基准对齐,我们还进行了额外的工作,以确保每个功能的安全性。为此,我们收集了安全相关的训练数据,并在微调适配器时加以利用。例如,在微调用于生成摘要的适配器时,我们特别关注提高其应对潜在恶意内容的能力,同时减少摘要无意中放大有害或敏感内容的风险。

7.4 防止恶意代码

在代码生成过程中,我们需要特别谨慎。我们的代码基准测试通过实际执行生成的代码,以验证其语法和语义的正确性。因此,在训练代码模型时,我们默认所有生成的代码都是不安全的,并需要小心处理。所有代码都在一个完全隔离的环境中执行,禁止访问互联网或任何内部和外部服务。具体而言,这种隔离环境由 FireCracker [Agache et al.,2020] 管理,并在集群层面使用 FireCracker jailer 进行控制,以确保安全性。

7.5 红队

红队测试的目的是诱导模型生成违反安全政策的响应或产生未被政策覆盖的有害内容。这些测试结果不仅为政策的制定提供了参考依据,还为安全评估数据集的内容和重点提供了指导。这些结果进而影响设计、工程和发布准备阶段的决策。

红队测试本质上是一种创造性的活动,要求红队成员结合多种攻击手段来测试已知的模型漏洞,并尝试发现新的漏洞。在与语言模型的交互中,常用的攻击手段包括越狱和提示注入。此外,红队还利用劝说技术 [Zeng et al.,2024],以及可能导致模型误判的语言特征,如俚语、代码转换、表情符号和拼写错误等。

我们通过手动和自动红队测试 [Ganguli et al.,2022] 来揭示对齐模型中可能存在的未知故障模式。最新研究 [Touvron et al.,2023] 表明,自动化过程可能生成比人工更具多样性的提示,这种多样性曾被认为是数据收集的“黄金标准”。这些自动化过程可以利用语言模型本身来识别其中的差距,有些差距可能是非直观的甚至是意想不到的。这些示例可直接用于合成训练或评估数据,并为未来的数据收集工作提供指导。

人类红队测试任务的基本框架如下:红队成员会被分配一个安全分类类别和相应的攻击手段。他们使用指定的攻击手段生成输入,旨在触发与该类别相关的响应。如果响应不符合预期,红队成员可以在有限次数内与系统进行对话,然后对模型的输出进行最终的有害性评级,并列出涉及的分类类别(如果存在)。为了确保注释的质量,红队成员还需要为其评级提供一个总体的置信度分数。除了在基础模型层面进行红队测试外,我们还对特定功能进行测试。在功能层面,红队测试项目遵循特定的指导方针,这些方针的攻击手段是根据功能的安全政策和工程需求制定的。这些项目能够深入识别已知风险,并对未知漏洞进行对抗性测试。我们的红队测试项目由内部团队和外部团队协作完成。考虑到红队测试的敏感性,为了确保数据收集的负责性,我们采取了以下措施:首先,红队测试完全基于自愿原则;其次,每位红队成员的每周任务时间受到严格限制,以保障他们的健康和工作效率。此外,我们提供全天候的健康支持和福利服务;最后,通过每周的办公时间以及 Slack 频道,我们与内部红队成员保持开放的沟通渠道,以便他们能够及时反映任何出现的问题。

7.6 评估

正如前文所述,安全性是基础模型开发过程中需要不断优化的关键维度之一。因此,在模型训练完成后,我们必须对其进行严格的自动化评估和人工评估。

安全性评估集:为了减少人工评估中的噪声、降低成本并缩短周期,我们需要确保安全性评估集的精确性、挑战性和全面性。为此,我们排除了那些在不同版本的模型中始终产生低危害性反应的“简单”提示,并采用基于嵌入的分析方法来扩大评估提示集的覆盖范围。总体而言,我们精心挑选了超过一千个对抗性提示,以根据我们的安全策略测试 AFM 在有害内容、敏感话题和事实性方面的表现。

安全性评估结果:图 9 展示了人工评分员在安全评估集上对不同模型违规率的评估结果,其中数值越低表示模型表现越好。在面对对抗性提示时,AFM-on-device 和 AFM-server 表现出强大的鲁棒性,其违规率显著低于其他开源和商业模型。此外,图 10 对比展示了人工评分员对我们安全评估提示的偏好。评估结果显示,人工评分员更倾向于选择 AFM 模型的响应,认为这些响应比竞争对手的模型更安全且更有帮助。

图 9 展示了在处理有害内容、敏感话题和事实性方面的违规响应比例,数值越低表示模型表现越好。在面对对抗性提示时,我们的模型显示出较强的鲁棒性。
图 10 展示了在针对安全提示的并排评估中,Apple 基础模型与其他可比模型相比,优选响应的比例更高。人工评分员认为,Apple 基础模型的响应在安全性和实用性上更具优势。

08. 结论

在本报告中,我们介绍了用于支持 Apple 智能功能的基础语言模型:AFM-on-device 和 AFM-server。这些模型专为在 iPhone、iPad 和 Mac 上快速高效地运行而设计,同时也可以通过私有云计算在 Apple 硅服务器上运行。经过精心训练,它们能够在语言理解、指令执行、推理、写作及工具使用等任务中表现优异。我们开发了一种创新的模型架构,使这些模型能够专注于用户最常见的任务。在基础模型之上,我们对特定功能的适配器进行了精细调校,以确保用户体验的高质量,例如提供电子邮件、消息和通知的摘要功能。我们的模型旨在帮助用户在 Apple 产品上完成日常事务,并始终坚持 Apple 的核心价值观。同时,在每个开发阶段,我们都遵循负责任的人工智能原则。这些基础模型是 Apple 智能的核心组成部分,构建了一个个人智能系统,旨在不断赋能用户并丰富他们的生活。

以上内容翻译自《Apple Intelligence Foundation Language Models》,如需原文,请与我们联系。 

WF Research 是以第一性原理为基础的专业顾问服务机构,欢迎关注和留言! 

微信号:Alexqjl

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注