当前位置:首页|资讯

极客说|微软新模型:Phi-4 来了

作者:微软中国MSDN发布时间:2024-12-26

Phi-4 在仅有 140 亿(14B) 个参数的情况下,通过创新的训练方法和高质量的数据,展现出了媲美甚至超越一些更大规模模型的性能。本文将详细介绍 Phi-4 的架构、特点、训练方法,以及在实际应用和评测基准中的表现。

后续 Phi-4 的测试会放到这个 repo 的 LLM 目录下:

https://github.com/xinyuwei-david/david-share.git

看指标测能力

下面测三道题,对比 o1 和 Phi-4。

第一题

Phi-4

o1

第二题

Phi-4

o1

第三题

Phi-4

o1

要求五个连续偶数的平均数,已知它们的和为90,下面我们逐步解答。 //MSDN_WeChat_KeyPart2 = "Love”

步骤1:设未知数

设这五个连续的偶数为:

第一个偶数:( n - 4 )

第二个偶数:( n - 2 )

第三个偶数:( n )

第四个偶数:( n + 2 )

第五个偶数:( n + 4 )

(因为偶数之间相差2,所以相邻的偶数可以这样表示)

步骤2:列方程求和

根据题目,五个数的和为90:

[

(n - 4) + (n - 2) + n + (n + 2) + (n + 4) = 90

]

步骤3:简化方程

合并同类项:

[

5n = 90

]

步骤4:求解 n

[

n = \frac{90}{5} = 18

]

步骤5:求出五个偶数

第一个偶数:( 18 - 4 = 14 )

第二个偶数:( 18 - 2 = 16 )

第三个偶数:( 18 )

第四个偶数:( 18 + 2 = 20 )

第五个偶数:( 18 + 4 = 22 )

步骤6:计算平均数

平均数等于总和除以数量:

[

\text{平均数} = \frac{14 + 16 + 18 + 20 + 22}{5} = \frac{90}{5} = 18

]

答案:这五个连续的偶数的平均数是 18。

这样看的话,Phi-4 的推理能力还是可以的。

Phi-4 模型架构

基于 Transformer 的解码器架构

Phi-4 采用了基于 Transformer 的解码器(Decoder-only) 架构,与 GPT 系列模型类似。这种架构利用自注意力机制(Self-Attention Mechanism),能够有效捕捉文本序列中的长期依赖关系,擅长处理自然语言生成任务。

参数规模与层数

  • 参数总量:140 亿(14B) 个参数。

  • 模型层数:40层

上下文长度

  • 初始上下文长度:4,096 个 Token。

  • 中期训练扩展:在中期训练阶段,Phi-4 的上下文长度扩展到了 16,000 个 Token(16K),提高了模型处理长文本的能力。

词汇表与分词器

  • 分词器:采用了 OpenAI 的 tiktoken 分词器,支持多语言,并具有更好的分词效果。

  • 词汇表大小:100,352,包括了一些预留的未使用 Token。

注意力机制与位置编码

全局注意力机制

Phi-4 使用了 全注意力机制(Full Attention),即对整个上下文序列进行自注意力计算。这与前代模型不同,Phi-3-medium 采用了 2,048 Token 的滑动窗口,而 Phi-4 则直接对 4,096 Token(初始)和 16,000 Token(扩展后)的上下文进行全局注意力计算,提高了模型对长距离依赖的捕捉能力。

旋转位置编码(RoPE)

为了支持更长的上下文长度,Phi-4 在中期训练中调整了 旋转位置编码(Rotary Position Embeddings, RoPE) 的基频:

  • 基频调整:将 RoPE 的基频增加到 250,000,以适应 16K 的上下文长度。

  • 作用:RoPE 有助于模型在长序列中保持位置编码的有效性,使得模型能够在更长的文本中保持良好的性能。

训练策略与方法

数据质量优先的理念

Phi-4 的训练策略以 数据质量为核心。与其他主要使用互联网有机数据(如网页内容、代码等)进行预训练的模型不同,Phi-4 在整个训练过程中战略性地引入了 合成数据

