当前位置:

首页 > 业界资讯 > 使用工具包可将大型模型推理性能提升40倍

使用工具包可将大型模型推理性能提升40倍

英特尔®ExtensionforTransformer是什么?英特尔®ExtensionforTransformers[1]是英特尔推出的一个创新工具包,可基于英特尔®架构平台,尤其是第四代英特尔®至强®可扩展处理器(代号SapphireRapids[2],SPR)显著加速基于Transformer的大语言模型(LargeLanguageModel,LLM)。其主要特性包括:通过扩展HuggingFacetransformersAPI[3]和利用英特尔®NeuralCompressor[4],为用户提供无

本文目录

    英特尔® Extension for Transformer是什么?

    英特尔® Extension for Transformers[1]是英特尔推出的一个创新工具包,可基于英特尔® 架构平台,尤其是第四代英特尔® 至强® 可扩展处理器(代号Sapphire Rapids[2],SPR)显著加速基于Transformer的大语言模型(Large Language Model,LLM)。其主要特性包括:

    • 通过扩展Hugging Face transformers API[3]和利用英特尔® Neural Compressor[4],为用户提供无缝的模型压缩体验;
    • 提供采用低位量化内核(NeurIPS 2023:在CPU上实现高效LLM推理[5])的LLM推理运行时,支持Falcon、LLaMA、MPT、Llama2、 BLOOM、OPT、ChatGLM2、GPT-J-6B、Baichuan-13B-Base、Baichuan2-13B-Base、Qwen-7B、Qwen-14B和Dolly-v2-3B等常见的LLM[6];
    • 先进的压缩感知运行时[7](NeurIPS 2022:在CPU上实现快速蒸馏和QuaLA-MiniLM:量化长度自适应MiniLM;NeurIPS 2021:一次剪枝,一劳永逸:对预训练语言模型进行稀疏/剪枝)。

    本文将重点介绍其中的LLM推理运行时(简称为“LLM运行时”),以及如何利用基于Transformer的API在英特尔® 至强® 可扩展处理器上实现更高效的LLM推理和如何应对LLM在聊天场景中的应用难题。

    LLM运行时(LLM Runtime)

    英特尔® Extension for Transformers提供的LLM Runtime[8]是一种轻量级但高效的LLM推理运行时,其灵感源于GGML[9],且与llama.cpp[10]兼容,具有如下特性:

    • 内核已针对英特尔® 至强® CPU内置的多种AI加速技术(如 AMX、VNNI)以及AVX512F和AVX2指令集进行了优化;
    • 可提供更多量化选择,例如:不同的粒度(按通道或按组)、不同的组大小(如:32/128);
    • 拥有更优的KV缓存访问以及内存分配策略;
    • 具备张量并行化功能,可助力在多路系统中进行分布式推理。

    LLM Runtime的简化架构图如下:

    使用工具包可将大型模型推理性能提升40倍

    需要进行改写的内容是:△图1.英特尔® Extension for Transformers的LLM Runtime简化架构图

    使用基于Transformer的API,在CPU上实现LLM高效推理

    只需不到9行代码,即可让您在CPU上实现更出色的LLM推理性能。用户可以轻松地启用与Transformer类似的API来进行量化和推理。只需将 ‘load_in_4bit’设为true,然后从HuggingFace URL或本地路径输入模型即可。下方提供了启用仅限权重的(weight-only)INT4量化的示例代码:

    from transformers import AutoTokenizer, TextStreamerfrom intel_extension_for_transformers.transformers import AutoModelForCausalLMmodel_name = "Intel/neural-chat-7b-v3-1” prompt = "Once upon a time, there existed a little girl,"tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)inputs = tokenizer(prompt, return_tensors="pt").input_idsstreamer = TextStreamer(tokenizer)model = AutoModelForCausalLM.from_pretrained(model_name, load_in_4bit=True)outputs = model.generate(inputs, streamer=streamer, max_new_tokens=300)

    默认设置为:将权重存储为4位,以8位进行计算。但也支持不同计算数据类型(dtype)和权重数据类型组合,用户可以按需修改设置。下方提供了如何使用这一功能的示例代码:

    from transformers import AutoTokenizer, TextStreamerfrom intel_extension_for_transformers.transformers import AutoModelForCausalLM, WeightOnlyQuantConfigmodel_name = "Intel/neural-chat-7b-v3-1” prompt = "Once upon a time, there existed a little girl,"woq_config = WeightOnlyQuantConfig(compute_dtype="int8", weight_dtype="int4")tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)inputs = tokenizer(prompt, return_tensors="pt").input_idsstreamer = TextStreamer(tokenizer)model = AutoModelForCausalLM.from_pretrained(model_name,quantization_cnotallow=woq_config)outputs = model.generate(inputs, streamer=streamer, max_new_tokens=300)

    性能测试

    经过持续努力,上述优化方案的INT4性能得到了显著提升。本文在搭载英特尔® 至强® 铂金8480+的系统上与llama.cpp进行了性能比较;系统配置详情如下:@3.8GHz,56核/路,启用超线程,启用睿频,总内存 256 GB (16 x 16 GB DDR5 4800 MT/s [4800 MT/s]),BIOS 3A14.TEL2P1,微代码0x2b0001b0,CentOS Stream 8。

    推理性能测试结果见下表,其中输入大小为32,输出大小为32,beam为1

    使用工具包可将大型模型推理性能提升40倍

    △表1.LLM Runtime与llama.cpp推理性能比较(输入大小=32,输出大小=32,beam=1)

    输入大小为1024、输出大小为32、beam为1时的推理性能的测试结果,详见下表:

    使用工具包可将大型模型推理性能提升40倍

    △表2.LLM Runtime与llama.cpp推理性能比较(输入大小=1024,输出大小=32,beam=1)

    根据上表2可见:与同样运行在第四代英特尔® 至强® 可扩展处理器上的llama.cpp相比,无论是首个token还是下一个token,LLM Runtime都能显著降低时延,且首个token和下一个token的推理速度分别提升多达 40 倍[a](Baichuan-13B,输入为1024)和2.68倍[b](MPT-7B,输入为1024)。llama.cpp的测试采用的是默认代码库[10]。

    而综合表1和表2的测试结果,可得:与同样运行在第四代英特尔® 至强® 可扩展处理器上的llama.cpp相比,LLM Runtime能显著提升诸多常见LLM的整体性能:在输入大小为1024时,实现3.58到21.5倍的提升;在输入大小为32时,实现1.76到3.43倍的提升[c]。

    准确性测试

    英特尔® Extension for Transformers可利用英特尔® Neural Compressor中的SignRound[11]、RTN和GPTQ[12]等量化方法,并使用lambada_openai、piqa、winogrande和hellaswag数据集验证了 INT4 推理准确性。下表是测试结果平均值与FP32准确性的比较。

    使用工具包可将大型模型推理性能提升40倍
    △表3.INT4与FP32准确性对比

    从上表3可以看出,多个模型基于LLM Runtime进行的INT4推理准确性损失微小,几乎可以忽略不记。我们验证了很多模型,但由于篇幅限制此处仅罗列了部分内容。如您欲了解更多信息或细节,请访问此链接:https://medium.com/@NeuralCompressor/llm-performance-of-intel-extension-for-transformers-f7d061556176。

    更先进的功能:满足LLM更多场景应用需求

    同时,LLM Runtime[8]还具备双路CPU的张量并行化功能,是较早具备此类功能的产品之一。未来,还会进一步支持双节点。

    然而,LLM Runtime的优势不仅在于其更出色的性能和准确性,我们还投入了大量精力来增强其在聊天应用场景中的功能,并解决了LLM在聊天场景中可能遇到的以下应用难题:

    1. 对话不仅关乎LLM推理,对话历史也很有用。
    2. 输出长度有限:LLM模型预训练主要基于有限的序列长度。因此,当序列长度超出预训练时使用的注意力窗口大小时,其准确性便会降低。
    3. 效率低下:在解码阶段,基于Transformer的LLM会存储所有先前生成的token的键值状态(KV),从而导致内存使用过度,解码时延增加。

    关于第一个问题,LLM Runtime的对话功能通过纳入更多对话历史数据以及生成更多输出加以解决,而llama.cpp目前尚未能很好地应对这一问题。

    关于第二和第三个问题,我们将流式LLM(Steaming LLM)集成到英特尔® Extension for Transformers中,从而能显著优化内存使用并降低推理时延。

    Streaming LLM

    与传统KV缓存算法不同,我们的方法结合了注意力汇聚(Attention Sink)(4个初始token)以提升注意力计算的稳定性,并借助滚动KV缓存保留最新的token,这对语言建模至关重要。该设计具有强大的灵活性,可无缝集成到能够利用旋转位置编码RoPE和相对位置编码ALiBi的自回归语言模型中。

    使用工具包可将大型模型推理性能提升40倍

    需要重写的内容是:△ 图2. 使用注意力下沉实现高效流式语言模型的Steam LLM的KV缓存(图片来源:[13])

    而且,与llama.cpp不同,这个优化方案还新增了“n_keep”和“n_discard”等参数,以增强Streaming LLM策略。用户可以使用“n_keep”参数指定要保留在KV缓存中的token数量,并使用“n_discard”参数确定要在已生成的token中舍弃的数量。为了更好地平衡性能和准确性,系统默认在KV缓存中舍弃最新token数量的一半

    同时,为进一步提高性能,我们还将Streaming LLM添加到了MHA融合模式中。如果模型是采用旋转位置编码(RoPE)来实现位置嵌入,那么只需针对现有的K-Cache应用“移位运算(shift operation)”,即可避免对先前生成的、未被舍弃的token进行重复计算。这一方法不仅充分利用了长文本生成时的完整上下文大小,还能在KV缓存上下文完全被填满前不产生额外开销。

    “shift operation”依赖于旋转的交换性和关联性,或复数乘法。例如:如果某个token的K-张量初始放置位置为m并且旋转了m×θi for i ∈ [0,d/2),那么当它需要移动到m-1这个位置时,则可以旋转回到(-1)×θi for i ∈ [0,d/2)。这正是每次舍弃n_discard个token的缓存时发生的事情,而此时剩余的每个token都需要“移动”n_discard个位置。下图以“n_keep=4、n_ctx=16、n_discard=1”为例,展示了这一过程。

    使用工具包可将大型模型推理性能提升40倍

    △图3.Ring-Buffer KV-Cache和Shift-RoPE工作原理

    需要注意的是:融合注意力层无需了解上述过程。如果对K-cache和V-cache进行相同的洗牌,注意力层会输出几乎相同的结果(可能存在因浮点误差导致的微小差异)。

    您可以使用下面的代码来启动Streaming LLM:

    from transformers import AutoTokenizer, TextStreamer from intel_extension_for_transformers.transformers import AutoModelForCausalLM, WeightOnlyQuantConfig model_name = "Intel/neural-chat-7b-v1-1" # Hugging Face model_id or local model woq_config = WeightOnlyQuantConfig(compute_dtype="int8", weight_dtype="int4") prompt = "Once upon a time, a little girl"tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True) inputs = tokenizer(prompt, return_tensors="pt").input_ids streamer = TextStreamer(tokenizer)model = AutoModelForCausalLM.from_pretrained(model_name, quantization_cnotallow=woq_config, trust_remote_code=True) # Recommend n_keep=4 to do attention sinks (four initial tokens) and n_discard=-1 to drop half rencetly tokens when meet length threshold outputs = model.generate(inputs, streamer=streamer, max_new_tokens=300, ctx_size=100, n_keep=4, n_discard=-1)

    结论与展望

    本文基于上述实践经验,提供了一个在英特尔® 至强® 可扩展处理器上实现高效的低位(INT4)LLM推理的解决方案,并且在一系列常见LLM上验证了其通用性以及展现了其相对于其他基于CPU的开源解决方案的性能优势。未来,我们还将进一步提升CPU张量库和跨节点并行性能。

    欢迎您试用英特尔® Extension for Transformers[1],并在英特尔® 平台上更高效地运行LLM推理!也欢迎您向代码仓库(repository)提交修改请求 (pull request)、问题或疑问。期待您的反馈!

    特别致谢

    在此致谢为此篇文章做出贡献的英特尔公司人工智能资深经理张瀚文及工程师许震中、余振滔、刘振卫、丁艺、王哲、刘宇澄。

    [a]根据表2 Baichuan-13B的首个token测试结果计算而得。
    [b]根据表2 MPT-7B的下一个token测试结果计算而得。
    [c]当输入大小为1024时,整体性能=首个token性能+1023下一个token性能;当输入大小为32时,整体性能=首个token性能+31下一个token性能。

    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
    作者最新文章
    业界资讯
    相关文章 更多
    FreeBSD 数据转移办法
    FreeBSD 数据转移办法

    在开始之前,先确认硬件已经就位:关机,把新硬盘装上,再重新开机。开机后第一件事,就是检查系统是否识别到了新设备。用 dmesg | grep ad2 看一眼,如果输出类似 ad2: 9765MB [19841/16/63] at ata1-master UDMA33 这样的信息,说明新硬盘已经被成功

    中国科研人员利用LAMOST望远镜发现两颗新的共生星
    中国科研人员利用LAMOST望远镜发现两颗新的共生星

    7月25日消息 天文学界最近有一项挺有意思的发现。根据中国科学院发布的信息,由南京天文光学技术研究所研究员王靓团队,联合国家天文台研究员罗阿理等人,利用LAMOST望远镜第十次公开的海量光谱数据,再结合多种测光数据,成功揪出了两颗全新的共生星,同时还锁定了12颗“仅吸积共生星”的候选体。这成果可不只

    伯恩斯坦:二月苹果iPhone全球销量同比激增26%,在中国市场平均售价上涨20%
    伯恩斯坦:二月苹果iPhone全球销量同比激增26%,在中国市场平均售价上涨20%

    伯恩斯坦:二月苹果iPhone全球销量同比激增26%,在中国市场平均售价上涨20% 先来看一组不容小觑的数字:就在刚刚过去的2026年2月,苹果iPhone的全球销量同比激增了26%。这是什么概念?这个表现,甚至比去年同期iPhone 16的销量还高出了20个百分点。而在这波增长浪潮中,中国市场无疑

    索尼推出“Playerbase”计划:将真实玩家扫描植入PS第一方游戏
    索尼推出“Playerbase”计划:将真实玩家扫描植入PS第一方游戏

    索尼推出“玩家基地”计划:将真实玩家扫描植入PS第一方游戏 最近,游戏界有个大动作值得关注。索尼正式宣布启动名为“玩家基地”的新计划,准备推出一套完整的流程,将真实玩家的形象扫描并植入到PlayStation工作室的游戏之中。这套创新的流程,背后是摄影测量、动作捕捉与玩家数据技术的融合。 索尼互动娱

    华为盘古 Ultra MoE 模型发布
    华为盘古 Ultra MoE 模型发布

    5月30日,华为推出了全新的AI模型——盘古UltraMoE,该模型的参数量达到了7180亿。作为一款接近万亿参数的MoE(MixtureofExperts)模型,它在整个训练过程中完全基于华为的昇腾AI平台完成,标志着华为在超大规模模型训练方面取得了重要进展。盘古UltraMoE的成功训练离不开盘古团队研发的一系列创新技术。例如,Depth-ScaledSandwich-Norm(DSSN)稳定架构的引入,显著改善了超大规模模型训练期间出现的梯度异常及

    4TB数据搬运:物理传输更高效
    4TB数据搬运:物理传输更高效

    在千兆宽带、5G通信与云服务深度普及的2026年,大众普遍以为超大文件传输已步入“秒级时代”,但现实远未达到这般畅快。当面对数TB乃至数十TB级别的庞大数据集时,当下最可靠、最迅捷且兼顾安全性的传输方案,依然是“物理位移”——依靠人工携带存储介质完成跨地域交付。一位来自河南信阳的用户讲述了真实经历:他曾需将4TB资料从信阳送往郑州,首次尝试纯网络传输,系统预估总耗时近72小时;最终改用专人驱车运送,单程仅需约2.5小时,当天即完成取件与送达,整体效率显著超越线上方式。该实例迅速引发热议,多位资深IT博主随

    SOTA大模型加密数据评测:Qwen3仅破10%
    SOTA大模型加密数据评测:Qwen3仅破10%

    大语言模型面对加密数据,即便最新的Qwen3也会感到压力!尽管当下各类推理模型在多种基准测试中表现优异,但在密码学这样对逻辑严谨性和细节准确性要求极高的专业领域,模型的推理能力还有待深入挖掘。密码学不仅要求模型具备高级数学运算能力和严密的逻辑推理链,还需要其能够精准辨识复杂加密模式中的潜在规律;成功解密要求模型拥有极强的综合推理能力。上海AILab等联合推出的CipherBank测评,使用大量真实隐私场景数据和多种密码算法,严苛挑战当前最先进的大模型。CipherBank的测评结果显示,目前的大语言模型

    每2秒解一道高数题!华为揭秘万亿MoE训练系统全流程
    每2秒解一道高数题!华为揭秘万亿MoE训练系统全流程

    现在,请大家一起来数一下"1"、"2"。OK,仅仅2秒的时间,一个接近万亿规模的MoE大模型就已经掌握了如何解答一道高等数学难题的方法!而且呢,这个大模型还是完全依靠国产设备进行训练的,整个流程都体现了浓浓的“国产”特色。这就是华为借助"昇腾+PanguUltraMoE"这一组合实现的成果——不仅达成了国产算力与国产模型在全流程上的自主可控训练闭环,还在集群训练系统的性能方面达到了行业顶尖水平。有多顶尖?来看一组数据:预训练阶段:昇腾Atlas800TA2万卡集群的MFU提升

    机器狗首次阵亡!美国警方披露详情
    机器狗首次阵亡!美国警方披露详情

    美国警察最新公布一则案件:波士顿动力机器狗首次被枪杀阵亡。官方图显示,机器狗身上有多处枪伤,金属外壳凹陷,油漆脱落,已经无法继续使用。对于机器狗此番牺牲,警方也给予了高度评价:这是在为人类执法伙伴挡住了子弹。波士顿动力机器狗首次被枪杀马萨诸塞州警方详细地披露了案件细节。那是一个平常的周三下午,一名嫌疑人持枪藏在一处住宅内。警察随后派出一只名为Roscoe的机器狗和两台PacBot510履带式机器人,以协助搜捕。在人类士兵遥控操作下,Roscoe对房屋进行了地毯式搜索。结果就在机器狗清查完地下室一个壁橱,然

    美团推出首个语音GUI智能体,端到端语音训练更优
    美团推出首个语音GUI智能体,端到端语音训练更优

    只需动动嘴,就能操控GUI代理?由美团与浙江大学联合推出的GUIRoboTron-Speech——让你彻底解放双手,直接对设备“发号施令”。这是首个可以直接通过语音指令和屏幕截图进行端到端(End-to-End)决策的自主GUI智能体,致力于为用户提供更自然、高效且无障碍的人机交互方式。从文本到语音,智能代理的新一轮进化目前,基于大语言模型(LLMs)的自主GUI智能体已经能够通过文本指令自动完成跨应用、多步骤的复杂操作,显著提升用户效率。然而,这种依赖文本输入的方式在某些场景中存在明显局限

    查看更多
    精品专题 更多
    装机必备
    装机必备

    正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

    Windows
    Windows

    正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

    PDF教程
    PDF教程

    正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

    Mac软件 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    Aperty macOS版
    Aperty macOS版
    macOS

    Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

    WINDOWS 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    PixTV 网页版
    PixTV 网页版
    Windows

    PixTV 是一款在浏览器中使用的 AI 视觉内容创作平台,提供图片、视频、音频、文字生成、AI 分镜、局部重绘、提示词反推和无限画布等工具,适合短剧、漫剧、广告及社交媒体内容制作。