LLM大模型推理测试 & AI PC选型指南 (1)

image.png

引言:在拟定了本文的题目《AI PC选型指南》之后,我觉得这个帽子可能有点大,所以就在后面加了个 (1)。这样后续我就可以再不断补充,另外说实话一次的篇幅也感觉不太够。

我想把本文推荐给所有关注用PC跑“端侧”大模型的朋友,即便您能拿到官方的参考数据,我也建议您再看看这个测试。我先针对CPU(包含iGPU集成显卡)来跑,但不只是最新的“AI PC”,也包括Intel之前的13代大核+小核CPU,因此您能看到Arc与Xe的对比。

为什么是LLM大语言对话模型?

几个月前我参加了一场有关AI PC的市场活动,记得有位同事感慨道:“各家展位上大多跑的是语言类模型”。联想到在国内不能落地的微软Copilot,其实也算正常吧,像聊天机器人、AI助手、翻译、文档总结、RAG(检索增强生成)本地知识库这些,都要依赖LLM为基础。

image.png
这是在一台Dell AIPC笔记本上运行的本地LLM大模型Demo。各种不同硬件所对比的算力,在此类应用中就体现为输出的速度(token/秒)和延时。

另一个(大家都在讨论)的原因,就是当前的AIPC CPU(包括Intel Ultra系列),基本能够流畅把LLM的推理跑起来了,达到正常阅读的输出速度。就像上面的Demo,Intel Arc集显的算力确实比之前的CPU有较大提高,再加上能控制到4GB+的显存占用(这里以int4量化加载6B模型为例)…

在第一次看到这样的演示时,我心里就萌生了2个小愿望。第一个愿望就是在“非AI PC”上能跑起来吗?本文也会一起给出答案;至于第二个愿望,等后续落实了再讲给大家吧:)

最近高通经常有意无意地对比Intel第一代Ultra CPU的NPU算力——只有11 TOPS(INT8)。Intel也说了CPU Core + GPU + NPU一共可达34 TOPS,那么除了CPU常规的5 TOPS左右和NPU,当前算力最高的实际上是iGPU——也就是大约18 TOPS的Arc集显。

至于Intel和微软下一步的阳谋是什么,有些常关注新闻的朋友已经知道了吧?我想放在本文末尾再展望,先给大家分享我的测试数据。

测试项目:token/秒(平均延时)、首个token延时

怎样测试对比AI算力性能?这个问题我至少思考了几个月。业内不是没有相关的BenchMark基准测试工具,但这些不是偏向基础架构(如GPU服务器),就是在比一个跑分。而像我之前测试图形/视频工作站,要装具体的ISV应用软件那样(比如SolidWorks、Davinci),AI推理也应该拿具体的大模型实际来跑,这样的结果分析起来更直观、更有说服力和参考价值。

扩展阅读:《基准测试的局限:NVIDIA RTX A4000显卡SOLIDWORKS性能分析

双路Xeon NUMA优化取舍:DaVinci 4K/8K视频编辑调色测试

image.png
虽然是用英文语料测试的,但不要小看中文大模型在这方面的能力(原因略)。有一点差别是英文单词的输出速度看上去比中文显得快一些,因为1000字的英文翻译过来约为800汉字。

本次测试,我使用了ipex-llm(IPEX的前身为Big-DL)框架里带的BenchMark程序,可以手动指定以下选项:

选择测试模型(本次主要使用智谱的ChatGLM3-6B);
推理引擎:如transformer;
 计算精度:对于集显的笔记本电脑,量化精度显然比直接跑FP16更合适,如sym_int4;

设置测试的input/output文本长度:比如32-32就是一个较短的问答测试;而1024-128则像是一个“稍长文本”的总结。显然输入长度越大,理解过程——即第一个token返回的时间就越长。

image.png

本次我一共测试了5款笔记本电脑(含移动工作站),意在摸底不同定位CPU的LLM推理性能。每款CPU分别使用CPU、集成显卡iGPU运行测试,并上方图表中以同一种颜色表示。由于测试目的是给大家参考,为了减少潜在的不同品牌P.K.,我没有完全列出具体的CPU型号。

在测试中连续token输出性能最高的,是Core Ultra H28/H45(TDP功耗28/45W)的集成显卡Arc iGPU,达到了22 token/秒;这两款笔记本用CPU Core来跑也没有明显差距——都是14 token/秒。那么是否不同的笔记本散热/性能释放设计,对大模型推理应用就没有影响呢?我想等大家看完后续测试项目再做讨论。

image.png

在今年初的《Intel Core Ultra解析:AI NPU+“小小核”的理想与现实》一文中我曾经整理了上面这张表。可以看到Core Ultra U15系列CPU的设计仍然是2大核+8小核,iGPU并不是以Arc命名且只有H结尾型号一半的4个Xe-Core。所以在我的测试中,有一款Ultra 7 U15的轻薄本性能低一些也很正常;但该CPU仍然大幅领先与上一代——Core 13代的U15和P28,这也是AI PC价值的体现。

只看token生成速度的话,Core Ultra H28的可以达到上一代P28的2倍以上,无论用iGPU还是CPU来跑。

官方对比测试数字——补充参考

image.png
集显/独显对比

上面图表一看就像来自Intel官方文档吧,我截自《Optimizing Large Language Models with the OpenVINO™ Toolkit》,也给大家补充参考下。这份报告是用OpenVINO来跑的,而我的测试是基于IPEX。