合成数据的生成与应用

合成数据在 Phi-4 的预训练和中期训练中扮演了关键角色:

  • 多种数据生成技术

    • 多代理提示(Multi-Agent Prompting):利用多个语言模型或代理共同生成数据,丰富了数据的多样性。

    • 自我修正流程(Self-Revision Workflows):模型生成初始输出后,进行自我评估和修正,迭代提升输出质量。

    • 指令反转(Instruction Reversal):从已有的输出生成对应的输入指令,增强模型的指令理解和生成能力。

  • 合成数据的优势

    • 结构化和渐进式学习:合成数据可以精确控制难度和内容,逐步引导模型学习复杂的推理和问题解决能力。

    • 提高训练效率:合成数据的生成可以针对模型的薄弱环节,提供针对性的训练数据。

    • 避免数据污染:由于合成数据是生成的,避免了训练数据中包含评测集内容的风险。

有机数据的精细筛选和过滤

除了合成数据,Phi-4 还注重从多种来源精心挑选和过滤高质量的 有机数据

  • 数据来源:包括 Web 内容、书籍、代码库、学术论文等。

  • 数据过滤

    • 去除低质量内容:使用自动化和手动方法,过滤掉无意义、错误、重复或有害的内容。

    • 防止数据污染:采用混合 n-gram 算法(13-gram 和 7-gram)进行去重和去污染,确保训练数据不包含评测集的内容。

数据混合策略

Phi-4 在训练数据的组成上进行了优化,具体配比如下:

  • 合成数据:占 40%。

  • 网络改写数据(Web Rewrites):占 15%,对高质量的 Web 内容进行改写,生成新的训练样本。

  • 有机 Web 数据:占 15%,精选过的有价值的 Web 内容。

  • 代码数据:占 20%,包括公开代码库和生成的代码合成数据。

  • 目标获取数据(Targeted Acquisitions):占 10%,包括学术论文、专业书籍等高价值内容。

多阶段训练流程

预训练阶段

  • 目标:建立模型的基础语言理解和生成能力。

  • 数据量:约 10 万亿(10T) 个 Token。

中期训练阶段

  • 目标:扩展上下文长度,提升长文本处理能力。

  • 数据量:2,500 亿(250B) 个 Token。

后训练阶段(微调)

  • 监督微调(SFT):使用高质量的多领域数据进行微调,改进模型的指令遵循能力和回答质量。

  • 直接偏好优化(DPO):利用 关键 Token 搜索(Pivotal Token Search, PTS) 等方法,进一步优化模型的输出。

创新的训练技术

关键 Token 搜索(Pivotal Token Search, PTS)

PTS 方法是 Phi-4 训练过程中的一大创新:

  • 优势

    • 提高训练效率:将优化重点放在对结果影响最大的部分,事半功倍。

    • 改善模型性能:有助于模型在关键决策点上做出正确选择,提高整体输出质量。

改进的直接偏好优化(DPO)

  • DPO 方法:直接使用偏好数据进行优化,使模型的输出更符合人类的偏好。

  • 创新点

    • 结合 PTS:在 DPO 中引入 PTS 生成的训练数据对,提高优化效果。

    • 评估指标:通过对模型在关键 Token 上的表现进行评估,更精确地衡量优化效果。

模型特点与优势

卓越的性能

  • 小模型,大能力:虽然参数规模仅为 14B,但 Phi-4 在多个评测基准上表现出色,尤其是在推理和问题解决任务上。

优异的推理能力

  • 数学和科学问题解决:在 GPQA、MATH 等基准测试中,Phi-4 的得分甚至超过了其教师模型 GPT-4o。

长上下文处理能力

  • 上下文长度扩展:通过在中期训练中将上下文长度扩展到 16,000 个 Token,Phi-4 能够更有效地处理长文本和长距离依赖。

多语言支持

  • 覆盖多种语言:训练数据包括了 德语、西班牙语、法语、葡萄牙语、意大利语、印地语、日语 等多种语言。

  • 跨语言能力:在翻译、跨语言问答等任务上表现出色。

