在2024年全球开发者大会上,Apple公司发布了Apple Intelligence,这是一套集成于iOS 18、iPadOS 18和macOS Sequoia中的个人智能系统。Apple Intelligence利用了多个高性能的生成模型,这些模型被设计用于日常任务,能快速高效地响应用户需求,同时注重保护用户隐私和践行负责任的AI原则。本文将介绍Apple智能基础语言模型(AFM)的架构、训练过程、优化方法以及评估结果。
一、引言
Apple智能基础语言模型(AFM)包括两个主要模型:一个是约30亿参数的AFM-on-device,设计用于在设备上高效运行;另一个是基于服务器的更大规模的AFM-server,专为私有云计算而设计。这些模型经过精细调优,用于支持用户日常活动,如文本写作和改进、通知优先级和摘要生成、创建聊天图片以及简化应用内操作。
二、模型架构
AFM基础模型采用了基于Transformer架构的密集解码模型,包含以下设计选择:
- 共享输入/输出嵌入矩阵以减少参数的内存使用。
- 使用RMSNorm进行预归一化以稳定训练。
- 查询/键归一化以提高训练稳定性。
- 采用8个键值头的分组查询注意力(GQA)以减少KV缓存内存占用。
- 使用SwiGLU激活函数以提高效率。
- 采用基频为500k的RoPE位置嵌入以支持长上下文。
AFM-on-device模型的详细参数如下:
模型维度 | 3072 |
---|---|
查询头数量 | 24 |
键值头数量 | 8 |
层数 | 26 |
非嵌入参数数量(B) | 2.58 |
嵌入参数数量(B) | 0.15 |
三、预训练
AFM的预训练过程对于开发高性能语言模型至关重要,重点在于数据质量和效率。预训练数据集包括从出版商许可的数据、经过策划的公开数据集和Applebot爬取的公开信息。我们不使用Apple用户的私人数据,并对数据进行了严格的去污处理。
数据来源
- 网页:使用Applebot爬取的公开信息,并应用过滤算法去除不安全内容和个人身份信息。
- 许可数据集:从出版商处获得的高质量数据,主要用于继续和上下文扩展阶段的预训练。
- 代码数据:来自GitHub的开源库,涵盖14种常见编程语言。
- 数学数据:包括来自20个数学内容丰富网站的Q&A数据和数学论坛、博客、教程等网页数据。
- 公共数据集:经过筛选的高质量公开数据集,用于模型训练。
- 分词器:采用BPE分词器,词汇量为10万(AFM-server)和4.9万(AFM-on-device)。
预训练阶段
- 核心预训练:AFM-server从零开始训练,AFM-on-device则通过蒸馏和剪枝从更大模型中获得初始化。
- 继续预训练:在更长的序列长度下进行,以提高模型的长上下文理解能力。
- 上下文扩展:进一步的预训练阶段,使用合成长上下文数据。
四、训练基础设施
AFM模型在v4和v5p Cloud TPU集群上进行预训练,使用AXLearn框架。这种系统允许高效且可扩展地训练AFM模型,包括AFM-on-device、AFM-server及更大的模型。
五、后训练
为了提升模型的通用能力,我们进行了广泛的后训练研究,包括监督微调(SFT)和基于人类反馈的强化学习(RLHF)。我们提出了两种新的后训练算法:带有教师委员会的拒绝采样微调算法(iTeC)和基于镜像下降策略优化和留一法优势估计的RLHF算法(MDLOO),显著提高了模型质量。
数据策略
- 人工注释数据:包括高质量的人类注释示例和人类偏好反馈数据。
- 合成数据:生成数学、工具使用和编码等领域的高质量合成数据。
监督微调
通过多任务指令微调显著提升模型在各种任务上的表现。我们收集和训练模型的示例数据,并通过高质量的人工和合成数据形成混合数据集。
基于人类反馈的强化学习
我们使用收集的人类偏好数据训练奖励模型,并应用于iTeC和MDLOO算法,以提高模型的对话能力和指令遵循能力。
六、模型优化
为了在设备和私有云计算中高效部署AFM模型,我们应用了各种优化技术,以减少内存、延迟和功耗,同时保持整体模型质量。
量化技术
通过先进的量化方法和精度恢复适配器,我们实现了接近无损的量化,平均每权重低于4位。
适配器架构
使用LoRA适配器,对模型进行任务特定的微调。适配器可以动态加载并高效管理内存,从而保证操作系统的响应速度。
七、评估结果
我们对AFM模型进行了广泛的评估,包括预训练、后训练和特定功能的基准测试。
预训练评估
使用MMLU、GSM8K等公开评估基准,展示了AFM模型在语言和推理能力方面的强大性能。
人类评估
通过收集1393个多样化的提示进行人类评估,AFM模型在一般能力和安全性方面表现优异。
结论
Apple智能基础语言模型通过高效的架构设计和训练方法,在保持高性能的同时,注重用户隐私保护和AI责任原则。这些模型在多种任务中表现出色,为用户提供了强大的智能工具。