50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

极客说|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:1212308

    评论

    发布
    暂无评论

    HTML5中的拖放功能

    我是哪吒

    html html5 程序员 面试 大前端

    代码 or 指令,浅析ARM架构下的函数的调用过程

    华为云开发者联盟

    函数 任务栈 arm架构

    CSS实现数据统计

    德育处主任

    大前端 CSS小技巧 28天写作 纯CSS

    高阶段位机房管理:3D集装箱数据中心,触发科技“火苗”的燃烧

    一只数据鲸鱼

    数据可视化 3D可视化 机房管理 数据中心可视化 集装箱式数据中心

    Vue 3自定义指令开发

    葡萄城技术团队

    【Android Tips】小厂的扫码还能怎么做?

    李小四

    机器学习 二维码 扫码 微信扫码

    漫谈HTTP协议

    架构精进之路

    HTTP 七日更 28天写作

    【CSS】波纹效果

    德育处主任

    CSS小技巧 28天写作 纯CSS

    【CSS】不规则阴影

    德育处主任

    css3 html/css CSS小技巧 28天写作 纯CSS

    区块链作用之数字货币的影响

    v16629866266

    AI、IoT、区块链、自主系统、下一代计算五大技术引领未来供应链发展

    京东科技开发者

    区块链 AI IoT 供应链

    IDEA 异常退出 解决方法

    任广印

    IDEA

    [高并发]高并发分布式锁架构大解密,不是所有的锁都是分布式锁!!

    Geek_0o5u34

    美国大选期间美股迎来大涨,舆情到底有何魔力?

    星环科技

    人工智能 大数据

    甲方日常 91

    句子

    工作 随笔杂谈 日常

    前端知识总结输出文章目录大全

    梁龙先森

    JavaScript 大前端 编程语言 28天写作

    即构SDK新增焦点语音功能,可实现特定用户语音的聚焦

    ZEGO即构

    Elasticsearch 批量查询 mget

    escray

    elastic 七日更 28天写作 死磕Elasticsearch 60天通过Elastic认证考试

    个人隐私之老话重谈

    张老蔫

    28天写作

    面对key数量多和区间查询低效问题:Hash索引趴窝,LSM树申请出场

    华为云开发者联盟

    数据库 数据 存储 Hash索引 LSM树

    音视频行业不可或缺的功能-云端录制

    anyRTC开发者

    音视频 WebRTC 在线教育 直播 RTC

    微服务容错时,这些技术你要立刻想到

    华为云开发者联盟

    微服务 线程 服务雪崩 断路器 服务降级

    阿里巴巴正式推出2021年金三银四1000道Java工程师面试题手册(含答案)

    Java架构追梦

    Java 阿里巴巴 面试 架构师 金三银四

    Vue3 中 v-if 和 v-show 指令实现的原理 | 源码解读

    五柳

    源码分析 大前端 Vue3

    前端模拟假数据(json-server光速入门篇)

    德育处主任

    json 大前端 Node 28天写作 json-server

    机器学习应用设计阶段的 10 个陷阱和 11 个最佳实践

    机器学习

    《论雨伞道德》- 不要和自己的良心捉迷藏

    石云升

    读书笔记 28天写作 雨伞道德

    你会读书吗?

    xcbeyond

    读书感悟 读书方式 28天写作

    Volcano 监控设计解读,一看就懂

    华为云开发者联盟

    Kubernetes 云原生 监控 Volcano 计算

    数据中台:建立在数据网络效应之上的赛道

    奇点云

    大数据 数据中台 云原生 数据

    灵雀云Kube-OVN进入CNCF沙箱,成为CNCF首个容器网络项目

    York

    灵雀云 Kubernetes Kube-OVN

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