深度学习 gpu 基准

我们不断为我们的工作培训语言模型。我们的团队使用数十种不同的视频卡来执行不同的任务:在某个地方我们需要强大的 DGX 站,在某个地方像 RTX 2080Ti 这样的旧游戏卡就足够了。选择最佳的 GPU 进行模型训练可以显着影响过程的速度和成本效益。

有趣的是,互联网上有很多文章对机器学习进行了 GPU 比较,但很少有人关注语言模型训练的速度。大多数情况下只能找到推理检验。H100新芯片发布时,英伟达的报告称,它在训练中比A100快了高达9倍,但对于我们的任务来说,新卡只比旧卡快了90%。 相比之下,我们的云提供商在这些 GPU 之间有 2 倍的价格差异,因此没有必要为了省钱而改用新的 H100。

除此之外,我们还测试了一个DGX站,该站由8张A100 80GB显卡组成,每月费用为1万美元。测试结束后,我们发现这个电台的性价比根本不适合我们,为了这笔钱,我们可以选择 66 x RTX 3090,总共会更有用。

我们的翻译语言模型有多达 5 亿个参数(平均 1 亿至 3 亿个)。如果我们大幅增加参数数量,DGX的性价比可能会更好。目前,我们不训练大型语言模型,这些模型可以同时在所有语言之间以所有变体进行翻译,而是为每个语言对使用单独的语言模型,例如。英语-德语。每个此类型号的功率为 120 至 300 Mb。

值得注意的是,不同的语言在互联网上拥有不同数量的数据。例如,对于西班牙语,您可以找到 5 亿个带有翻译的句子,但当训练藏语等稀有语言的模型时,您需要根据可用数据选择特定的 GPU 来执行机器学习任务。要创建从英语到西班牙语的翻译模型,我们使用具有 4 x RTX 4500 和 256GB RAM 的服务器。同时,藏语可以在16GB RAM的RTX 2080 Ti上训练,因为增加神经网络的复杂性并因此采用更强大的服务器和少量数据是没有意义的。

选择图形处理器和理论数据

使用 OpenNMT-tf 框架在我们的内部 Data Studio 平台上进行了语言模型培训。该阶段包括数据准备、模型训练以及模型与参考翻译的比较。在培训期间使用 FP16 而不是 FP32 使我们能够在不降低翻译质量的情况下显着减少语言模型的培训时间,但并非所有 GPU 都支持这一点。

选择图形处理器时,标准考虑处理能力(TFLOPS)、视频内存(VRAM)、GPU 基准结果、库和框架支持、预算和其他因素(显卡尺寸和外形尺寸、功率要求)等指标、冷却以及与系统的兼容性)。在训练文本生成模型时,您还应该记住,不同的语言会消耗不同的资源量。例如,1 个字节用于对拉丁语言的一个字符进行编码,2 个字节用于西里尔语言,3 个字节用于包含象形文字的语言。了解您的显卡将具有哪些特性会对学习过程的速度产生重大影响。

在根据所使用的 GPU 训练模型时,显卡根据使用时期分为两组:早期显卡用于首次测量学习速度,以及当前使用的显卡。这些显卡的主要特征分别见表1和表2。

表 1 - 以前使用的图形处理器及其技术参数
 

Number of GPUsGPUVRAM, GCUDAFP16,
TFLOPS
FP32,
TFLOPS
1Tesla V100-SXM2HBM2, 167.031.3316.31
2Tesla V100-SXM2HBM2, 327.031.3315.67
1RTX 4060 TiGDDR6, 88.922.0622.06
1Nvidia A40GDDR6, 488.637.4237.42
2Nvidia A40GDDR6, 968.637.4237.42
1Nvidia A100HBM2, 408.077.9719.49
1Nvidia A100HBM2, 808.077.9719.49
1Nvidia RTX A6000GDDR6, 488.638.7138.71
1Nvidia A10GDDR6, 248.631.2431.24
8Nvidia A10GDDR6, 1928.631.2431.24
1Nvidia H100HBM3, 809.0204.951.22


