0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用NVIDIA开源模型实现更快的训练和推理

星星科技指导员 来源:NVIDIA 作者:Alexandre Milesi 2022-04-20 15:58 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

SE(3)-Transformers 是在NeurIPS 2020上推出的多功能图形神经网络。 NVIDIA 刚刚发布了一款开源优化实现,它使用的内存比基线正式实施少9倍,速度比基线正式实施快21倍。

SE(3)-Transformer 在处理几何对称性问题时非常有用,如小分子处理、蛋白质精制或点云应用。它们可以是更大的药物发现模型的一部分,如RoseTTAFold和此 AlphaFold2 的复制。它们也可以用作点云分类和分子性质预测的独立网络(图 1 )。

pYYBAGJfvUKAcxmPAAE4jmo8Pmc186.png

图 1 用于分子性质预测的典型 SE ( 3 ) – transformer 的结构。

在/PyTorch/DrugDiscovery/SE3Transformer存储库中, NVIDIA 提供了在QM9 数据集上为分子性质预测任务训练优化模型的方法。 QM9 数据集包含超过 10 万个有机小分子和相关的量子化学性质。

训练吞吐量提高 21 倍

与基线实施相比, NVIDIA 实现提供了更快的训练和推理。该实现对 SE(3)-Transformers 的核心组件,即张量场网络( TFN )以及图形中的自我注意机制进行了优化。

考虑到注意力层超参数的某些条件得到满足,这些优化大多采取操作融合的形式。

由于这些,与基线实施相比,训练吞吐量增加了 21 倍,利用了最近 GPU NVIDIA 上的张量核。

poYBAGJfvUSAGrvvAAA_pAADmac256.png

图 2 A100 GPU 上的训练吞吐量。批次大小为 100 的 QM9 数据集。

此外, NVIDIA 实现允许使用多个 GPU 以数据并行方式训练模型,充分利用 DGX A100 ( 8x A100 80GB )的计算能力。

把所有东西放在一起,在 NVIDIA DGX A100 上, SE(3)-Transformer现在可以在 QM9 数据集上在 27 分钟内进行训练。作为比较,原始论文的作者指出,培训在硬件上花费了 2 。 5 天( NVIDIA GeForce GTX 1080 Ti )。

更快的培训使您能够在搜索最佳体系结构的过程中快速迭代。随着内存使用率的降低,您现在可以训练具有更多注意层或隐藏通道的更大模型,并向模型提供更大的输入。

内存占用率降低 9 倍

SE(3)-Transformer 是已知的记忆重模型,这意味着喂养大输入,如大蛋白质或许多分批小分子是一项挑战。对于 GPU 内存有限的用户来说,这是一个瓶颈。

这一点在DeepLearningExamples上的 NVIDIA 实现中已经改变。图 3 显示,由于 NVIDIA 优化和对混合精度的支持,与基线实现相比,训练内存使用减少了 9 倍。

pYYBAGJfvUSAJlq7AAAyUas0Vkk109.png

图 3 SE ( 3 ) – transformer s 的基线实现和 NVIDIA 实现之间的训练峰值内存消耗比较。在 QM9 数据集上每批使用 100 个分子。 V100 32-GB GPU 。

除了对单精度和混合精度进行改进外,还提供了低内存模式。启用此标志后,模型在 TF32 ( NVIDIA 安培体系结构)或 FP16 ( NVIDIA 安培体系结构、 NVIDIA 图灵体系结构和 NVIDIA 伏特体系结构)精度上运行,模型将切换到以吞吐量换取额外内存节省的模式。

实际上,在具有 V100 32-GB GPU 的 QM9 数据集上,基线实现可以在内存耗尽之前扩展到 100 的批大小。 NVIDIA 实现每批最多可容纳 1000 个分子(混合精度,低内存模式)。

对于处理以氨基酸残基为节点的蛋白质的研究人员来说,这意味着你可以输入更长的序列并增加每个残基的感受野。

SE(3)-Transformers 优化

与基线相比, NVIDIA 实现提供了一些优化。

融合键与值计算

在“自我注意”层中,将计算关键帧、查询和值张量。查询是图形节点特征,是输入特征的线性投影。另一方面,键和值是图形边缘特征。它们是使用 TFN 层计算的。这是 SE(3)-Transformer 中大多数计算发生的地方,也是大多数参数存在的地方。

基线实现使用两个独立的 TFN 层来计算键和值。在 NVIDIA 实现中,这些被融合在一个 TFN 中,通道数量增加了一倍。这将启动的小型 CUDA 内核数量减少一半,并更好地利用 GPU 并行性。径向轮廓是 TFN 内部完全连接的网络,也与此优化融合。概览如图 4 所示。

poYBAGJfvUWAMrW0AABoHVJXxEs672.png

