最新要闻
- 当前最新:《狂飙》取景地拍照收费摊主已搬离:没给续签合同
- 环球速看:索尼A7M4将发布2.0固件 或下放部分索尼A7R5功能
- 80%的人出错了 你的数码相机用对了吗?
- 全球热讯:爱奇艺奇迹一般的赚钱了!但是 就这它也好意思?
- 快看点丨AMD Zen4锐龙9 7945HX大放异彩!16核心打平Intel 24核心
- 世界今头条!长色斑的原因有哪些_脸上为什么会长色斑
- 环球观焦点:AMD发布23.2.2版驱动:RX 7900显卡小打鸡血 性能提升14%
- 天天最新:大理州5个新能源装备制造项目投产
- 深圳一外卖小哥疑送餐时猝死:曾拼命跑上六楼
- 环球热头条丨向上捅破天 吉利银河支持低轨卫星技术:全球无盲区定位
- 13代酷睿i9+满血4060显卡!华硕天选4正式开售 到手价8999元
- 当前短讯!造车新势力 电动自行车品牌“VELOTRIC”A轮融资:获5000万元
- 中疾控提醒:近期水痘处于高发期 要注意做好防护!
- 13代酷睿+RTX 4060!七彩虹将星X16 Pro图赏
- 19999元起 雷蛇推出2023款灵刃15游戏本:i7+RTX 4060
- 股价大涨7% 阿里发布Q3财报:营收2477.6亿 利润超456亿
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
全球快看:CPU推理|使用英特尔 Sapphire Rapids 加速 PyTorch Transformers
在 最近的一篇文章 中,我们介绍了代号为 Sapphire Rapids 的第四代英特尔至强 CPU 及其新的先进矩阵扩展 (AMX) 指令集。通过使用 Amazon EC2 上的 Sapphire Rapids 服务器集群并结合相应的英特尔优化库,如 英特尔 PyTorch 扩展 (IPEX),我们展示了如何使用 CPU 进行高效的分布式大规模训练,与上一代至强 (Ice Lake) 相比,Sapphire Rapids 实现了 8 倍的加速,取得了近线性的扩展比。
本文我们将重点关注推理。使用基于 PyTorch 的 Hugging Face transformers 模型,我们首先在 Ice Lake 服务器上分别测量它们在长、短两种文本序列上的性能。然后,我们在 Sapphire Rapids 服务器和最新版本的 Hugging Face Optimum Intel 上执行相同的测试,并比较两代 CPU 的性能。这里,Optimum Intel 是一个专用于英特尔平台的硬件加速开源库。
(相关资料图)
让我们开始吧!
为什么你应该考虑使用 CPU 推理
在决定使用 CPU 还是 GPU 进行深度学习推理时需要考虑多个因素。最重要的当然是模型的大小。一般来说,较大的模型能更多地受益于 GPU 提供的强大算力,而较小的模型可以在 CPU 上高效运行。
另一个需要考虑的因素是模型和推理任务本身的并行度。GPU 为大规模并行处理而设计,因此它们可能对那些可以高度并行化的任务更高效。而另一方面,如果模型或推理任务并没有特别高的并行度,CPU 可能是更有效的选择。
成本也是一个需要考虑的重要因素。GPU 可能很昂贵,而使用 CPU 可能是一种性价比更高的选择,尤其是在业务应用并不需要极低延迟的情况下。此外,如果你需要能够轻松扩缩推理实例的数量,或者如果你需要能够在各种平台上进行推理,使用 CPU 可能是更灵活的选择。
现在,让我们开始配置我们的测试服务器。
配置我们的测试服务器
和上一篇文章一样,我们将使用 Amazon EC2 实例:
- 一个基于 Ice Lake 架构
c6i.16xlarge
实例, - 一个基于 Sapphire Rapids 架构的
r7iz.16xlarge-metal
实例。你可以在 AWS 网站上获取有关新 r7iz 系列的更多信息。
两个实例都有 32 个物理核 (因此有 64 个 vCPU)。我们将用相同的方式来设置它们:
- Ubuntu 22.04 和 Linux 5.15.0 (
ami-0574da719dca65348
), - PyTorch 1.13 与 IPEX (Intel Extension for PyTorch) 1.13,
- Transformers 4.25.1。
唯一的区别是在 r7iz 实例上我们多装一个 Optimum Intel 库。
以下是设置步骤。像往常一样,我们建议使用虚拟环境来保证环境纯净。
sudo apt-get update# 安装 libtcmalloc,获取更好性能sudo apt install libgoogle-perftools-dev -yexport LD_PRELOAD="/usr/lib/x86_64-linux-gnu/libtcmalloc.so"sudo apt-get install python3-pip -ypip install pip --upgradeexport PATH=/home/ubuntu/.local/bin:$PATHpip install virtualenvvirtualenv inference_envsource inference_env/bin/activatepip3 install torch==1.13.0 -f https://download.pytorch.org/whl/cpupip3 install intel_extension_for_pytorch==1.13.0 -f https://developer.intel.com/ipex-whl-stable-cpupip3 install transformers# 仅需在 r7iz 实例上安装pip3 install optimum [intel]
在两个实例上完成上述步骤后,我们就可以开始运行测试了。
对流行的 NLP 模型进行基准测试
在这个例子中,我们将在文本分类任务上对几个 NLP 模型进行基准测试: distilbert-base-uncased, bert-base-uncased 和 roberta-base。你可以在 Github 上找到 完整脚本。当然,你也可以用你自己的模型随意尝试!
models = ["distilbert-base-uncased", "bert-base-uncased", "roberta-base"]
我们使用序列长度分别为 16 和 128 的两种句子来测试,同时我们也将在这两种句子上分别测量单句推理和批量推理的平均预测延迟和 p99 预测延迟。该测试方案模拟了真实场景,因此可以较好地近似在真实场景中的预期加速比。
sentence_short = "This is a really nice pair of shoes, I am completely satisfied with my purchase"sentence_short_array = [sentence_short] * 8sentence_long = "These Adidas Lite Racer shoes hit a nice sweet spot for comfort shoes. Despite being a little snug in the toe box, these are very comfortable to wear and provide nice support while wearing. I would stop short of saying they are good running shoes or cross-trainers because they simply lack the ankle and arch support most would desire in those type of shoes and the treads wear fairly quickly, but they are definitely comfortable. I actually walked around Disney World all day in these without issue if that is any reference. Bottom line, I use these as the shoes they are best; versatile, inexpensive, and comfortable, without expecting the performance of a high-end athletic sneaker or expecting the comfort of my favorite pair of slippers."sentence_long_array = [sentence_long] * 8
基准测试功能非常简单。在几次预热迭代后,我们使用 pipeline
API 运行 1000 次预测,把预测时间存下来,并计算它们的均值和 p99 值。
import timeimport numpy as npdef benchmark (pipeline, data, iterations=1000): # 预热 100 次 for i in range (100): result = pipeline (data) times = [] for i in range (iterations): tick = time.time () result = pipeline (data) tock = time.time () times.append (tock - tick) return "{:.2f}".format (np.mean (times) * 1000), "{:.2f}".format ( np.percentile (times, 99) * 1000 )
在 c6i (Ice Lake) 实例上,我们只使用普通的 Transformers pipeline
。
from transformers import pipelinefor model in models: print (f"Benchmarking {model}") pipe = pipeline ("sentiment-analysis", model=model) result = benchmark (pipe, sentence_short) print (f"Transformers pipeline, short sentence: {result}") result = benchmark (pipe, sentence_long) print (f"Transformers pipeline, long sentence: {result}") result = benchmark (pipe, sentence_short_array) print (f"Transformers pipeline, short sentence array: {result}") result = benchmark (pipe, sentence_long_array) print (f"Transformers pipeline, long sentence array: {result}")
在 r7iz (Sapphire Rapids) 实例上,我们同时使用普通 pipeline
和 Optimum pipeline
。在 Optimum pipeline
中,我们启用 bfloat16
模式以利用到 AMX 指令,并将 jit
设置为 True
以使用即时编译进一步优化模型。
import torchfrom optimum.intel import inference_modewith inference_mode (pipe, dtype=torch.bfloat16, jit=True) as opt_pipe: result = benchmark (opt_pipe, sentence_short) print (f"Optimum pipeline, short sentence: {result}") result = benchmark (opt_pipe, sentence_long) print (f"Optimum pipeline, long sentence: {result}") result = benchmark (opt_pipe, sentence_short_array) print (f"Optimum pipeline, short sentence array: {result}") result = benchmark (opt_pipe, sentence_long_array) print (f"Optimum pipeline, long sentence array: {result}")
为简洁起见,我们先看下 distilbert-base-uncased 的 p99 结果。你可以在文章末尾找到所有测例的完整结果。
如上图所示,与上一代至强 CPU 相比,Sapphire Rapids 上单个句子的预测延迟加速了 60-65%。也就是说,由于结合了英特尔 Sapphire Rapids 平台以及 Hugging Face Optimum 的优化,你只需对代码进行很少改动就可将预测速度提高 3 倍。
这让我们即使在长文本序列上也可以达到 个位数的预测延迟。在 Sapphire Rapids 之前,这样的性能只有通过 GPU 才能实现。
结论
第四代英特尔至强 CPU 提供了出色的推理性能,尤其是在与 Hugging Face Optimum 结合使用时。这是深度学习在更易得和更具成本效益的道路上的又一个进步,我们期待与英特尔的朋友们在这条道路上继续合作。
以下是一些可帮助你入门的其他资源:
- 英特尔 IPEX GitHub
- Hugging Face Optimum GitHub
如果你有任何问题或反馈,我们很乐意在 Hugging Face 论坛 上与你交流。
感谢阅读!
附录: 完整结果
基准测试软件环境:
- Ubuntu 22.04 with libtcmalloc
- Linux 5.15.0 patched for Intel AMX support
- PyTorch 1.13 with Intel Extension for PyTorch
- Transformers 4.25.1
- Optimum 1.6.1
- Optimum Intel 1.7.0.dev0
英文原文: https://hf.co/blog/intel-sapphire-rapids-inference
译者: Matrix Yao (姚伟峰),英特尔深度学习工程师,工作方向为 transformer-family 模型在各模态数据上的应用及大规模模型的训练推理。
审校、排版: zhongdongy (阿东)
-
全球快看:CPU推理|使用英特尔 Sapphire Rapids 加速 PyTorch Transformers
在最近的一篇文章中,我们介绍了代号为SapphireRapids的第四代英特尔至强CPU及其新的先进矩阵扩展(AMX)...
来源: 全球快看:CPU推理|使用英特尔 Sapphire Rapids 加速 PyTorch Transformers
世界视点!死锁面试题
18、实体类对象比对-JSON
产品经理,项目经理,FTO
当前最新:《狂飙》取景地拍照收费摊主已搬离:没给续签合同
环球速看:索尼A7M4将发布2.0固件 或下放部分索尼A7R5功能
80%的人出错了 你的数码相机用对了吗?
全球热讯:爱奇艺奇迹一般的赚钱了!但是 就这它也好意思?
快看点丨AMD Zen4锐龙9 7945HX大放异彩!16核心打平Intel 24核心
世界今头条!长色斑的原因有哪些_脸上为什么会长色斑
热门:007 - 研究
每日信息:47.多态
第二章 物理层
day02-自己实现Mybatis底层机制-01
世界快资讯:CSS背景设置与Emmet语法
环球观焦点:AMD发布23.2.2版驱动:RX 7900显卡小打鸡血 性能提升14%
天天最新:大理州5个新能源装备制造项目投产
深圳一外卖小哥疑送餐时猝死:曾拼命跑上六楼
环球热头条丨向上捅破天 吉利银河支持低轨卫星技术:全球无盲区定位
13代酷睿i9+满血4060显卡!华硕天选4正式开售 到手价8999元
当前短讯!造车新势力 电动自行车品牌“VELOTRIC”A轮融资:获5000万元
中疾控提醒:近期水痘处于高发期 要注意做好防护!
13代酷睿+RTX 4060!七彩虹将星X16 Pro图赏
19999元起 雷蛇推出2023款灵刃15游戏本:i7+RTX 4060
股价大涨7% 阿里发布Q3财报:营收2477.6亿 利润超456亿
全球快报:第八章 从源文件到可执行文件
天天通讯!《黑豹》《蚁人》皆扑街 漫威超级英雄为何在国内失宠?
男子一脚急刹车醒来直接四肢瘫痪 医生提醒:车祸受伤后别随意拖拽
焦点快看:系列首次支持:三星Galaxy Tab S9平板终于支持IP67防水
每日热文:三星S23首销:仅重168g的骁龙8 Gen2旗舰 屏幕比小米13更小
涨价2000只是开胃菜!销售:特斯拉还要涨价
全球今热点:电工化身“Tony”,为留守老人解决“头”等大事
环球聚焦:邓超谈《中国乒乓》排片少:大家的不容易我非常理解
今亮点!摩根大通已限制员工使用ChatGPT:数据安全更重要
世界视讯!我国第三款国产ECMO产品获批上市:性能达到国际水平
全球即时:月薪4万招人去非洲养鸡当场长?企业回应:环境艰苦 不招年轻人
当前焦点!Windows 上 Docker 部署 MongoDb 并构建数据持久化
2022最新整理iOS app上架app详细教程
webrtc QOS笔记二 音频buffer数据不足生成很多gap的问题
当前最新:记录--前端项目中运行 npm run xxx 的时候发生了什么?
前沿资讯!科考中的意外收获!中国科学家在非洲发现消失百余年的濒危植物
天天速读:极氪001再遭奇葩故障:中控黑了、仪表花了、HUD“涂马赛克”
刚买两个月的谷歌Pixel 7 Pro翻车:绿屏无响应 用户绝望了
世界今头条!《和平精英》将推出开放世界玩法“绿洲世界” 能发射火箭
焦点信息:连过三科!新疆小伙1天拿到驾驶证
今日热议:低代码选型,论协同开发的重要性
【JVM】运行时内存分配
opencv-python 批量更改图像分辨率并且保留图像原有的透明度
热点!数据库概念
世界滚动:k8s~ingress限流机制
全球即时看!方正证券研究报告:行到水穷处,坐看云起时
环球快资讯丨不怕零下40℃极寒!我国复兴号高寒智能动车组投入运行
天天播报:为防员工摸鱼办公桌旁装监控 员工:很无语、感觉没隐私
《王者荣耀》花木兰新皮肤明日上线:143元 美背歌姬
世界时讯:海底捞回应禁止自带菜:可自带酒水饮品
天天短讯!RTX 4090高画质如何?《原子之心》PC平台性能分析:多配置流畅运行
【世界热闻】单特征线性回归
全球实时:为什么说《ps1屠龙刀》是awk、sed的恩人?
天天最资讯丨C语言在线代码运行编译工具推荐
全球快播:联想首款GeekPro游戏本真机公布:1TB SSD 超高性价比
环球微头条丨我国研发人员总量稳居世界首位 顶尖科技人才加速涌现
跑着跑着天窗会掉 奔驰中国召回超2万辆汽车
68岁成龙18年后再拍《神话2》 定名《传说》 古力娜扎主演
观速讯丨外卖员穿工装禁入成都高端商场 成都SKP回应:内部规定
焦点日报:135期 手绘汽车壁纸|插画 卫士还是老款好看 路虎卫士无水印手机壁纸
每日快讯!手把手教你为基于Netty的IM生成自签名SSL/TLS证书
当前热门:《我想进大厂》之Spring夺命连环10问
《分布式技术原理与算法解析》学习笔记Day20
世界看点:数据治理如何做?火山引擎DataLeap帮助这款产品3个月降低计算成本20%
世界今头条!装饰器设计模式这样学,保你必懂!
当前速讯:手机端ChatGPT搜索来了!微软2周火速上线 @Bing即用
多辆房车霸占高速服务区露营:有车主搭帐篷还晒咸菜
魔兽等游戏停服一个月 暴雪真不着急:两家中国公司抢破头
P1219 [USACO1.5]八皇后 Checker Challenge
世界新资讯:Java单元测试浅析(JUnit+Mockito)
81python装饰器
环球聚焦:《龙之家族》第二季明年首播
环球播报:Nginx基础03:配置文件nginx.conf(Part2)
【独家焦点】Python工具箱系列(二十六)
有奖调研!第五期(2022-2023)传统行业云原生技术落地调研——金融篇
全球快资讯丨A/B 测试成为企业“新窗口”:增长盈利告别经验主义,数据科学才是未来
晨光文具批发总部电话_石家庄晨光办公用品有限公司
环球要闻:新款特斯拉Model 3实车谍照曝光:疑似加长、内饰大改
可口可乐风味饮品!柠檬道日式气泡酒大促:12罐不到30元
前沿资讯!《嗜血印》将推出女祭司1/4比例雕像 性感热辣吸睛
焦点快播:送礼新思路!淘宝公布2023年度丑东西:网红青蛙服入选“年度五丑”
天天快报!C# Socket 通信时,怎样判断 Socket 双方是否断开连接
易基因|ChIP-seq等组学研究鉴定出结直肠癌的致癌超级增强子:Nature子刊
报道:顶象APP加固的“蜜罐”技术有什么作用
为什么带NOLOCK的查询语句还会造成阻塞
全球今亮点!支付宝二面:使用 try-catch 捕获异常会影响性能吗?大部分人都会答错!
名山大川是什么意思?名山大川有哪些?
喜欢被剧透的人是什么心理?喜欢被剧透的人是什么倾向?
每日快报!58岁清华毕业找不到超5000元工作 网友:我不是清华的咋办
天天热门:爷青结!《DNF》端游正式更名《地下城与勇士:创新世纪》:图标、文字调整
全球即时:《原子之心》优化非常好 但Xbox Series S仍存掉帧问题
精致又简约!雷孜LaCie新棱镜移动硬盘评测:速度全程稳如初
小米13 Ultra手机壳曝光:中分四摄、凸起严重
戴拿奥特曼飞鸟信扮演者怎么了?戴拿奥特曼的结局是什么?
四要十不准是什么意思?四要十不准内容有哪些?