注释
1。CUDA大于7。0的情况下,使用FP16将提高训练速度,具体取决于CUDA版本和显卡本身的特性。
2锛姣涓涓。FP16与FP32性能比大于1比1的显卡规格,那么使用混合精度将保证提高规格规定的训练速度。例如,对于 Quadro RTX 6000,FP16 TFLOPS 值为 32。62 (2:1) 将使锻炼速度至少加快两倍(实践中为 2。4 倍)

表 2 - 目前使用的 GPU 模型及其主要特征
 

Number of GPUs in useGPUVRAM, GCUDAFP16,
TFLOPS
FP32,
TFLOPS
1Quadro RTX 6000GDDR6, 247.532.6216.31
2Quadro RTX 6000GDDR6, 487.532.6216.31
4Quadro RTX 6000GDDR6, 967.532.6216.31
2Nvidia TITAN RTXGDDR6, 487.532.6216.31
4Nvidia RTX A4500GDDR6, 968.623.6523.65
1Nvidia GeForce RTX 3090GDDR6X, 248.635.5835.58
1Nvidia GeForce RTX 3070GDDR6, 88.620.3120.31

* - FP16、TFLOPS 和 FP32、TFLOPS 的值取自每个 GPU 的规格

GPU 培训和测试过程

使用一组 18 个 GPU 训练模型。在神经网络训练的过程中,我们使用了大量的语言对(一百多种语言)。GPU 测试有助于确定哪些硬件在特定任务中表现最佳。在我们的语言对训练过程中,以以下神经网络参数为基础:
 

  • 词汇量 = 30 000
  • 数字= 768
  • 层= 6
  • 头= 16
  • 内部尺寸 = 4 096


首先,让我们根据表 1 来表征属于第一组的 GPU。1000步的近似速度和100000个单位的批量倍数训练模型所花费的时间(以分钟和秒为单位)作为比较指标的基础。

我们强调,对于第一组,速度测量是使用 的 对齐 机制和仅使用 FP32。如果不使用这种机制,某些服务器上的学习速度可能会快得多。

对齐机制允许匹配底座和翻译文本中的子字符串。当句子中的子字符串可能以不同的字体突出显示并且应该与突出显示一起翻译时,需要翻译格式化的文本,例如网页。

考虑到神经网络的上述参数,GPU Nvidia H100 以 22 分钟的学习时间显示了第一个表的最佳时间。, 中间时间由同一品牌geforce RTX 4060 Ti的GPU显示,学习时间为72分钟,最后一名由GPU Tesla V100-SXM 2显示,学习时间为140分钟。

GPU测试中还有8张学习曲线为20分28秒的英伟达A10卡,两张时间为56分钟的英伟达A40卡,以及两张计时86分钟的特斯拉V100-SXM卡。同时应用同一系列GPU的多张卡可以加快模型的训练过程,并与具有更高容量的GPU几乎同时显示,但这种技术在财务和程序上可能不够合理。学习速度测量的结果可以在表 3 中观察到。

表 3 - 先前使用的图形地图上的训练时间测量
 

Using the alignment mechanism
Effective batch size = 100 000
FP 32
Number of GPUs in useGPUApproximate speed (min. sec),
1,000 steps
Batch size in use
8Nvidia A1020,286 250
1Nvidia H1002225 000
1A100 (80 Gb)4025 000
1A100 (40 Gb)5615 000
2Nvidia A405612 500
1RTX A600068,2512 500
1GeForce RTX 4060 Ti724 167
1Nvidia A4082,0812 500
2Tesla V100-SXM864 167
1Nvidia A10104,505 000
1Tesla V100-SXM21404 167


接下来,我们对当前使用的图形油门踏板进行比较分析(表2)。对于这组图形处理器,使用速度测量进行 对齐 机制,以及使用 FP16 和 FP32。包括该机构和混合精度的速度测量将分别列于下表 4 和表 5 中。

因此,从该表中测量了GPU的速度后,我们可以说第一名是RTX A4500系列GPU,训练时间为31分钟,但需要强调的是,这样的训练模型速度是通过增加所用GPU的单位数量最多为4个。不管这个事实,上述GPU的训练速度会高得多,这将使其在决赛桌中排名倒数第二。