图 4 NVIDIA 实现中的键、查询和值计算。键和值一起计算,然后沿通道维度分块。

TFN 合并

SE(3)-Transformer 内部的功能除了其通道数量外,还有一个degreed,它是一个正整数。程度特征d有维度2d+1. TFN 接受不同程度的特征,使用张量积组合它们,并输出不同程度的特征。

对于输入为 4 度、输出为 4 度的图层,将考虑所有度的组合:理论上,必须计算 4 × 4 = 16 个子图层。

这些子层称为成对 TFN 卷积。图 5 显示了所涉及的子层的概述,以及每个子层的输入和输出维度。对给定输出度(列)的贡献相加,以获得最终特征。

pYYBAGJfvUaARF2GAAFMcAG5jOI476.png

图 5 TFN 层中涉及的成对卷积,输入为 4 度,输出为 4 度。

NVIDIA 在满足 TFN 层上的某些条件时,提供多级融合以加速这些卷积。通过创建尺寸为 16 倍的形状,熔合层可以更有效地使用张量核。以下是应用熔合卷积的三种情况:

输出功能具有相同数量的通道

输入功能具有相同数量的通道

这两种情况都是正确的

第一种情况是,所有输出特征具有相同数量的通道,并且输出度数的范围从 0 到最大度数。在这种情况下,使用输出融合特征的融合卷积。该融合层用于 SE(3)-Transformers 的第一个 TFN 层。

pYYBAGJfvUeAILrMAAC_JHUK2b0720.png

图 6 每个输出度的部分熔融 TFN 。

第二种情况是,所有输入特征具有相同数量的通道,并且输入度数的范围从 0 到最大度数。在这种情况下,使用对融合输入特征进行操作的融合卷积。该融合层用于 SE(3)-Transformers 的最后一层 TFN 。

poYBAGJfvUiAZ-WtAADEV4igJyM069.png

图 7 每个输入度的部分熔融 TFN 。

在最后一种情况下,当两个条件都满足时,使用完全融合的卷积。这些卷积作为输入融合特征,输出融合特征。这意味着每个 TFN 层只需要一个子层。内部 TFN 层使用此融合级别。

pYYBAGJfvUiAY4E7AAB8ctJYwlM494.png

图 8 全熔合 TFN

基预计算

除了输入节点特性外, TFN 还需要基矩阵作为输入。每个图边都有一组矩阵,这些矩阵取决于目标节点和源节点之间的相对位置。

在基线实现中,这些矩阵在前向传递开始时计算,并在所有 TFN 层中共享。它们依赖于球形 h ARM ,计算起来可能很昂贵。由于输入图不会随着 QM9 数据集而改变(没有数据扩充,没有迭代位置细化),这就引入了跨时代的冗余计算。

NVIDIA 实现提供了在培训开始时预计算这些基础的选项。整个数据集迭代一次,基缓存在 RAM 中。前向传递开始时的计算基数过程被更快的 CPU 到 GPU 内存拷贝所取代。

关于作者