安全性和合规性

  • 负责任的 AI 原则:开发过程中严格遵循微软的负责任 AI 原则,注重模型的安全性和道德性。

  • 数据去污染和隐私保:采用严格的数据去重和过滤策略,防止训练数据中包含敏感内容。

评测基准与性能表现

外部评测基准

Phi-4 在多个公开的评测基准上展现了领先的性能:

  • MMLU(多任务语言理解):在复杂的多任务理解测试中取得了优异的成绩。

  • GPQA(研究生水平的 STEM 问答):在高难度的 STEM 问答中表现突出,得分超过了一些更大规模的模型。

  • MATH(数学竞赛):在数学问题解决方面,Phi-4 展现了强大的推理和计算能力。

  • HumanEval / HumanEval+(代码生成):在代码生成和理解任务中,Phi-4 的得分超越了同规模的模型,甚至接近更大规模的模型。

内部评测套件(PhiBench)

为了深入了解模型的能力和不足,团队开发了专门的内部评测套件 PhiBench

  • 指导模型优化:通过对 PhiBench 的成绩分析,团队能够有针对性地改进模型。

安全性与责任

严格的安全对齐策略

Phi-4 的开发遵循微软的 负责任 AI 原则,在训练和微调过程中注重模型的安全性和道德性:

  • 防范有害内容:通过在后训练阶段加入安全微调数据,减少模型生成不当内容的概率。

  • 红队测试和自动评估:进行了广泛的红队测试和自动化的安全评估,覆盖数十种潜在的风险类别。

数据去污染和防止过拟合

  • 强化的数据去污染策略:使用混合的 13-gram 和 7-gram 算法,去除训练数据中可能与评测基准重叠的内容,防止模型过拟合。

训练资源与时间

训练时间

虽然官方报告未明确指出 Phi-4 的总训练时间,但考虑到:

  • 模型规模:14B 参数。

  • 训练数据量:预训练阶段 10T Token,中期训练 250B Token。

可以推测,整个训练过程耗费了相当长的时间。

GPU 资源消耗

GPUs

1920 H100-80G

Training time

21 days

Training data

9.8T tokens

应用与局限性

应用场景

  • 问答系统:Phi-4 在复杂的问答任务中表现出色,适用于各类智能问答应用。

  • 代码生成与理解:在编程任务中有优异表现,可用于代码辅导、自动生成和调试等场景。

  • 多语言翻译与处理:支持多种语言,适用于全球化的语言服务。

潜在局限性

  • 知识截止性:模型的知识截止于训练数据,对于训练后发生的事件可能不了解。

  • 长序列挑战:虽然上下文长度扩展到了 16K,但在处理更长的序列时,可能仍然存在挑战。

  • 风险控制:尽管采取了严格的安全措施,但模型可能仍会受到对抗性攻击或意外生成不当内容。

Phi-4 的成功展示了数据质量和训练策略在大型语言模型发展中的重要性。通过创新的合成数据生成方法、精心的训练数据混合策略以及先进的训练技术,Phi-4 在保持较小参数规模的情况下,实现了卓越的性能:

  • 推理能力突出:在数学、科学和编程等领域表现优异。

  • 长文本处理:扩展的上下文长度,使模型在长文本处理任务中具有优势。

  • 安全和责任:严格遵循负责任 AI 原则,确保模型的安全性和道德性。

Phi-4 为小参数量模型的发展树立了新的标杆,证明了通过专注于数据质量和训练策略,即使在较小的参数规模下,也能实现卓越的性能。

参考论文:

/https://www.microsoft.com/en-us/research/uploads/prod/2024/12/P4TechReport.pdf

魏新宇

微软 AI 全球黑带高级技术专家

著有《大语言模型原理、训练及应用》《金融级 IT 架构与运维》《OpenShift 在企业中的实践》v1&v2、《云原生应用构建》。


Copyright © 2024 aigcdaily.cn  北京智识时代科技有限公司  版权所有  京ICP备2023006237号-1