47分钟学习时间的Quadro RTX 6000系列GPU位居第二。应当注意的是,这样的训练速度由所使用的处理器的单元数量相反地调节,该处理器等于四个。仅使用一个这样的 GPU 会导致速度损失约 3。2 倍,因此约为 153 分钟,并将其放在最后位置。

第三行由TITAN RTX系列GPU以75分85秒的成绩拍摄。这种学习速度得分是由于使用了 2 个处理器,减少了模型的训练时间。

1台数量上训练速度上无可置疑的领先者,肯定会是时间78分26秒的GeForce RTX 3090系列GPU。GPU的单位数量增加,会加速模型训练速度,这显然会超越上述所有GPU模型。模型训练时间测量的数据见表4。

表 4 - 先前使用的 GPU 语言模型训练速度的比较分析
 

Using the alignment mechanism
Effective batch size = 100 000
FP 32
Number of GPUs in useGPUApproximate speed (min. sec),
1,000 steps
Batch size in use
4Nvidia RTX A4500315 000
4Quadro RTX 6000476 250
2Nvidia TITAN RTX75,856 250
1GeForce RTX 309078,266 250
2Quadro RTX 6000886 250
1GeForce RTX 3070104,172 000
1Quadro RTX 60001536 250


使用 FP16 进行以下训练速度测量。FP32相比,半精度允许减少模型训练期间消耗的内存量,并加速GPU上的计算。表示的准确性将低于使用 FP32。

使用上表中的 FP32 测量模型的训练时间,我们可以说神经网络的训练时间减少了近两倍。根据性能测量结果,我们可以从表4中的机器学习GPU基准中观察到GPU的位置基本保持不变。Quadro RTX 6000 系列卡从第五位上升到第六位,以 96 秒的优势击败了 GeForce RTX 3090 GPU。最终数字如表 5 所示。

表 5 - 先前使用的 GPU 语言模型训练速度的比较分析
 

Using the alignment mechanism
Effective batch size = 100 000
FP 16
Number of GPUs in useGPUApproximate speed (min. sec),
1,000 steps
Batch size in use
4Nvidia RTX A450015,8110 000
4Quadro RTX 600020,3412 500
2Nvidia TITAN RTX32,686 250
2Quadro RTX 600037,9310 000
1GeForce RTX 309038,8910 000
1GeForce RTX 307048,512 500
1Quadro RTX 600052,5610 000

常见问题解答(常见问题解答)

GPU值得买深度学习吗?

GPU购买用于深度学习可以显着提高训练速度和效率,这对于严肃的项目来说是一个值得的投资。然而,该决定应考虑预算、具体用例以及云解决方案是否更具成本效益等因素。

GPU 哪款最适合深度学习?

NVIDIA A100通常被认为是深度学习的首选,为大型型号提供卓越的性能和内存。对于注重预算的用户来说,NVIDIA RTX 3090 为有效的培训模型提供了强大的功能。

AMD还是英伟达更适合深度学习?

NVIDIA因其强大的软件生态系统,增强了性能以及与流行框架的兼容性,因此通常更倾向于深度学习。AMD GPU 改进的同时,在深度学习应用的优化和支持方面,它们仍然落后于 NVIDIA。

GPU 对 NLP 有帮助吗?

是的,GPU 通过高效处理并行计算,显着加速自然语言处理(NLP)中的神经网络训练。这种速度提升允许更快的实验和迭代,从而提高模型性能并减少训练时间。

更令人着迷的阅读等待着

什么是本地语音识别?

什么是本地语音识别?

September 19, 2024

评估翻译系统中的统计意义

评估翻译系统中的统计意义

September 10, 2024

法律和合规中的机器翻译

法律和合规中的机器翻译

August 23, 2024

联系支持

* 必填字段

通过提交此表格,我同意服务条款和隐私政策分别管辖我所收到的服务和我提供的个人数据的使用。

电子邮件

完全的

您的请求已成功发送

×