QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

极客说|Phi-4 模型的 4 位量化与 vLLM 高速推理

  • 2025-01-17
    北京
  • 本文字数:1819 字

    阅读完需:约 6 分钟

大小:931.23K时长:05:17
极客说|Phi-4 模型的 4 位量化与 vLLM 高速推理

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


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


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


00:00 / 00:00
    1.0x
    • 3.0x
    • 2.5x
    • 2.0x
    • 1.5x
    • 1.25x
    • 1.0x
    • 0.75x
    • 0.5x
    网页全屏
    全屏
    00:00


    推理代码见 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 性能强大,但仍存在一些局限性:

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

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

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


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


    更多精彩内容请点击下载

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

    《利用 AI 和 DevOps 重新定义开发人员体验》

    《SAP on Microsoft Cloud》

    《智能GitHub Copilot副驾驶®提示和技巧》

    2025-01-17 15:1211565

    评论

    发布
    暂无评论

    ​专科出身,2年进入苏宁,5年跳槽阿里,论我是怎么快速晋升的?

    码农之家

    Java 程序员 互联网 面试 阿里

    低代码平台想要实现复杂的业务流程,这4个条件不能少!

    优秀

    低代码

    HugeGraph图数据库获Apache TinkerPop官方认证

    百度开发者中心

    San介绍以及在百度APP的实践

    百度开发者中心

    2021年金三银四最新美团、字节、阿里、腾讯Java面经,已拿offer!

    Java架构之路

    Java 程序员 架构 面试 编程语言

    mysql事务隔离的研究

    这就是编程

    三次给你讲清楚Redis之Redis是个啥

    华为云开发者联盟

    数据库 nosql redis hash 字符串

    架构可视化支撑系统演进探索

    华为云开发者联盟

    架构 软件系统 架构可视化 辅助系统 架构可视化辅助系统

    「开源」首次被列入“十四五”规划,未来大有可为

    百度开发者中心

    终于有腾讯架构师把困扰我多年的《计算机网络原理》全部讲明白了

    Java 程序员 架构 网络 计算机

    用AI实践继续探索2050全面数字乡村建设

    百度大脑

    AI

    乡村振兴:AI+乡村的下一个命题

    百度开发者中心

    大牛荐书 | 百度技术大牛都在读的7本书!

    百度开发者中心

    学会 Java 数据结构,想不飘都难

    学Java关注我

    Java 编程 架构 程序人生 计算机

    面试阿里P6,却被MySQL难倒,二战阿里,挤进天猫团队(Java岗)

    Java 程序员 架构 面试

    Canalys发布2020 Q4中国云市场报告

    百度大脑

    百度 AI

    软件测试面试题【2021模拟面试整理版(含答案)】

    程序员阿沐

    面试 软件测试

    三年Java程序员成功跳槽涨薪,这份《阿里巴巴金三银四Java高级面试题》给了我很大的帮助。

    Java架构之路

    Java 程序员 架构 面试 编程语言

    月薪30K以上的C/C++Linux后台服务器开发学习路线是怎样的?

    赖猫

    c++ Linux 后台开发 后端

    5G 和云原生时代的技术下半场,视频化是最大最新的确定性

    阿里巴巴云原生

    人工智能 云原生 5G 存储 调度

    Impala简介以及与Hive的异同

    五分钟学大数据

    4月日更 impala

    跨专业?拿到阿里offer?我是如何一步一步做到的?

    Java架构师迁哥

    AI开发降本提效之道:云智一体AI开发全栈模式

    百度大脑

    百度 AI 飞桨

    开放原子超级链动态内核上线,十分钟可搭建一条区块链

    百度开发者中心

    工作中的设计模式 —— 策略模式

    程序员小航

    Java 设计模式

    一不小心,它成为了 GitHub Alibaba Group 下 Star 最多的开源项目

    阿里巴巴云原生

    Java 微服务 云原生 dubbo Arthas

    第14期师资培训火热招生中尽享国赛智能车一手资料

    百度大脑

    人工智能

    CMS垃圾收集器

    张sir

    Java JVM 垃圾收集

    Linux后台开发面试总结

    赖猫

    大数据作业的工作流调度详解

    大数据技术指南

    大数据 4月日更

    Apache-Flume的安装及简单应用

    慢慢de

    win10 flume 日志采集

    极客说|Phi-4 模型的 4 位量化与 vLLM 高速推理_微软_微软中国MSDN_InfoQ精选文章