Alexandre Milesi 是 NVIDIA 的深度学习算法工程师。他拥有法国 UTC 的机器学习硕士学位,以及法国索邦大学的机器人和多智能体系统硕士学位。在加入 NVIDIA 之前, Alexandre 是伯克利实验室的附属研究员,使用深度强化学习解决电子 CTR ical 网格问题。在 NVIDIA ,他的工作集中于药物发现和计算机视觉的 DL 算法,包括等变图神经网络。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • NVIDIA
    +关注

    关注

    14

    文章

    5496

    浏览量

    109110
  • 机器学习
    +关注

    关注

    66

    文章

    8541

    浏览量

    136236
  • 深度学习
    +关注

    关注

    73

    文章

    5591

    浏览量

    123917
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    在Ubuntu20.04系统中训练神经网络模型的一些经验

    模型。 我们使用MNIST数据集,训练一个卷积神经网络(CNN)模型,用于手写数字识别。一旦模型训练并保存,就可以用于对新图像进行
    发表于 10-22 07:03

    NVIDIA开源Audio2Face模型及SDK

    NVIDIA 现已开源 Audio2Face 模型与 SDK,让所有游戏和 3D 应用开发者都可以构建并部署带有先进动画的高精度角色。NVIDIA
    的头像 发表于 10-21 11:11 551次阅读
    <b class='flag-5'>NVIDIA</b><b class='flag-5'>开源</b>Audio2Face<b class='flag-5'>模型</b>及SDK

    NVIDIA TensorRT LLM 1.0推理框架正式上线

    TensorRT LLM 作为 NVIDIA 为大规模 LLM 推理打造的推理框架,核心目标是突破 NVIDIA 平台上的推理性能瓶颈。为
    的头像 发表于 10-21 11:04 770次阅读

    NVIDIA 利用全新开源模型与仿真库加速机器人研发进程

    科研人员及开发者打造功能更强大、适应性更强的机器人。   全新的 NVIDIA Isaac GR00T 开源基础模型将为机器人赋予接近人类的推理能力,使其能够拆解复杂指令,并借助已有知
    的头像 发表于 09-30 09:52 2785次阅读
    <b class='flag-5'>NVIDIA</b> 利用全新<b class='flag-5'>开源</b><b class='flag-5'>模型</b>与仿真库加速机器人研发进程

    什么是AI模型推理能力

    NVIDIA 的数据工厂团队为 NVIDIA Cosmos Reason 等 AI 模型奠定了基础,该模型近日在 Hugging Face 的物理
    的头像 发表于 09-23 15:19 843次阅读

    NVIDIA Nemotron Nano 2推理模型发布

    NVIDIA 正式推出准确、高效的混合 Mamba-Transformer 推理模型系列 NVIDIA Nemotron Nano 2。
    的头像 发表于 08-27 12:45 1404次阅读
    <b class='flag-5'>NVIDIA</b> Nemotron Nano 2<b class='flag-5'>推理模型</b>发布

    NVIDIA从云到边缘加速OpenAI gpt-oss模型部署,实现150万TPS推理

    的发布持续深化了双方的 AI 创新合作。NVIDIANVIDIA Blackwell 架构上优化了这两款全新的开放权重模型实现推理
    的头像 发表于 08-15 20:34 1968次阅读
    <b class='flag-5'>NVIDIA</b>从云到边缘加速OpenAI gpt-oss<b class='flag-5'>模型</b>部署,<b class='flag-5'>实现</b>150万TPS<b class='flag-5'>推理</b>

    利用NVIDIA推理模型构建AI智能体

    开放式推理模型能够更快、更广泛地进行思考,为客户服务、网络安全、制造、物流和机器人等领域的 AI 智能体生成更明智的结果。
    的头像 发表于 08-13 14:32 1302次阅读
    利用<b class='flag-5'>NVIDIA</b><b class='flag-5'>推理模型</b>构建AI智能体

    在阿里云PAI上快速部署NVIDIA Cosmos Reason-1模型

    NVIDIA 近期发布了 Cosmos Reason-1 的 7B 和 56B 两款多模态大语言模型 (MLLM),它们经过了“物理 AI 监督微调”和“物理 AI 强化学习”两个阶段的训练。其中
    的头像 发表于 06-04 13:43 696次阅读

    英伟达GTC2025亮点 NVIDIA推出Cosmos世界基础模型和物理AI数据工具的重大更新

    模型实现物理 AI 的预测、可控世界生成和推理。 两款全新Blueprint为机器人和自动驾驶汽车后训练提供海量物理 AI 合成数据生成技术。 1X、Agility Robotic
    的头像 发表于 03-20 19:01 1181次阅读

    英伟达GTC25亮点:NVIDIA Dynamo开源库加速并扩展AI推理模型

    DeepSeek-R1 上的吞吐量提高了 30 倍 NVIDIA 发布了开源推理软件 NVIDIA Dynamo,旨在以高效率、低成本加速并扩展 AI 工厂中的 AI
    的头像 发表于 03-20 15:03 1077次阅读

    NVIDIA发布全球首个开源人形机器人基础模型Isaac GR00T N1

    NVIDIA 宣布推出一系列全新技术,助力人形机器人开发。其中包括全球首个开源且完全可定制的基础模型NVIDIA Isaac GR00T N1,该
    的头像 发表于 03-20 14:34 1225次阅读

    NVIDIA 推出开放推理 AI 模型系列,助力开发者和企业构建代理式 AI 平台

    NVIDIA训练的全新 Llama Nemotron 推理模型,为代理式 AI 提供业务就绪型基础 埃森哲、Amdocs、Atlassian、Box、Cadence、CrowdStrike
    发表于 03-19 09:31 336次阅读
    <b class='flag-5'>NVIDIA</b> 推出开放<b class='flag-5'>推理</b> AI <b class='flag-5'>模型</b>系列,助力开发者和企业构建代理式 AI 平台

    YOLOv5类中rgb888p_size这个参数要与模型推理训练的尺寸一致吗?一致会达到更好的效果?

    YOLOv5类中rgb888p_size这个参数要与模型推理训练的尺寸一致吗,一致会达到更好的效果
    发表于 03-11 08:12

    壁仞科技支持DeepSeek-V3满血版训练推理

    DeepSeek在开源开源了部分关键模块的代码及推理系统参考架构,再次引发行业震动,但目前尚未开源DeepSeek-V3 满血版完整训练
    的头像 发表于 03-04 14:01 1927次阅读