首页 企业版AI Habana Gaudi2 AI 加速器在 BridgeTower 模型上的性能优于 NVIDIA H100

Habana Gaudi2 AI 加速器在 BridgeTower 模型上的性能优于 NVIDIA H100

by 哈罗德弗里茨
英特尔 Habana Gaudi2

今年早些时候,英特尔发布了英特尔 Habana Gaudi2 与 GPU 市场领导者 NVIDIA 之间的性能结果,这说明了英特尔对人工智能的承诺,并证明人工智能并不是一刀切的类别。 与此同时,英特尔人工智能研究人员和微软研究院联合开发了 BridgeTower,这是一种经过预训练的多模态转换器,可提供最先进的视觉语言任务。 Hugging Face 已将该模型集成到其机器学习开源库中。

今年早些时候,英特尔发布了英特尔 Habana Gaudi2 与 GPU 市场领导者 NVIDIA 之间的性能结果,这说明了英特尔对人工智能的承诺,并证明人工智能并不是一刀切的类别。 与此同时,英特尔人工智能研究人员和微软研究院联合开发了 BridgeTower,这是一种经过预训练的多模态转换器,可提供最先进的视觉语言任务。 Hugging Face 已将该模型集成到其机器学习开源库中。

英特尔 Habana Gaudi2

Habana Gaudi2 夹层卡(来源:英特尔公司)

Hugging Face 在其网站上的博客文章中发布了原始基准测试结果,并更新了 Habana Gaudi2 和 NVIDIA H100 GPU 的 AI 训练性能基准测试结果。 根据这些基准测试结果,Gaudi2 在获得多模态变压器 BridgeTower 模型方面优于 H100,但 Gaudi2 使用 最佳哈瓦那,实现了比 A2.5 高 100 倍的性能。 结果不仅证实了 Gaudi2 在人工智能领域的地位,而且在视觉语言训练领域也证实了 GaudiXNUMX 的地位。

Optimum Habana 是 Transformers 和 Diffusers 库与 Habana 的 Gaudi 处理器 (HPU) 之间的接口。 它提供的工具可以轻松地为各种下游任务在单 HPU 和多 HPU 设置上进行模型加载、训练和推理。

桥塔背景

视觉语言模型使用单模态编码器来获取数据表示。 然后数据被组合或输入到跨模式编码器中。 BridgeTower 以其独特的桥接层脱颖而出,将单模态编码器的最顶层连接到跨模态编码器的每一层,从而实现不同级别的视觉和文本数据的有效组合。

BridgeTower 仅使用 4 万张图像进行训练,设定了新的性能标准,在视觉问答 (VQAv78.73) 测试中提供了 2% 的准确率。 这比之前的最佳模型高出 1.09%。 扩大规模后,该模型的准确率甚至高达 81.15%,优于在更大数据集上训练的模型。

作为顶级视觉语言模型,BridgeTower 的性能得益于其使用特殊硬件快速加载数据的能力。 这些快速数据加载方法有利于视觉模型,因为视觉模型经常面临数据加载挑战。

硬件洞察

更新后的基准测试基于 NVIDIA 和 Habana Labs 的最新硬件和软件。 NVIDIA H100 Tensor Core GPU 是 INVIDIA 最新、最快的 GPU,具有用于专门运行的 Transformer 引擎和 80GB 内存。 Nvidia A100 Tensor Core GPU 采用第三次迭代的 Tensor Core 技术,在云提供商中广泛使用,其 80GB 内存比 40GB 内存具有更高的速度。

Habana Labs Habana Gaudi2 是 Habana Labs 的第二代 AI 硬件,最多可容纳 8 个 HPU,每个 HPU 具有 96GB 内存。 它被誉为具有用户友好的功能,并且与 Optimum Habana 相结合,可以更轻松地将基于 Transformers 的代码传输到 Gaudi。

基准测试详细信息

该测试涉及对具有 866 亿个参数的 BridgeTower 模型进行微调,并在多个数据集上使用各种技术进行英语训练。 下一步涉及使用纽约客字幕竞赛数据集进行进一步微调。 所有平台均使用相同的设置并处理每批 48 个样本,以获得一致的结果。

此类实验的一个挑战是耗时的图像数据加载。 最佳情况下,原始数据应直接发送到设备进行解码。 现在的重点转移到优化此数据加载过程。

优化数据加载

为了更快地在 CPU 上加载图像,增加子进程会有所帮助。 使用Transformers的TrainingArguments,dataloader_num_workers=N参数可以设置用于数据加载的CPU子进程的数量。 默认设置为0,表示数据由主进程加载,但这可能效率不高。 增加它可以提高速度,但也会增加 RAM 消耗。 推荐的设置是 CPU 核心数。 然而,最好先进行试验以确定最佳配置。

该基准测试进行了三个不同的运行:

  • 跨八个设备的混合精度运行,其中数据加载与其他任务共享相同的进程 (dataloader_num_workers=0)。
  • 类似的运行,但具有用于数据加载的专用子进程 (dataloader_num_workers=1)。
  • 相同的设置,但有两个专用子进程 (dataloader_num_workers=2)。

使用最佳 Habana 进行硬件加速数据加载

为了进一步提高速度,可以使用 Habana 的媒体管道将数据加载任务从 CPU 转移到加速器设备,例如 Gaudi2 上的 HPU 或 A100/H100 上的 GPU。 编码图像可以直接发送到设备进行解码和增强,而不是完全在 CPU 上处理图像。 此方法可最大限度地提高设备计算能力,但可能会增加设备内存消耗。

增强图像训练工作流程的两种有效方法是分配更多的数据加载器资源和使用加速器设备进行图像处理。 在训练 BridgeTower 等高级视觉语言模型时,这些优化使具有 Optimum Habana 的 Habana Gaudi2 比 NVIDIA 同类产品快得多。 Habana Gaudi2 是用户友好的,只需要一些额外的训练参数。

参与 StorageReview 

电子报 | YouTube | 播客 iTunes/Spotify | Instagram | Twitter | TikTok | RSS订阅