当前位置:

首页 > 业界资讯 > 使用工具包可将大型模型推理性能提升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并且旋转了θfor i ∈ [0,d/2),那么当它需要移动到m-1这个位置时,则可以旋转回到(-1)×θ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性能。

本文内容来源于互联网,如有侵权请联系删除。
作者最新文章
业界资讯
相关文章 更多
4TB数据搬运:物理传输更高效
4TB数据搬运:物理传输更高效

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

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

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

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

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

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

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

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

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

雷克沙ArmorSD卡测评:全金屬防護三防加持存储更安心
雷克沙ArmorSD卡测评:全金屬防護三防加持存储更安心

无论是专业摄影师还是摄影爱好者,相机内存储卡的可靠性都至关重要,尤其是在恶劣的拍摄环境中,数据存储的安全性更是不可忽视。尽管市场上有多种支持三防功能的移动存储设备用于数据备份,但最常用的SD存储卡由于采用塑料外壳,长期使用后容易出现破损,导致数据损坏,甚至可能损坏相机的存储卡槽,带来的损失不可估量。国际存储品牌雷克沙推出了全新的Armor系列SD存储卡,不仅读写速度快,还采用了不锈钢材质的外壳,具有优异的防水、防尘和防跌落性能,为相机的原始拍摄数据提供了可靠的保护。雷克沙ArmorSD存储卡分为GOLD

Siri等明年!苹果WWDC25给AI交底:画小饼,继续熬
Siri等明年!苹果WWDC25给AI交底:画小饼,继续熬

不求速胜,熬吧。

第一章:计算机系统全方位概述
第一章:计算机系统全方位概述

1.1计算机发展历程[计组]1.0_你好,我是计算机组成原理我们生活在一个信息化程度极高的世界中,我们每天的生活都离不开电脑和手机,这些设备实际上都属于计算机的范畴。计算机的底层结构由硬件构成,在硬件之上,我们会安装操作系统,再在操作系统上运行各种应用软件,这样就能得到一个易于使用的计算机系统。通过计算机网络,这些设备实现了信息的互联互通,这正是我们现在生活的信息化世界的缩影。计算机组成原理这门课研究的就是这些计算机硬件在底层如何协同工作。既然我们要研究硬件,不妨先来看一下大家日常生活中常见的一些硬件

vivo 获批模块化智能手表专利 可调传感器以获得更精准数据
vivo 获批模块化智能手表专利 可调传感器以获得更精准数据

近日,vivo的一项智能手表专利正式获得批准并公开展示。该专利采用模块化设计,通过磁力锁扣和滑动限位槽,用户可以手动调整传感器的位置,以确保健康数据的精准收集。vivo这项专利的核心亮点是其模块化结构。手表由可穿戴主体和可拆卸设备主体两部分组成,用户可以通过滑动限位槽和磁力锁扣,旋转或移动内部传感器模块,将其调整到最佳佩戴位置。这种设计有效提高了健康数据的监测准确性,如心率和血氧等关键指标。对于不同体型和佩戴习惯的用户来说,这种可调节性尤为重要,能够确保传感器与皮肤的紧密接触,减少因位置偏差导致的误差

LCD硬件操作原理详解
LCD硬件操作原理详解

本文参考自百问网-韦东山驱动大全,旨在探讨当前手机中常见的LCD屏幕。LCD与OLED的区别关于LCD和OLED的区别,可以参考以下链接:https://www.zhihu.com/question/22263252/answer/410201820不同接口的LCD硬件操作原理应用工程师眼中的LCDLCD由一个个像素组成,每行有xres个像素,共有yres行,其分辨率为xres*yres。只要我们能够控制任意一个像素的颜色,就可以在LCD上绘制文字和图片。像素的颜色表示像素的颜色通常用红绿蓝三色来表示

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

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

Windows
Windows

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

macOS软件
macOS软件

正软商城macOS软件专区,精选适用于Mac电脑的办公、设计、影音、效率、开发和系统工具,提供软件功能介绍、macOS兼容版本、正版授权及购买下载服务。

Mac软件 更多
灵活计算器
灵活计算器
macOS/iOS/Android

灵活计算器是一款笔记式算数应用,支持实时计算、动态关联和云端同步功能。记录、整理和输出之间的过渡会更自然,适合长期写作、做笔记或持续沉淀个人内容。

赤友清理大师
赤友清理大师
macOS

赤友清理大师是一款为 Mac 设计的智能清理优化工具,可精准扫描垃圾、大文件、重复文件等,释放磁盘空间。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

极度公式
极度公式
Windows/macOS/Linux

极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

WINDOWS 更多
Windows 10
Windows 10
Windows

Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。

极度公式
极度公式
Windows/macOS/Linux

极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

密码键盘
密码键盘
Windows/macOS/iOS/Android

密码键盘是一款兼具安全性与便捷性的高效密码管理器。日常使用里的持续防护和信息管理会更突出,适合把安全控制放进长期使用流程中的场景。