作者:魏新宇 - 微软 AI 全球黑带高级技术专家

「极客说」 是一档专注 AI 时代开发者分享的专栏,我们邀请来自微软以及技术社区专家,带来最前沿的技术干货与实践经验。在这里,您将看到深度教程、最佳实践和创新解决方案。关注「极客说」,与行业顶尖专家一起探索科技的无限可能!

Phi-4 的模型参数量是14B,这使它在推理的时候比较耗费内存。因此如果我们想要在边缘端运行,需要对它进行量化。量化的手段很多,此前也介绍过,使用 Auto-Round GTPQ 格式的方法量化即可。

我们看一下量化到四位以后,推理时占用的显存以及效果。

针对量化版本,我写了一个 vLLM 推理的程序,推理速度很快,占用 11GB 显存,推理的结果也很准确。这样我们就可以在消费显卡上运行 Phi-4 了。

推理代码见 repo:https://github.com/xinyuwei-david/david-share.git 下的DeepLearning/Phi4

接下来,我将介绍 Phi-4 整体的架构。

近期,微软推出了最新的大型语言模型 Phi-4,它在保持相对较小参数规模的情况下,展示了令人瞩目的性能。Phi-4 通过创新的训练方法和高质量的数据,在多个自然语言处理任务中取得了优异的成绩。本文将详细介绍 Phi-4 的模型架构、训练策略、性能表现,以及如何在本地计算机上对其进行微调。

Phi-4 简介


Phi-4 是微软 Phi 系列模型的最新成员,参数量为 140亿。这一规模在大型语言模型中属于中等,但 Phi-4 通过精心设计的训练流程和数据,展现出了与更大参数量模型相媲美的性能。

模型架构与特点


基于 Transformer 的架构

Phi-4 采用了经典的 Transformer 解码器架构,共有 40 层网络结构。这种架构在自然语言处理任务中被证明是高效且有效的,能够捕捉文本序列中的长期依赖关系。

上下文长度的扩展

初始的 Phi-4 支持 4,096 个 Token 的上下文长度。在中期训练阶段,微软将上下文长度扩展到了 16,000 个 Token,使得模型能够处理更长的文本输入,适应更多样化的任务需求。

分词器与词汇表

Phi-4 使用了 OpenAI 的 tiktoken 分词器,词汇表大小为 100,352。这一选择兼顾了多语言支持和分词效果的优化。

注意力机制与位置编码

Phi-4 在模型中使用了全局注意力机制(Full Attention),对整个上下文序列进行自注意力计算。此外,模型采用了旋转位置编码(RoPE)并在中期训练中调整了基频,以适应更长的上下文长度。

创新的训练策略


合成数据的广泛应用

与传统模型主要依赖互联网抓取的数据不同,Phi-4 大量使用了合成数据进行训练。微软通过多种技术生成了大约 4,000亿个 Token 的高质量合成数据,包括:

  • 多代理提示:利用多个语言模型生成多样化的数据。

  • 自我修正流程:模型生成初始输出后,进行自我评估和修正。

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

合成数据具有结构化、渐进式的特点,能够引导模型逐步学习复杂的推理和问题解决能力。

精选的有机数据

除了合成数据,Phi-4 还从多种来源精心挑选了高质量的有机数据,如网页内容、书籍、代码库和问答集合。通过严格的过滤和去重,确保了数据的高质量和多样性。

多阶段训练流程

Phi-4 的训练分为多个阶段:

  • 预训练阶段:建立模型的基础语言理解能力,使用了约 10万亿个 Token 的数据。

  • 中期训练阶段:扩展上下文长度至 16,000 个 Token,进一步提升模型的性能。

  • 后训练阶段(微调):通过监督微调(SFT)和直接偏好优化(DPO)等方法,优化模型的输出,使其更符合人类的偏好。

先进的训练技术


关键 Token 搜索(PTS)

PTS 是一种创新的训练方法,通过识别对模型输出影响最大的关键 Token,针对性地优化模型在这些位置的预测。这种方法提高了训练效率,增强了模型在关键决策点上的表现。

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

在 DPO 过程中,Phi-4 结合了 PTS 方法,使用高质量的偏好数据优化模型的输出。通过评估模型在关键 Token 上的表现,进一步提升了优化效果。

性能评估


外部评测基准

Phi-4 在多个公开的评测基准上表现出色:

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

  • GPQA:在研究生水平的 STEM 问答中表现突出。

  • MATH:在数学问题解决方面展现了强大的能力。

  • HumanEval:在代码生成和理解任务中超越了同等规模的模型。

内部评测套件(PhiBench)

微软开发了内部评测套件 PhiBench,涵盖了代码调试、代码补全、数学推理等任务,帮助团队深入了解模型的能力和不足,并有针对性地进行改进。

模型的局限性


尽管 Phi-4 性能强大,但仍存在一些局限性:

  • 指令遵循能力:在严格格式化输出方面表现不佳。

  • 冗长的回答:有时会对简单问题给出过于详细的答案。

  • 对话能力:优化于单轮查询,缺乏持续对话的能力。

这些局限性主要源于模型的训练重点在于推理和问题解决,而非对话或指令遵循。

作者简介


图片

魏新宇

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

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

想了解更多 AI 知识欢迎关注作者书籍和 Github

资料推荐


智能 GitHub Copilot 副驾驶® 提示和技巧icon-default.png?t=O83Ahttps://info.microsoft.com/GC-DevOps-CNTNT-FY25-08Aug-23-Smart-GitHub-Copilot-Tips-and-Tricks-SRGCM12801_LP01-Registration---Form-in-Body.html

Azure OpenAI 生成式人工智能白皮书icon-default.png?t=O83Ahttps://info.microsoft.com/GC-AzureAI-CNTNT-FY25-08Aug-21-Azure-OpenAI-Generative-Artificial-Intelligence-White-Paper-SRGCM12789_LP01-Registration---Form-in-Body.html

利用 AI 和 DevOps 重新定义开发人员体验icon-default.png?t=O83Ahttps://info.microsoft.com/ww-landing-redefining-the-developer-experience.html?lcid=ZH-CN

SAP on Microsoft Cloudicon-default.png?t=O83Ahttps://info.microsoft.com/GC-SAP-CNTNT-FY25-08Aug-27-SAP-on-Microsoft-Cloud-SRGCM12804_LP01-Registration---Form-in-Body.html

Logo

微软开发者社区,邀请来自微软以及技术社区专家,带来最前沿的技术干货与实践经验。在这里,您将看到深度教程、最佳实践和创新解决方案。

更多推荐