Intel的报告也是用int4测试的平均延时(ms/token)来计算token/秒吞吐。具体测试值显得比我低?其中一部分原因估计是:这里Input/Output 1024/128输入输出并没有把首个token的延时,与从第2个token开始的平均延时分开来评估。当然可能还有别的原因,大家的测试平台、驱动版本等都可能有细微区别,所以仅作参考。

image.png
CPU对比

Intel还列出了13900K台式机CPU的测试结果——比Ultra 7 165H要快一些,但125W TDP的能耗比就不划算了。所以Intel桌面的13/14代U还没有被称为AIPC,除非增加GPU独显。

下面列出我测试的首个token输出延时:

image.png

需要指出的一项测试例外:由于13代i7 P28 CPU这一台笔记本只配置了16GB内存,用iGPU跑6B大模型时内存已经有一点“爆”了,所以上面那个2556.77的数值请当作异常来看待。别的机型都是32GB或以上内存所以不会这样。

先看Input 32/Output 32的“短文本”处理,Core Ultra H45/H28的Arc iGPU能在400多毫秒后开始首个token输出;3款Core Ultra笔记本用CPU Core处理也就是1秒左右的延时,P-Core数量似乎有些影响,6个大核的Ultra 7比4个大核的Ultra 5表现好点。

Core 13代P28 笔记本在这里也发挥了“计算实力”,用CPU Core跑出了1407ms的延时,这一项与Core Ultra的差距不大。直到此时,我还没有看到测试中反映出CPU对iGPU算力5 vs. 18 TOPS这样的比例,除了接下来的项目…

当iGPU性能达到CPU Core 10倍…

image.png

当LLM大模型的输入长度增加到1024,CPU计算核心完全无法跟上iGPU的节奏了(仅指我测试的笔记本CPU)。Core Ultra H28/H45用iGPU首个token延时只需要3秒左右,而换成CPU Core则要10倍的时间——看来后者不太能接受了。

我感觉可能是Intel在软件层面对GPU做了进一步的优化,特别是Ultra这一代的集显——与Core 13代笔记本相比,在对等功耗下iGPU该项测试表现大约提高了3-4倍。

测试平台:不完美有不完美的价值

下面列出我测试的5款笔记本,由于条件所限并不都是理想的对比配置,但能拿到本文这些测试数据我也算满意了。

image.png

Precision 3591:更多的移动工作站用户会配NVIDIA专业显卡GPU,但本次我的测试目的不同;

XPS 9440:按道理Intel集显配置应该搭配6400 MT/s内存,而7467内存对应的是RTX 4050独显。但我只找到独显的测试机,所以就用上面的集显完成了测试。

Inspiron 5620:本想找一台DDR 5内存的13代P28 CPU笔记本用于对比,但这两天暂时没有合适的,而且这台只有16GB内存。于是我又顺便验证到了更多的情况:)

Latitude 5440:该机型也有P28 CPU/DDR5的配置,我手头这台是低配版本。

更多发现、总结与展望

1.像LPDDR5X 7467这些高频内存,并没有在本次LLM大模型推理测试中表现出优势,这可能有点出乎一部分人的意料了。我想说不是“显存带宽”不重要,而是当前这一代Arc iGPU的算力还有限,所以看来双通道DDR5-5600就能配合得很好了。未来的Lunar Lake等情况可能有变化,下图是Intel宣传的算力参数:

image.png

2.iGPU比CPU在大多数AI应用中跑得快、效率高已经是不争的事实,在本文的测试中,Core Ultra笔记本具体是H28、H45乃至更高的功耗释放表现出差别不大。因为Arc集成显卡能跑出的功率是有限的,它只是CPU中的一个模块,我观察它单独能跑到1x-2x瓦的水平。

image.png
生成式AI,在当前的Intel平台笔记本上主要还是用iGPU来跑

3.Intel固定把系统内存的一半分配给iGPU用于动态显存。实际上当你的输入长度增加,比如本次测试的1024 input,都会看到KV Cache开销明显增大。我觉得至少要考虑留给集显8GB的内存——此时LLM模型还会占用常规内存,所以我用16GB在没跑别的程序时也是不够的。就像人们说的那样,AI PC要32GB内存起步了。如果您还想尝试下需要16GB以上显存的模型,配更大内存的笔记本吧。

4.无论OpenVINO还是IPEX,我想短时间都无法与深耕多年的CUDA生态相比。但凡是支持Intel Arc集显的LLM大模型,同时就应该能向前兼容12、13代笔记本CPU的Xe显卡。虽然慢一点但能跑起来——而且比单纯CPU跑要快,这样也能增加软件应用适配的硬件范围。Intel集显笔记本的保有量大家心里都有数吧?

5.与近期高通PC处理器的45 TOPS NPU相比,Intel和AMD 10 TOPS左右的NPU只能说是先临时应付下吧。但我觉得跑大模型用iGPU也没啥不好。高通当前的算力固然领先,但除了能看到的微软支持之外,软件开发环境,以及ARM生态建设的能力还有待观察。不只是AI,还有更多传统x86应用的兼容性等。

image.png
为了适应当前的NPU算力,能否像微软这样搞Phi3 0.5B一类的“较小模型”呢?

欢迎大家给出更多意见建议!未尽之处,留到下次有机会再聊:)

参考信息

https://www.intel.cn/content/dam/develop/public/us/en/documents/openvino-toolkit-llms-solution-white-paper.pdf

作者:唐僧 huangliang
原文:企业存储技术

推荐阅读

欢迎关注企业存储技术极术专栏,欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。
推荐阅读
关注数
5579
内容数
248
关注存储、服务器、图形工作站、AI硬件等方面技术。WeChat:490834312
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息