首页
学习
活动
专区
圈层
工具
发布
技术百科首页 >Transformer >Transformer 为什么能支持并行计算?

Transformer 为什么能支持并行计算?

词条归属:Transformer

1. 摆脱序列依赖

循环神经网络必须在时间步 t-1 完成后才能计算时间步 t,本质上是串行过程,难以充分利用 GPU 的并行能力。Transformer 用注意力替代循环状态,序列中所有位置可以在同一时刻并行计算表示,大幅提升训练效率。

2. 训练效率的提升

由于并行化能力增强,Transformer 可以在更大规模的数据集上以更低的时间成本完成训练。原始论文报告,模型在 8 块 P100 GPU 上训练约 3.5 天即可在 WMT 2014 英法翻译任务上取得 41.8 BLEU 的单模型最优结果,训练成本远低于同期基于循环网络的模型。

3. 扩展性的基础

并行计算能力使 Transformer 天然适配大规模分布式训练,为后续将模型参数扩展到数百亿乃至数千亿提供了工程前提。国内主流大模型如腾讯混元即基于 Transformer 架构,依托大规模并行训练实现能力扩展。

相关文章
Python 为什么能支持任意的真值判断?
Python 在涉及真值判断(Truth Value Testing)时,语法很简便。
Python猫
2020-08-13
1.5K0
.NET 3.5-4.0 并行计算的支持
在以往的计算机发展历史中,硬件技术的发展,特别是CPU频率的不断提高,总是给软件带来更强的性能提升。从386到586,从赛扬到奔腾,每次CPU频率的提升,都带来软件性能的大幅提升,而软件无需做任何变动。如果有客户抱怨你的软件性能不佳,我们无需着急,只需要升级到更高频率的CPU就可以了。当单核CPU的频率发展到3G之后,再往上发展就遇到了技术瓶颈,单核心CPU的发展已经到达一个极限,硬件厂商不得不转而向多核芯CPU发展,在一颗芯片中加入两个甚至多个运算核心,通过核心的增加,来提高芯片总的频率。当硬件通过增加运
张善友
2018-01-30
1.6K0
单线程的Redis为什么能支持10w+的QPS?
我们经常听到Redis是一个单线程程序。准确的说Redis是一个多线程程序,只不过请求处理的部分是用一个线程来实现的。
Java识堂
2021-03-11
3.5K0
Transformer 能代替图神经网络吗?
当Transformer模型发布时,它彻底革新了机器翻译领域。虽然最初是为特定任务设计的,但这种革命性的架构显示出它可以轻松适应不同的任务。随后成为了Transformer一个标准,甚至用于它最初设计之外的数据(如图像和其他序列数据)。
deephub
2024-07-01
6450
为什么我还是无法理解Transformer?Transformer到底是什么?
究其原因,是但凡讲到 Transformer,铺天盖地的资料上来就直奔自注意力机制(Self-Attention)的 Q、K、V 细节,只钻枝叶、不谈全局,只见树林,不见森林。
烟雨平生
2026-04-14
2130
点击加载更多
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
领券