#Paper Reading# Apple Intelligence Foundation Language Models
论文题目: Apple Intelligence Foundation Language Models
论文地址: https://arxiv.org/pdf/2407.21075
论文发表于: arXiv 2024年7月
论文所属单位: Apple
论文大体内容
本文介绍了Apple AFM团队的2个基础大模型,分别可在服务端和客户端上运行。这两个大模型是Apple的基础模型,文中描述了从训练到评估模型的各个模块。
Motivation
这是Apple的基础大模型。
Contribution
①技术落地的完整性,本文详细描述了训练AFM的各个模块和步骤。
②提出了从基础模型扩展到具体任务的整体框架,用于Apple后续各个应用的落地。
③强调负责任的AI实践,包括整个流程的Principles,以及注重用户的隐私。
1. 本文主要介绍了Apple AFM组(Apple Foundation Model)的2个基础大模型,包括:
①AFM-on-device:3B参数的模型,运行于设备端;
②AFM-server:主LLM模型,用于对标GPT系列;
这两个基础模型主要提供2个应用场景:
①Coding model:在Xcode中提供给开发者使用;
②Diffusion model:在App中提供给用户使用,比如Messages App;
2. Apple对LLM开发时候遵守的Principles包括:
①用智能工具赋能用户
②代表我们的用户
③谨慎设计
④保护隐私
这几个Principles是公司文化的体现。
3. LLM整体架构采用了业界主流的Transformer架构,主要有以下几点选择:
①一个共享的输入/输出嵌入矩阵,节省内存;
②Pre-Normalization和RMSNorm;
③Q/K进行归一化,提升训练稳定性;
④GQA(Grouped-query attention),节省内存;
⑤SwiGLU激活函数[1];
⑥RoPE位置嵌入,支持更长的context;
4. LLM的整体尺寸信息如下,参数量计算公式是:N*(12*D*D+13*D),其中D=n*d。
-N是Transformer的层数
-n是MHA中head的数量
-d是MHA中每个头的dim
【Pre-training阶段】
5. 数据:
使用Applebot抓取的数据。本文指出数据的质量比数量更重要。
①网页数据:
-抽取正文
-使用启发式方法和模型进行安全性过滤来处理网页文本
-数据去重,使用n-gram哈希
-使用启发式方法和模型进行质量筛选
-对常用的基准数据集进行处理
②授权数据集:来自于出版商
③代码数据:来自于Github
④数学数据:网络爬取
⑤公开的高质量数据集
⑥分词器:BPE(byte-pair encoding)
6. 方法:
AFM Pre-training分为3个阶段:
①核心阶段:使用6.3T token训练,用了8192个TPUv4芯片,4096的序列长度
②延续阶段:弱化低质量数据集,强化高质量数据集,用了8192的序列长度
③context扩展阶段:提升context长度,用了32768的序列长度
优化器使用RMSProp。
其中AFM-on-device是AFM-server的蒸馏版本,使用了知识蒸馏和结构剪枝来降低模型大小。
【Post-Training阶段】
7. 数据:
包括人工标注数据和合成数据。本文指出数据的质量比数量更重要。
①人工标注数据
②合成数据:提升多样性
8. SFT(Supervised fine-tuning)
使用标注数据进行SFT。
9. RLHF
①iTeC(Iterative teaching committee)
该框架有效地结合了各种偏好优化算法,包括拒绝采样(RS)、直接偏好优化(DPO)以及在线强化学习(RL)。这使我们能够将RLHF的优势应用于各种规模的模型,同时提高它们的对齐性。
②MDLOO(Mirror Descent with Leave-One-Out estimation)
比PPO更有效。
10. 拒绝采样的理解[2]
①属于蒙特卡洛方法的一种,本质是通过一个提议分布(均匀分布或正态分布)q(x),来采样出目标分布p(x)。如果从q(x)中随机出来的 x <= p(x) 则采样,否则不采样。
②在LLM中使用拒绝采样的方式是让LLM生成多个答案,然后用 V3 判断哪个回答好,好的回答当作接下来的 SFT 数据,不断螺旋上升(DeepSeek R1[3])。
11. 基于基础模型扩展到具体任务:通过LoRA、量化进行微调,整体框架如下:
12. 效果评估
①Pre-Training阶段:主要使用了基准数据集MMLU(多选题Multi-subject multiple-choice)评估
②Post-Training阶段:主要使用了人工评估,能更接近于用户体验
-基准测试 HELM-Lite v1.5.0
-人工评估
-指令遵循
-工具使用
-写作
-数学:GSM8K、MATH
-摘要人工评估
13. Responsible AI(安全性)
①安全标准:该分类标准包含12个主要类别,下设51个子类别,其中包括“仇恨言论、刻板印象与诋毁性语言”、“歧视、边缘化与排斥”、“非法活动”、“成人色情内容”以及 “血腥暴力内容”。
②Pre-Training阶段:训练语料的的安全过滤、隐私信息过滤;
③Post-Training阶段:10%的数据用于对抗训练,与安全相关;
④防范恶意代码:将所有生成的代码视为不安全代码,代码只会在封闭的环境里执行
⑤Red Teaming:主动诱导、攻击的测试;
⑥安全性评估:本模型效果相比GPT等更优;
14. 这篇论文比较完整的展示了Apple LLM模型的各个环节,对大家了解LLM的工作有一些帮助,文章写的比较务实。整体来看是中规中矩,学术性的突破不多,更多是具体落地的工程实践。
参考资料
[1] 详解SwiGLU激活函数 https://zhuanlan.zhihu.com/p/31289994147
[2] 拒绝采样 https://blog.csdn.net/jteng/article/details/54344766
[3] DeepSeek R1 https://blog.csdn.net/John159151/article/details/147687702
以上均为个人见解,因本人水平有限,如发现有所错漏,敬请指出,谢谢!