热点
手机体验师:三星Z Flip7 FE何时入手最划算?,reasoning_content:我们要求以手机体验师的口吻,写一个关于三星Galaxy Z Flip7 FE最佳入手时机全解析的标题需要简短精炼,30字以内直接输出标题,不要加说明nn注意:标题要体现手机体验师的口吻,可能用第一人称或专家的语气例如:手机体验师教你:三星Z Flip7 FE何时入手最划算? 但字数要控制最好更简洁nn可能的三星Z Flip7 FE最佳入手时机,手机体验师详解 但字数超了?数一下:三星Z Flip7 FE最佳入手时机,手机体验师详解 – 共16个字?中文:三星Z Flip7 FE最佳入手时机,手机体验师详解 – 实际字符:三、星、Z、空、格、F、l、i、p、7、空、格、F、E、最、佳、入、手、时、机、,、手、机、体、验、师、详、解 – 共28个字符?注意:中文标点算一个,空格算一个但通常标题中空格可以省略或者用英文的Z Flip7 FE中间空格?最好简洁nn更简洁:手机体验师:三星Z Flip7 FE何时入手最佳? 字数:手机体验师:三星Z Flip7 FE何时入手最佳? – 共16个汉字+英文?数:手、机、体、验、师、:、三、星、Z、空、F、l、i、p、7、空、F、E、何、时、入、手、最、佳、? – 25个字符,可以但Z Flip7 FE中空格可以去掉?通常写法为Z Flip7 FE 或 Galaxy Z Flip7 FE?标题中写三星Galaxy Z Flip7 FE太长可以简化为三星Z Flip7 FEnn但原要求是三星Galaxy Z Flip7 FE,但标题可以省略Galaxy?三星Galaxy Z Flip7 FE共11个汉字+英文?我们尽量完整目标30字以内,完全可以用全称例如:三星Galaxy Z Flip7 FE最佳入手时机全解析 – 共16个字?数一下:三、星、G、a、l、a、x、y、空格、Z、空格、F、l、i、p、7、空格、F、E、最、佳、入、手、时、机、全、解、析 – 28个字符,稍微超了一点?注意:中文汉字每个占一个字符,英文字母和空格也占一个28个字符,但通常标题字数指汉字数量?不严格但为了保险,可以更精简nn或者:手机体验师解析三星Z Flip7 FE最佳入手时机 – 汉字+英文:手机体验师解析三星Z Flip7 FE最佳入手时机 – 共18个汉字?数:手、机、体、验、师、解、析、三、星、Z、空、F、l、i、p、7、空、F、E、最、佳、入、手、时、机 – 24个字符,可以但缺了全解析?或者直接用最佳入手时机解析nn考虑到要体现手机体验师的口吻,最好以第一人称或专家身份例如:手机体验师:三星Z Flip7 FE何时入手最划算? 这个很简洁或者手机体验师教你选三星Z Flip7 FE入手时机 但字数nn最终决定:用手机体验师:三星Galaxy Z Flip7 FE最佳入手时机 但少了全解析?可以加解析二字但字数可能超我们严格数一下:手机体验师:三星Galaxy Z Flip7 FE最佳入手时机全解析 – 共:手机体验师:三星Galaxy Z Flip7 FE最佳入手时机全解析 – 汉字:手、机、体、验、师、:、三、星、G、a、l、a、x、y、空、Z、空、F、l、i、p、7、空、F、E、最、佳、入、手、时、机、全、解、析 – 共34个字符,超了30字所以需要精简nn去掉Galaxy:手机体验师:三星Z Flip7 FE最佳入手时机全解析 – 汉字:手、机、体、验、师、:、三、星、Z、空、F、l、i、p、7、空、F、E、最、佳、入、手、时、机、全、解、析 – 共27个字符,可以注意:冒号算一个,空格算两个(Z后面和7后面各一个?Z Flip7 FE中,通常Z后面有空格,Flip7后面有空格,FE前面有空格?实际上标准写法是Z Flip7 FE,三个单词之间有两个空格但也可以写为Z Flip7 FE 或 Z Flip7 FE 我们数一下:Z空格F l i p 7空格F E – 实际上Z后空格,Flip7是一个整体?Flip7没有空格?通常Flip7是连写,但一般写作Flip 7?这里明确是Z Flip7 FE,Flip7可能是一个词?为了准确,我们按原要求Z Flip7 FE中有空格:Z空格Flip7空格FE?但原题是Z Flip7 FE,我理解为Z,空格,Flip7,空格,FE但Flip7本身没有空格,所以总共两个空格那么字符数:Z(1),空格(1),F(1),l(1),i(1),p(1),7(1),空格(1),F(1),E(1) – 共10个英文字符+2个空格=12个加上前面的汉字手机体验师:三星共7个汉字(手、机、体、验、师、:、三、星)共8个?注意:冒号是中文标点,算一个字符所以汉字部分:手机体验师:三星 – 7个字符(手、机、体、验、师、:、三、星)?实际上手机体验师是4个字,冒号1个,三星2个字,共7个汉字/标点然后英文12个,再加上最佳入手时机全解析共8个汉字(最、佳、入、手、时、机、全、解、析)共9个?全解析是3个字,加上最佳入手时机是5个字,共8个字?不对:最佳入手时机全解析 – 最佳(2)、入手(2)、时机(2)、全(1)、解析(2) 共9个汉字所以总汉字/标点:7+9=16个,英文12个,总28个字符,在30以内可以nn但为了更简洁,也可以去掉全,直接最佳入手时机解析也是8个字?最佳入手时机解析是7个字(最佳2、入手2、时机2、解析2)共8?不对,解析是2个字,共2+2+2+2=8加上前面的7+8=15,英文12=27,也可以或者用最佳入手时机详解nn另一个想法:直接以手机体验师开头,用问句形式手机体验师:三星Z Flip7 FE何时入手最划算? – 字符数:手机体验师:三星Z Flip7 FE何时入手最划算? – 汉字:手、机、体、验、师、:、三、星、何、时、入、手、最、划、算、? – 共16个汉字+标点,英文12个,共28个,合适这个更口语化,符合手机体验师的口吻nn我选择这个
14 9 月 2026, 周一

开源加速Transformer推理的工具!腾讯的第100个开源项目

副标题#e#

开源加速Transformer推理的工具!腾讯的第100个开源项目

智东西(公众号:zhidxcom)
文 | 心缘

智东西4月25日消息,昨日,腾讯宣布开源推理加速工具TurboTransformers。

就像增压器(Turbo)能给汽车发动机引擎带来更强劲的功率,TurboTransformers能为众多自然语言处理(NLP)线上应用更充分地挖掘底层硬件的算力,带给Transformer推理引擎更强的性能表现。

该工具面向Transformer相关模型丰富的线上预测场景,在微信、腾讯云、QQ看点等产品的线上服务中已经广泛应用,这也是腾讯通过Github对外开源的100个项目

一、NLP线上推理极致的性能

以BERT为代表的Transformer神经网络是近年来自然语言处理(NLP)领域最重要的模型创新,阅读理解、文章摘要、语义分类、同义改写等NLP任务,都通过采用BERT获得显著的效果提升。

但在提高模型精度的同时,Transformer相关模型也带来了更多的计算量。

开源加速Transformer推理的工具!腾讯的第100个开源项目

由于深度学习的训练和推理任务存在差异,训练框架直接应用于线上推理并不能得到极致的性能。许多算法工程师都遇到了训练的模型效果很好,但因为响应延迟不满足要求,导致模型无法上线的问题。

一些工作尝试根据输入尺寸预先对计算图进行预处理和优化,以获得更好的推理时性能。但不同于输入常常没有变化的图像处理任务,NLP任务输入尺寸多个维度存在变化。实际推理时通过补零或截断成整理成固定的输入尺寸,这样引入了额外补零计算开销,预处理优化的方案对NLP任务并不适用。

随着BERT在互联网公司逐渐得到广泛应用,需要一个能充分发挥CPU/GPU硬件计算能力的Transformer推理方法。在这一背景下,腾讯微信开源了名为TurboTransformers的Transformer推理加速工具。

TurboTransformers的诞生源于腾讯内部对开源协同的推动。

2019年初,腾讯技术委员会成立,下设开源协同、自研上云两个项目组和对外开源管理办公室,以此来促进内部代码的开放共享和协同共建。

TurboTransformers来自于深度学习自然语言处理基础平台TencentNLP Oteam,作为基础性技术版块,率先进行了开源协同的实践,旨在搭建统一的深度学习NLP基础平台、提升研发效能。在内部对技术反复打磨的基础上,该项目进一步对外开源。

二、性能超过主流优化引擎

TurboTransformers能让Transformer推理引擎性能更强劲,具体而言,有高速、实用、简单三个特点。

1CPU/GPU性能表现优异:面向Intel多核CPU和NVIDIA GPU硬件平台,通过核心融合和并行算法优化,充发挥硬件的各层级并行计算的能力,在多种CPU和GPU硬件上获得了超过PyTorch/TensorFlow和目前主流优化引擎(如onnxruntime-mkldnn/onnxruntime-gpu, torch JIT, NVIDIA faster transformers)的性能表现。

2、为NLP推理任务特点量身定制:可支持变长输入序列处理,无需序列补零、截断或者分桶带来的无用计算,也无需任何针对计算图在推理前的预处理过程。

3、使用方式简单:支持python和C++接口进行调用。支持TensorFlow和PyTorch预训练模型的载入,可作为huggingface/transformers的推理加速插件,通过加入几行python代码获得的BERT模型的端对端加速效果。

此前TurboTransformers已应用在腾讯内部多个线上BERT服务服务场景。其中微信常用问题回复服务获得1.88x加速,公有云情感分析服务获得2.11x加速,QQ看点推荐服务获得13.6x加速。

和其他相关工具对比,TurboTransformers在性能、使用方式上都具备优势。

开源加速Transformer推理的工具!腾讯的第100个开源项目

三、技术创新的三个方向

为了让NLP相关算法更好地服务于用户,TurboTransformers在算子优化、框架优化和接口部署方式简化三个方面做了工作。

开源加速Transformer推理的工具!腾讯的第100个开源项目

▲TurboTransformers的软件架构

1、算子层优化

如下图所示,图(a)展示了论文Transformer结构示意图,这里称灰色方框内的结构为“一个Transformer Cell”,BERT encoder堆叠了Nx个这样的Cell。图(b)将一个Cell的细节加以展开,每一个矩形都是一个独立的计算核心。

开源加速Transformer推理的工具!腾讯的第100个开源项目

Transformer Cell计算包含了8个通用矩阵乘法(GEMM)运算,通过调优Intel MKL和cuBLAS的GEMM调用方式来获得最佳GEMM性能。调整了预训练矩阵存储方式,并在硬件允许条件下,在GPU上使用tensor core方式进行GEMM运算。

类似NVIDIA FasterTransformers方案,将所有GEMM运算之间的计算融合成一个调用核心。融合有两个好处,一是减少了内存访问开销,二是减少多线程启动开销。

对于这些核心,在CPU上采用openmp进行并行,在GPU上使用CUDA进行优化实现。

对于比较复杂的LayerNorm和Softmax算子,它们包含了不适合GPU上并行的规约操作,TurboTransformers为它们设计了创新并行算法,极大降低了这些算子的延迟。理论上Transformers推理延迟应该近似于矩阵乘法延迟。

2、框架层优化

#p#副标题#e#

TurboTransformers采用了一个有效的内存管理方式。由于NLP的采用变长输入特性,每次运算中间结果的大小其实并不相同。为了避免每次都分配释放内存,该工具的开发团队通过Caching方式管理显存。

#p#副标题#e##p#分页标题#e#

TurboTransformers提供了一些脚本,可以将PyTorch/TensorFlow的预训练模型转化为npz格式,供TurboTransformers读入,从而无缝支持PyTorch/TensorFlow训练好的序列化模型,还考虑到pytorch huggingface/transformers是目前最流行的transformers训练方法,支持直接读入huggingface/transformers预训练模型。

3、应用部署

TurboTransformers提供了C++和Python调用接口。可以嵌入到C++多线程后台服务流程中,也可以加入到pytorch服务流程中。

开发团队建议TurboTransformers通过docker部署,一方面保证了编译的可移植性,另一方面也可以无缝应用于K8S等线上部署平台。

开源加速Transformer推理的工具!腾讯的第100个开源项目

▲在NVIDIA V100 GPU上的性能测试结果

据悉,目前TurboTransformers的功能还相对有限,未来腾讯还会进一步对其优化,在开源后,TurboTransformers也期待与社区和开发者一起共建。

当前TurboTransformers只支持了FP32的计算,重点支持了BERT模型,解决了计算加速问题但还需用户自行搭建服务框架。未来该项目团队计划支持GPU FP16,并将增加该工具自动化优化的能力,还将开源服务流程,打通用户上线的最后一站。

结语:以开源撬动技术创新

“腾讯希望在科研领域投入更多力量,把科技向善纳入公司新的使命与愿景。我们将通过内外部开放源代码等方式,积极参与全球科技共同体的共建。”在2019年智博会上,腾讯公司董事会主席兼首席执行官马化腾表达了腾讯对开源的重视。

随着技术能力地持续累积,以及以开源为代表的腾讯新代码文化的兴起,腾讯在开源领域表现亮眼:在全球最大的代码托管平台 Github 上,腾讯已经累计开源了100个项目,覆盖云原生、大数据、AI、安全、硬件等多个热门的技术方向,并累计获得了超过29万Star数,跻身国际上有影响力的开源企业之一。

在2020年,腾讯陆续推出了针对云的场景研发的Linux 操作系统TencentOS Server、视频评估算法DVQA等多个开源项目,同时也积极用科技力量助力全球抗击疫情,3月27日,腾讯健康新冠疫情模块国际版(TH_COVID19_International)、“新冠肺炎AI自查助手” (COVID-19 self-triage assistant)也接连开源,向全球开放科技能力。

正如腾讯高级执行副总裁、云与智慧产业事业群总裁汤道生所言:“开源不再是开发者的个人热情,它已成为许多技术驱动型产业背后重要的创新推动力。”全面拥抱开源的腾讯,在打破内部技术壁垒的同时,也在推动IT行业更快地创新发展和走向未来。

dawei

【声明】:92手机网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

您错过了

手机体验师:三星Z Flip7 FE何时入手最划算?,reasoning_content:我们要求以手机体验师的口吻,写一个关于三星Galaxy Z Flip7 FE最佳入手时机全解析的标题需要简短精炼,30字以内直接输出标题,不要加说明nn注意:标题要体现手机体验师的口吻,可能用第一人称或专家的语气例如:手机体验师教你:三星Z Flip7 FE何时入手最划算? 但字数要控制最好更简洁nn可能的三星Z Flip7 FE最佳入手时机,手机体验师详解 但字数超了?数一下:三星Z Flip7 FE最佳入手时机,手机体验师详解 – 共16个字?中文:三星Z Flip7 FE最佳入手时机,手机体验师详解 – 实际字符:三、星、Z、空、格、F、l、i、p、7、空、格、F、E、最、佳、入、手、时、机、,、手、机、体、验、师、详、解 – 共28个字符?注意:中文标点算一个,空格算一个但通常标题中空格可以省略或者用英文的Z Flip7 FE中间空格?最好简洁nn更简洁:手机体验师:三星Z Flip7 FE何时入手最佳? 字数:手机体验师:三星Z Flip7 FE何时入手最佳? – 共16个汉字+英文?数:手、机、体、验、师、:、三、星、Z、空、F、l、i、p、7、空、F、E、何、时、入、手、最、佳、? – 25个字符,可以但Z Flip7 FE中空格可以去掉?通常写法为Z Flip7 FE 或 Galaxy Z Flip7 FE?标题中写三星Galaxy Z Flip7 FE太长可以简化为三星Z Flip7 FEnn但原要求是三星Galaxy Z Flip7 FE,但标题可以省略Galaxy?三星Galaxy Z Flip7 FE共11个汉字+英文?我们尽量完整目标30字以内,完全可以用全称例如:三星Galaxy Z Flip7 FE最佳入手时机全解析 – 共16个字?数一下:三、星、G、a、l、a、x、y、空格、Z、空格、F、l、i、p、7、空格、F、E、最、佳、入、手、时、机、全、解、析 – 28个字符,稍微超了一点?注意:中文汉字每个占一个字符,英文字母和空格也占一个28个字符,但通常标题字数指汉字数量?不严格但为了保险,可以更精简nn或者:手机体验师解析三星Z Flip7 FE最佳入手时机 – 汉字+英文:手机体验师解析三星Z Flip7 FE最佳入手时机 – 共18个汉字?数:手、机、体、验、师、解、析、三、星、Z、空、F、l、i、p、7、空、F、E、最、佳、入、手、时、机 – 24个字符,可以但缺了全解析?或者直接用最佳入手时机解析nn考虑到要体现手机体验师的口吻,最好以第一人称或专家身份例如:手机体验师:三星Z Flip7 FE何时入手最划算? 这个很简洁或者手机体验师教你选三星Z Flip7 FE入手时机 但字数nn最终决定:用手机体验师:三星Galaxy Z Flip7 FE最佳入手时机 但少了全解析?可以加解析二字但字数可能超我们严格数一下:手机体验师:三星Galaxy Z Flip7 FE最佳入手时机全解析 – 共:手机体验师:三星Galaxy Z Flip7 FE最佳入手时机全解析 – 汉字:手、机、体、验、师、:、三、星、G、a、l、a、x、y、空、Z、空、F、l、i、p、7、空、F、E、最、佳、入、手、时、机、全、解、析 – 共34个字符,超了30字所以需要精简nn去掉Galaxy:手机体验师:三星Z Flip7 FE最佳入手时机全解析 – 汉字:手、机、体、验、师、:、三、星、Z、空、F、l、i、p、7、空、F、E、最、佳、入、手、时、机、全、解、析 – 共27个字符,可以注意:冒号算一个,空格算两个(Z后面和7后面各一个?Z Flip7 FE中,通常Z后面有空格,Flip7后面有空格,FE前面有空格?实际上标准写法是Z Flip7 FE,三个单词之间有两个空格但也可以写为Z Flip7 FE 或 Z Flip7 FE 我们数一下:Z空格F l i p 7空格F E – 实际上Z后空格,Flip7是一个整体?Flip7没有空格?通常Flip7是连写,但一般写作Flip 7?这里明确是Z Flip7 FE,Flip7可能是一个词?为了准确,我们按原要求Z Flip7 FE中有空格:Z空格Flip7空格FE?但原题是Z Flip7 FE,我理解为Z,空格,Flip7,空格,FE但Flip7本身没有空格,所以总共两个空格那么字符数:Z(1),空格(1),F(1),l(1),i(1),p(1),7(1),空格(1),F(1),E(1) – 共10个英文字符+2个空格=12个加上前面的汉字手机体验师:三星共7个汉字(手、机、体、验、师、:、三、星)共8个?注意:冒号是中文标点,算一个字符所以汉字部分:手机体验师:三星 – 7个字符(手、机、体、验、师、:、三、星)?实际上手机体验师是4个字,冒号1个,三星2个字,共7个汉字/标点然后英文12个,再加上最佳入手时机全解析共8个汉字(最、佳、入、手、时、机、全、解、析)共9个?全解析是3个字,加上最佳入手时机是5个字,共8个字?不对:最佳入手时机全解析 – 最佳(2)、入手(2)、时机(2)、全(1)、解析(2) 共9个汉字所以总汉字/标点:7+9=16个,英文12个,总28个字符,在30以内可以nn但为了更简洁,也可以去掉全,直接最佳入手时机解析也是8个字?最佳入手时机解析是7个字(最佳2、入手2、时机2、解析2)共8?不对,解析是2个字,共2+2+2+2=8加上前面的7+8=15,英文12=27,也可以或者用最佳入手时机详解nn另一个想法:直接以手机体验师开头,用问句形式手机体验师:三星Z Flip7 FE何时入手最划算? – 字符数:手机体验师:三星Z Flip7 FE何时入手最划算? – 汉字:手、机、体、验、师、:、三、星、何、时、入、手、最、划、算、? – 共16个汉字+标点,英文12个,共28个,合适这个更口语化,符合手机体验师的口吻nn我选择这个