CN114897664A - 图模型部署方法及装置、gpu和存储介质 - Google Patents

图模型部署方法及装置、gpu和存储介质 Download PDF

Info

Publication number
CN114897664A
CN114897664A CN202210560388.5A CN202210560388A CN114897664A CN 114897664 A CN114897664 A CN 114897664A CN 202210560388 A CN202210560388 A CN 202210560388A CN 114897664 A CN114897664 A CN 114897664A
Authority
CN
China
Prior art keywords
graph
model
sampling
sub
initial training
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202210560388.5A
Other languages
English (en)
Other versions
CN114897664B (zh
Inventor
戴斯铭
方泽阳
黄正杰
李伟彬
陈泽裕
冯仕堃
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202210560388.5A priority Critical patent/CN114897664B/zh
Publication of CN114897664A publication Critical patent/CN114897664A/zh
Application granted granted Critical
Publication of CN114897664B publication Critical patent/CN114897664B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Image Generation (AREA)
  • Image Analysis (AREA)

Abstract

本公开公开了图模型部署方法及装置、GPU和存储介质,涉及计算机技术领域,尤其涉及深度学习技术领域。具体实现方案为:基于图形处理器GPU,在深度学习框架的计算图中对初始训练图进行一次子图采样,以得到第一采样子图;基于第一采样子图对第一图模型进行一次训练,以得到第二图模型;继续对初始训练图进行子图采样,并根据继续进行的子图采样结果对第二图模型持续进行更新,直至得到第三图模型;获取与初始训练图对应的第二采样子图,基于第二采样子图对第三图模型进行预测部署。本公开实施例可以提高图模型部署的便利性。

Description

图模型部署方法及装置、GPU和存储介质
技术领域
本公开涉及计算机技术领域,尤其涉及一种图模型部署方法及装置、GPU和存储介质。
背景技术
随着图学习技术的发展,图学习在学术界和工业界的技术效果得到广泛认可,活跃于自然语言处理、计算机视觉、生物化学等领域。相关技术中,需要将图学习模型,也就是图模型部署到服务器中进行使用。然而,在服务器中对图模型进行预测部署时,由于模型训练和模型预测之间流程的不一致,导致图模型部署的便利性不高。
发明内容
本公开提供了一种图模型部署方法及装置、GPU和存储介质,主要目的在于提高图模型部署的便利性。
根据本公开的一方面,提供了一种图模型部署方法,基于图形处理器GPU,包括:
在深度学习框架的计算图中对初始训练图进行一次子图采样,以得到第一采样子图;
基于所述第一采样子图对第一图模型进行一次训练,以得到第二图模型;
继续对所述初始训练图进行子图采样,并根据继续进行的子图采样结果对所述第二图模型持续进行更新,直至得到第三图模型;
获取与所述初始训练图对应的第二采样子图,基于所述第二采样子图对所述第三图模型进行预测部署。
根据本公开的另一方面,提供了一种图模型部署装置,基于图形处理器GPU,包括:
子图获取单元,用于在深度学习框架的计算图中对初始训练图进行一次子图采样,以得到第一采样子图;
模型训练单元,用于基于所述第一采样子图对第一图模型进行一次训练,以得到第二图模型;
模型获取单元,用于继续对所述初始训练图进行子图采样,并根据继续进行的子图采样结果对所述第二图模型持续进行更新,直至得到第三图模型;
模型部署单元,用于获取与所述初始训练图对应的第二采样子图,基于所述第二采样子图对所述第三图模型进行预测部署。
根据本公开的另一方面,提供了一种GPU,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行前述一方面中任一项所述的方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行前述一方面中任一项所述的方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现前述一方面中任一项所述的方法。
在本公开一个或多个实施例中,基于图形处理器GPU,通过在深度学习框架的计算图中对初始训练图进行一次子图采样,以得到第一采样子图;基于所述第一采样子图对第一图模型进行一次训练,以得到第二图模型;继续对所述初始训练图进行子图采样,并根据继续进行的子图采样结果对所述第二图模型持续进行更新,直至得到第三图模型;获取与所述初始训练图对应的第二采样子图,基于所述第二采样子图对所述第三图模型进行预测部署。因此可以提高图模型部署的便利性。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开第一实施例的图模型部署方法的流程示意图;
图2是根据本公开第二实施例的图模型部署方法的流程示意图;
图3a是用来实现本公开实施例的图模型部署方法的第一种图模型部署装置的结构示意图;
图3b是用来实现本公开实施例的图模型部署方法的第二种图模型部署装置的结构示意图;
图3c是用来实现本公开实施例的图模型部署方法的第三种图模型部署装置的结构示意图;
图3d是用来实现本公开实施例的图模型部署方法的第四种图模型部署装置的结构示意图;
图3e是用来实现本公开实施例的图模型部署方法的第五种图模型部署装置的结构示意图;
图4是用来实现本公开实施例的图模型部署方法的GPU的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图学习作为一项在各个领域均能够得到应用的基础技术,在工业界有非常多的落地部署案例。相关技术中,图模型部署方案首先在深度学习框架的动态图模式下进行图模型的训练,训练完毕后导出图模型,随后在C++服务器中进行预测部署。
易于理解的是,该图模型部署方案在进行模型训练时,需要对应开发一套训练模型流程。在模型预测时,由于模型训练和模型预测之间流程的不一致,导致在模型预测部署时,还需要重新定制化开发一套模型预测流程。
在一些实施例中,以图学习框架Paddle Graph Learning(PGL)为例,PGL在模型训练时,模型以图Graph结构作为输入,但在模型预测时,如果仍然以Graph结构作为模型输入的话,在C++服务器中进行预测部署时需要另外开发一套以张量Tensor为输入的预测流程,从而导致图模型部署的便利性不高,并且部署成本较高。
另外,该图模型部署方案在进行模型训练时,将子图采样步骤放置在深度学习框架的计算图之外进行。而在模型训练过程中,在中央处理器(central processing unit,CPU)进行子图采样,在图形处理器(graphics processing unit,GPU)中进行图模型训练。因此需要将子图从CPU拷贝到GPU,再进行图模型训练,从而造成较大的输入/输出I/O瓶颈,进而导致图模型训练速度慢,难以支撑图模型预测部署时图模型的快速迭代更新。
下面结合具体的实施例对本公开进行详细说明。
在第一个实施例中,如图1所示,图1是根据本公开第一实施例的图模型部署方法的流程示意图,该方法可依赖于计算机程序实现,可运行于进行图模型部署的装置上,也可以是具有图模型部署功能的GPU。该计算机程序可集成在应用中,也可作为独立的工具类应用运行。
具体的,该图模型部署方法包括:
S101,在深度学习框架的计算图中对初始训练图进行一次子图采样,以得到第一采样子图;
根据一些实施例,深度学习框架可以是一种界面、库或工具。深度学习框架可以使用户在无需深入了解底层算法的细节的情况下,能够更容易、更快速地构建深度学习模型。
在一些实施例中,计算图被定义为有向图,其中节点对应于数学运算。计算图是表达和评估数学表达式的一种方式。
根据一些实施例,初始训练图指的是GPU训练图模型时获取到的训练图。该初始训练图并不特指某一固定图。例如,当GPU获取到针对初始训练图的图修改指令,该初始训练图可以发生变化。或者,当GPU更换新的训练数据时,启动新的训练任务,从而导致初始训练图发生变化。
在一些实施例中,子图采样指的是对图中各节点以及各节点之间的关系进行采样的过程。子图采样的方式包括但不限于邻居采样、游走采样等等。
根据一些实施例,第一采样子图指的是GPU对图模型进行训练时,对初始训练图进行子图采样后得到的子图。该第一采样子图并不特指某一固定子图。例如,当初始训练图发生变化时,该第一采样子图可以发生变化。当子图采样的方式发生变化时,该第一采样子图也可以发生变化。
易于理解的是,当GPU进行图模型部署时,GPU可以在深度学习框架的计算图中对初始训练图进行一次子图采样。进而,GPU可以得到第一采样子图。
S102,基于第一采样子图对第一图模型进行一次训练,以得到第二图模型;
根据一些实施例,第一图模型指的是在深度学习框架中进行初始化后的图模型。该第一图模型并不特指某一固定图模型。例如,当深度学习框架发生变化时,该第一图模型可以发生变化。当GPU获取到针对第一图模型的模型修改指令时,该第一图模型也可以发生变化。
在一些实施例中,第二图模型指的是基于第一采样子图对第一图模型进行一次训练后得到的图模型。该第二图模型并不特指某一固定图模型。例如,当第一图模型发生变化时,该第二图模型可以发生变化。当第一采样子图发生变化时,该第二图模型也可以发生变化。
易于理解的是,当GPU获取到第一采样子图时,GPU可以基于第一采样子图对第一图模型进行一次训练。进而,GPU可以得到第二图模型。
S103,继续对初始训练图进行子图采样,并根据继续进行的子图采样结果对第二图模型持续进行更新,直至得到第三图模型;
根据一些实施例,第三图模型指的是对第一图模型进行训练后,得到的训练好的模型。该第三图模型并不特指某一固定图模型。例如,当第一图模型发生变化时,该第三图模型可以发生变化。当初始训练图发生变化时,该第二图模型也可以发生变化。
易于理解的是,当GPU获取到第二图模型时,GPU可以继续对初始训练图进行子图采样,并根据继续进行的子图采样结果对第二图模型持续进行更新,直至得到第三图模型。
S104,获取与初始训练图对应的第二采样子图,基于第二采样子图对第三图模型进行预测部署。
根据一些实施例,第二采样子图指的是GPU对图模型进行预测时采用的子图。该第二采样子图并不特指某一固定子图。例如,当初始训练图发生变化时,该第二采样子图可以发生变化。
根据一些实施例,预测部署指的是令训练好的模型在快速、高效地对未知的数据进行操作,以获得预期的结果,并在指定运行环境中运行起来的过程。预测部署可以分为模型预测和模型部署两个步骤。
在一些实施例中,模型预测又称模型推理,指的是将待验证的数据(样本)送入训练好的模型执行推理,观察并验证推理结果(标签)是否符合预期的过程。
在一些实施例中,模型部署指的是将预测后的模型在指定运行环境中运行起来的过程。
易于理解的是,当GPU得到第二图模型时,GPU可以获取与初始训练图对应的第二采样子图。进而,GPU可以基于该第二采样子图对第三图模型进行预测部署。
在本公开实施例中,基于图形处理器GPU,通过在深度学习框架的计算图中对初始训练图进行一次子图采样,以得到第一采样子图;基于第一采样子图对第一图模型进行一次训练,以得到第二图模型;继续对初始训练图进行子图采样,并根据继续进行的子图采样结果对第二图模型持续进行更新,直至得到第三图模型;获取与初始训练图对应的第二采样子图,基于第二采样子图对第三图模型进行预测部署。因此通过利用GPU进行子图采样,可以无需将子图从CPU拷贝到GPU,从而可以减少输入/输出I/O瓶颈,进而可以提高图模型训练速度,同时由于均是根据初始训练图对图模型进行训练和预测部署,可以实现图模型端到端的训练推理一体机制,从而可以提高图模型部署的便利性。
请参见图2,图2是根据本公开第二实施例的图模型部署方法的流程示意图。该方法可依赖于计算机程序实现,可运行于进行图模型部署的装置上,也可以是具有图模型部署功能的GPU。具体的S201,获取初始训练图对应的图的大小;
根据一些实施例,初始训练图包括但不限于社交网络、生物化学结构、知识图谱、推荐系统图等等。
在一些实施例中,例如当初始训练图为社交网络时,节点例如可以是人,边例如可以是人和人之间的关系,比如父母、朋友、同事等。
在一些实施例中,例如当初始训练图为推荐系统图时,节点例如可以是用户和商品,边例如可以是浏览、点击、购买等关系。
根据一些实施例,图的大小指的是图的存贮空间,也就是初始训练图中节点、边等信息所占据的内存大小。图的大小可以以Kb和Mb来表示。
易于理解的是,当GPU进行图模型部署时,GPU可以获取初始训练图对应的图的大小。
S202,若图的大小大于预设内存阈值,则利用统一虚拟寻址技术UVA获取初始训练图对应的UVA虚拟地址;
根据一些实施例,预设内存阈值指的是GPU用于判断初始训练图能否保存至GPU时,所采用的阈值。该预设内存阈值并不特指某一固定阈值。例如,当GPU获取到针对预设内存阈值的阈值修改指令时,该预设内存阈值可以发生变化。
在一些实施例中,统一虚拟寻址技术(Unified Virtual Addressing,UVA)指的是可以为系统中所有内存提供虚拟的单一的UVA虚拟地址的技术。该系统中的内存包括但不限于主机内存、GPU显存等等。
在一些实施例中,在允许从GPU代码访问指针的情况下,GPU可以通过初始训练图对应的UVA虚拟地址,获取到该初始训练图对应的设备地址。进而,从该设备地址中获取到初始训练图。
易于理解的是,当GPU获取到初始训练图对应的图的大小时,若GPU判断图的大小大于预设内存阈值,则GPU可以利用统一虚拟寻址技术UVA存储初始训练图对应的UVA虚拟地址。
S203,若图的大小不大于预设内存阈值,则存储初始训练图;
根据一些实施例,当GPU判断图的大小不大于预设内存阈值时,GPU可以将该初始训练图存储至GPU显存中。
易于理解的是,当GPU获取到初始训练图对应的图的大小时,若GPU判断图的大小不大于预设内存阈值,则GPU可以存储该初始训练图。
S204,在深度学习框架的计算图中对初始训练图进行一次子图采样,以得到第一采样子图;
具体过程如上所述,此处不再赘述。
根据一些实施例,当GPU在深度学习框架的计算图中对初始训练图进行子图采样时,可以利用GPU的并行计算技术对初始训练图进行子图采样。因此可以提高子图采样的采样效率。
在一些实施例中,并行计算技术指的是将复杂问题分解成若干个部分,将每一个部分交给独立的处理器(计算资源)进行计算,以提高效率的技术。
以一个场景举例,在Reddit数据集上,相对于PGL 2.2版本,GPU采样加速比可达32倍至142倍,对GraphSage模型这个图模型的模型训练性能加速比达12倍到57倍。
易于理解的是,当GPU存储初始训练图或初始训练图对应的UVA虚拟地址时,GPU可以在深度学习框架的计算图中对初始训练图进行子图采样。进而,GPU可以得到第一采样子图。
S205,基于第一采样子图对第一图模型进行一次训练,以得到第二图模型;继续对初始训练图进行子图采样,并根据继续进行的子图采样结果对第二图模型持续进行更新,直至得到第三图模型;
具体过程如上所述,此处不再赘述。
根据一些实施例,当GPU基于第一采样子图对第一图模型进行训练,得到第二图模型,并继续对初始训练图进行子图采样,并根据继续进行的子图采样结果对第二图模型持续进行更新,直至得到第三图模型时,GPU可以获取第一采样子图对应的计算逻辑集合。进而,GPU可以将计算逻辑集合添加至第三图模型中,以得到添加后的第三图模型。
在一些实施例中,添加后的第三图模型指的是以张量作为输入数据对应的数据类型的图模型。该添加后的第三图模型并不特指某一固定模型。例如,当第一图模型发生变化时,该添加后的第三图模型可以发生变化。当第一采样子图发生变化时,该添加后的第三图模型也可以发生变化。
在一些实施例中,计算逻辑集合指的是由至少一个计算逻辑汇聚而成的集合。该计算逻辑集合包括但不限于图消息传递机制、图消息读出机制等等。
在一些实施例中,对初始训练图进行子图采样时,可以通过图消息传递机制将初始训练图中各节点之间的关系存储至第一采样子图。
易于理解的是,将计算逻辑集合添加至第三图模型中,以得到添加后的第三图模型。可以将第三图模型的输入数据对应的数据类型设置为张量。进而,在进行第三图模型的预测部署时,无需考虑如何构图,只需要将构图所需要的张量元素作为输入传入即可。因此可以降低图模型的预测部署难度,并达成训练和预测的图模型输入统一。
在一些实施例中,张量元素指的是数据类型为张量的元素。该张量元素包括但不限于构图所需要的基本元素和参与训练的除基本元素之外的元素等等。构图所需要的基本元素包括但不限于图对应的边、图对应的节点数目、图对应的特征等等。参与训练的除基本元素之外的元素包括但不限于边对应的特征、节点对应的特征等等。
易于理解的是,当GPU获取到第一采样子图时,GPU可以基于第一采样子图对第一图模型进行一次训练,以得到第二图模型。进而,GPU可以继续对初始训练图进行子图采样,并根据继续进行的子图采样结果对第二图模型持续进行更新,直至得到第三图模型。
S206,存储深度学习框架的计算图,计算图中包括初始训练图;
具体过程如上所述,此处不再赘述。
根据一些实施例,由于深度学习框架的前端用Python等脚本语言建模,后端用C++等低级语言执行。在前端和后端之间起到关键耦合作用的就是计算图。将计算图作为前端和后端之间的中间表示可以带来良好的交互性,进而,将张量Tensor对象作为数据结构,函数/方法作为操作类型,将特定的操作类型应用于特定的数据结构。
在一些实施例中,当GPU存储初始训练图时,GPU在对图模型进行训练的过程中,可以将初始训练图作为计算图的一部分。进而,GPU在存储训练好的图模型时,可以将初始训练图作为图模型的一部分保存下来。
易于理解的是,将初始训练图作为图模型的一部分保存下来,可以在图模型预测部署阶段,继续在深度学习框架的计算图中对该初始训练图进行子图采样。无需再重新添加一套低级语言,如C++端编译的子图采样步骤代码,进而可以节省图模型预测部署阶段的代码开发量,可以降低图模型的预测部署难度。
易于理解的是,当GPU得到第一采样子图时,GPU可以存储深度学习框架的计算图,计算图中包括初始训练图。
S207,获取与初始训练图对应的第二采样子图;
根据一些实施例,当GPU获取第二采样子图时,GPU获取第二采样子图的方式包括但不限于CPU图采样、GPU图采样、图引擎生成、图数据库生成等等。因此,可以提高第二采样子图获取的灵活性。
在一些实施例中,当GPU存储初始训练图时,GPU将初始训练图作为计算图的一部分。进而,GPU在存储训练好的图模型时,可以将初始训练图作为图模型的一部分保存下来。此时,GPU可以采用GPU图采样的方式对初始训练图进行子图采样,以获取第二采样子图。
在一些实施例中,当GPU无法存储初始训练图,并将初始训练图存储在CPU中时,GPU可以通过CPU图采样的方式获取第二采样子图。也就是说,需要在C++端编译对应的子图采样步骤代码,对在CPU中存储的初始训练图进行子图采样,以得到第二采样子图。
在一些实施例中,当GPU采用图数据库生成的方式获取第二采样子图时,GPU可以通过图数据库生成第二采样子图。图数据库指的是以点、边为基础存储单元,以高效存储、查询图数据为设计原理的数据管理系统。
在一些实施例中,当GPU采用图引擎生成的方式获取第二采样子图时,GPU可以通过图引擎生成第二采样子图。图引擎例如可以为百度开源深度学习框架PaddlePaddle提供的万亿图引擎。
易于理解的是,当GPU得到第三图模型时,GPU可以获取与初始训练图对应的第二采样子图。
S208,获取第二采样子图对应的张量元素集合;
根据一些实施例,张量元素集合指的是由至少一个张量元素汇聚而成的一个集合。该张量元素集合并不特指某一固定集合。例如,当第二采样子图发生变化时,该张量元素集合可以发生变化。当初始训练图发生变化时,该张量元素集合也可以发生变化。
易于理解的是,当GPU得到第二采样子图时,GPU可以获取第二采样子图对应的张量元素集合。
S209,基于张量元素集合,对第三图模型进行预测,以得到第四图模型;在服务器对第四图模型进行部署。
根据一些实施例,第四图模型指的是对第三图模型进行预测后得到的图模型。该第四图模型并不特指某一固定图模型。例如,当第三图模型发生变化时,该第四图模型可以发生变化。当张量元素集合发生变化时,该第四图模型也可以发生变化。
在一些实施例中,当GPU在服务器对第四图模型进行部署时,GPU可以在C++服务器对第四图模型进行部署。
易于理解的是,当GPU获取到第二采样子图对应的张量元素集合时,GPU可以基于张量元素集合,对第三图模型进行预测,以得到第四图模型。
在本公开实施例中,首先,通过获取初始训练图对应的图的大小;若图的大小大于预设内存阈值,则利用统一虚拟寻址技术UVA获取初始训练图对应的UVA虚拟地址;若图的大小不大于预设内存阈值,则存储初始训练图;因此通过将初始训练图,或初始训练图对应的UVA虚拟地址存储在GPU,可以在GPU中对初始训练图进行子图采样,从而可以提高图模型部署的便利性。其次,通过在深度学习框架的计算图中对初始训练图进行一次子图采样,以得到第一采样子图;基于第一采样子图对第一图模型进行一次训练,以得到第二图模型;继续对初始训练图进行子图采样,并根据继续进行的子图采样结果对第二图模型持续进行更新,直至得到第三图模型;因此通过利用GPU进行子图采样,可以无需将子图从CPU拷贝到GPU,从而可以减少输入/输出I/O瓶颈,进而可以提高图模型训练速度。接着,通过存储深度学习框架的计算图,计算图中包括初始训练图;因此可以降低图模型的预测部署难度,可以提高图模型部署的便利性。最后,通过获取与初始训练图对应的第二采样子图;获取第二采样子图对应的张量元素集合;基于张量元素集合,对第三图模型进行预测,以得到第四图模型;在服务器对第四图模型进行部署。因此,无需另外开发一套以张量Tensor为输入的预测流程,可以提高图模型部署的便利性,降低图模型部署的成本,可以实现图模型端到端的训练推理一体机制,从而可以提高图模型部署的便利性。
本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
下述为本公开装置实施例,可以用于执行本公开方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开方法实施例。
请参见图3a,其示出了本公开一个示例性实施例提供的第一种图模型部署装置的结构示意图。该图模型部署装置可以通过软件、硬件或者两者的结合实现成为装置的全部或一部分。该图模型部署装置可以应用于图形处理器GPU。该图模型部署装置300包括子图获取单元301、模型训练单元302、模型获取单元303和模型部署单元304,其中:
子图获取单元301,用于在深度学习框架的计算图中对初始训练图进行一次子图采样,以得到第一采样子图;
模型训练单元302,用于基于第一采样子图对第一图模型进行一次训练,以得到第二图模型;
模型获取单元303,用于继续对初始训练图进行子图采样,并根据继续进行的子图采样结果对第二图模型持续进行更新,直至得到第三图模型;
模型部署单元304,用于获取与初始训练图对应的第二采样子图,基于第二采样子图对第三图模型进行预测部署。
根据一些实施例,图3b是用来实现本公开实施例的图模型部署方法的第二种图模型部署装置的结构示意图。如图3b所示,图模型部署装置300还包括集合获取单元305和集合添加单元306,用于在获取与初始训练图对应的第二采样子图,基于第二采样子图对第三图模型进行预测部署之前:
集合获取单元305,用于获取第一采样子图对应的计算逻辑集合;
集合添加单元306,用于将计算逻辑集合添加至第三图模型中,得到添加后的第三图模型,其中,添加后的第三图模型的输入数据对应的数据类型为张量。
根据一些实施例,图3c是用来实现本公开实施例的图模型部署方法的第三种图模型部署装置的结构示意图。如图3c所示,第三图模型对应的输入数据类型为张量,模型部署单元304包括集合获取子单元314、模型预测子单元324和模型部署子单元334,模型部署单元304用于基于第二采样子图对第三图模型进行预测部署时:
集合获取子单元314,用于获取第二采样子图对应的张量元素集合;
模型预测子单元324,用于基于张量元素集合,对第三图模型进行预测,以得到第四图模型,其中,第四图模型对应的输入数据类型为张量;
模型部署子单元334,用于在服务器对第四图模型进行部署。
根据一些实施例,模型部署单元304,用于获取与初始训练图对应的第二采样子图时,具体用于以下任意一项:
在计算图中对初始训练图进行子图采样,以得到第二采样子图;
对图数据库进行查询,以获取与初始训练图对应的第二采样子图;
通过图引擎技术生成与初始训练图对应的第二采样子图。
根据一些实施例,图3d是用来实现本公开实施例的图模型部署方法的第四种图模型部署装置的结构示意图。如图3d所示,图模型部署装置300还包括计算图存储单元307,用于在继续对初始训练图进行子图采样,并根据继续进行的子图采样结果对第二图模型持续进行更新,直至得到第三图模型之后:
计算图存储单元307,用于存储深度学习框架的计算图,计算图中包括初始训练图。
根据一些实施例,图3e是用来实现本公开实施例的图模型部署方法的第五种图模型部署装置的结构示意图。如图3e所示,图模型部署装置300还包括大小获取单元308、地址存储单元309和训练图存储单元310,用于在在深度学习框架的计算图中对初始训练图进行一次子图采样之前:
大小获取单元308,用于获取初始训练图对应的图的大小;
地址存储单元309,用于若图的大小大于预设内存阈值,则利用统一虚拟寻址技术UVA获取初始训练图对应的UVA虚拟地址;
训练图存储单元310,用于若图的大小不大于预设内存阈值,则存储初始训练图。
要说明的是,上述实施例提供的图模型部署装置在执行图模型部署方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的图模型部署装置与图模型部署方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。
上述本公开实施例序号仅仅为了描述,不代表实施例的优劣。
在本公开实施例中,通过子图获取单元在深度学习框架的计算图中对初始训练图进行一次子图采样,以得到第一采样子图;模型训练单元基于第一采样子图对第一图模型进行一次训练,以得到第二图模型;模型获取单元继续对初始训练图进行子图采样,并根据继续进行的子图采样结果对第二图模型持续进行更新,直至得到第三图模型;模型部署单元获取与初始训练图对应的第二采样子图,基于第二采样子图对第三图模型进行预测部署。因此通过利用GPU进行子图采样,可以无需将子图从CPU拷贝到GPU,从而可以减少输入/输出I/O瓶颈,进而可以提高图模型训练速度,同时,由于均是基于初始训练图对图模型进行训练和预测部署,可以实现图模型端到端的训练推理一体机制,从而可以提高图模型部署的便利性。
本公开的技术方案中,所涉及的用户个人信息的获取、存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
根据本公开的实施例,本公开还提供了一种GPU、一种可读存储介质和一种计算机程序产品。
图4示出了可以用来实施本公开的实施例的示例GPU400的示意性框图。如图4所示,GPU400包括计算单元401,其可以根据存储在只读存储器(ROM)402中的计算机程序或者从存储单元408加载到随机访问存储器(RAM)403中的计算机程序,来执行各种适当的动作和处理。在RAM 403中,还可存储GPU400操作所需的各种程序和数据。计算单元401、ROM 402以及RAM 403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。
GPU400中的多个部件连接至I/O接口405,包括:输入单元406,例如键盘、鼠标等;输出单元407,例如各种类型的显示器、扬声器等;存储单元408,例如磁盘、光盘等;以及通信单元409,例如网卡、调制解调器、无线通信收发机等。通信单元409允许GPU400通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元401可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元401的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元401执行上文所描述的各个方法和处理,例如图模型部署方法。例如,在一些实施例中,图模型部署方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元408。在一些实施例中,计算机程序的部分或者全部可以经由ROM 402和/或通信单元409而被载入和/或安装到GPU400上。当计算机程序加载到RAM 403并由计算单元401执行时,可以执行上文描述的图模型部署方法的一个或多个步骤。备选地,在其他实施例中,计算单元401可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行图模型部署方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、互联网和区块链网络。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务("Virtual Private Server",或简称"VPS")中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

Claims (15)

1.一种图模型部署方法,其中,基于图形处理器GPU,包括:
在深度学习框架的计算图中对初始训练图进行一次子图采样,以得到第一采样子图;
基于所述第一采样子图对第一图模型进行一次训练,以得到第二图模型;
继续对所述初始训练图进行子图采样,并根据继续进行的子图采样结果对所述第二图模型持续进行更新,直至得到第三图模型;
获取与所述初始训练图对应的第二采样子图,基于所述第二采样子图对所述第三图模型进行预测部署。
2.根据权利要求1所述的方法,其中,在所述获取与所述初始训练图对应的第二采样子图,基于所述第二采样子图对所述第三图模型进行预测部署之前,还包括:
获取所述第一采样子图对应的计算逻辑集合;
将所述计算逻辑集合添加至所述第三图模型中,得到添加后的第三图模型,其中,所述添加后的第三图模型的输入数据对应的数据类型为张量。
3.根据权利要求1所述的方法,其中,所述第三图模型对应的输入数据类型为张量,所述基于所述第二采样子图对所述第三图模型进行预测部署,包括:
获取所述第二采样子图对应的张量元素集合;
基于所述张量元素集合,对所述第三图模型进行预测,以得到第四图模型,其中,所述第四图模型对应的输入数据类型为张量;
在服务器对所述第四图模型进行部署。
4.根据权利要求1所述的方法,其中,所述获取与所述初始训练图对应的第二采样子图,包括以下任意一项:
在所述计算图中对所述初始训练图进行子图采样,以得到所述第二采样子图;
对图数据库进行查询,以获取与所述初始训练图对应的所述第二采样子图;
通过图引擎技术生成与所述初始训练图对应的所述第二采样子图。
5.根据权利要求1所述的方法,其中,在所述继续对所述初始训练图进行子图采样,并根据继续进行的子图采样结果对所述第二图模型持续进行更新,直至得到第三图模型之后,还包括:
存储所述深度学习框架的计算图,所述计算图中包括所述初始训练图。
6.根据权利要求1所述的方法,其中,在所述在深度学习框架的计算图中对初始训练图进行一次子图采样之前,还包括:
获取初始训练图对应的图的大小;
若所述图的大小大于预设内存阈值,则利用统一虚拟寻址技术UVA获取所述初始训练图对应的UVA虚拟地址;
若所述图的大小不大于所述预设内存阈值,则存储所述初始训练图。
7.一种图模型部署装置,其中,基于图形处理器GPU,包括:
子图获取单元,用于在深度学习框架的计算图中对初始训练图进行一次子图采样,以得到第一采样子图;
模型训练单元,用于基于所述第一采样子图对第一图模型进行一次训练,以得到第二图模型;
模型获取单元,用于继续对所述初始训练图进行子图采样,并根据继续进行的子图采样结果对所述第二图模型持续进行更新,直至得到第三图模型;
模型部署单元,用于获取与所述初始训练图对应的第二采样子图,基于所述第二采样子图对所述第三图模型进行预测部署。
8.根据权利要求7所述的装置,其中,所述装置还包括集合获取单元和集合添加单元,用于在所述获取与所述初始训练图对应的第二采样子图,基于所述第二采样子图对所述第三图模型进行预测部署之前:
所述集合获取单元,用于获取所述第一采样子图对应的计算逻辑集合;
所述集合添加单元,用于将所述计算逻辑集合添加至所述第三图模型中,得到添加后的第三图模型,其中,所述添加后的第三图模型的输入数据对应的数据类型为张量。
9.根据权利要求7所述的装置,其中,所述第三图模型对应的输入数据类型为张量,所述模型部署单元包括集合获取子单元、模型预测子单元和模型部署子单元,所述模型部署单元用于基于所述第二采样子图对所述第三图模型进行预测部署时:
所述集合获取子单元,用于获取所述第二采样子图对应的张量元素集合;
所述模型预测子单元,用于基于所述张量元素集合,对所述第三图模型进行预测,以得到第四图模型,其中,所述第四图模型对应的输入数据类型为张量;
所述模型部署子单元,用于在服务器对所述第四图模型进行部署。
10.根据权利要求7所述的装置,其中,所述模型部署单元,用于获取与所述初始训练图对应的第二采样子图时,具体用于以下任意一项:
在所述计算图中对所述初始训练图进行子图采样,以得到所述第二采样子图;
对图数据库进行查询,以获取与所述初始训练图对应的所述第二采样子图;
通过图引擎技术生成与所述初始训练图对应的所述第二采样子图。
11.根据权利要求7所述的装置,其中,所述装置还包括计算图存储单元,用于在所述继续对所述初始训练图进行子图采样,并根据继续进行的子图采样结果对所述第二图模型持续进行更新,直至得到第三图模型之后:
所述计算图存储单元,用于存储所述深度学习框架的计算图,所述计算图中包括所述初始训练图。
12.根据权利要求7所述的装置,其中,所述装置还包括大小获取单元、地址存储单元和训练图存储单元,用于在所述在深度学习框架的计算图中对初始训练图进行一次子图采样之前:
所述大小获取单元,用于获取初始训练图对应的图的大小;
所述地址存储单元,用于若所述图的大小大于预设内存阈值,则利用统一虚拟寻址技术UVA获取所述初始训练图对应的UVA虚拟地址;
所述训练图存储单元,用于若所述图的大小不大于所述预设内存阈值,则存储所述初始训练图。
13.一种GPU,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其特征在于,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-6中任一项所述的方法。
14.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行根据权利要求1-6中任一项所述的方法。
15.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-6中任一项所述的方法。
CN202210560388.5A 2022-05-19 2022-05-19 图模型部署方法及装置、gpu和存储介质 Active CN114897664B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210560388.5A CN114897664B (zh) 2022-05-19 2022-05-19 图模型部署方法及装置、gpu和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210560388.5A CN114897664B (zh) 2022-05-19 2022-05-19 图模型部署方法及装置、gpu和存储介质

Publications (2)

Publication Number Publication Date
CN114897664A true CN114897664A (zh) 2022-08-12
CN114897664B CN114897664B (zh) 2024-05-07

Family

ID=82723151

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210560388.5A Active CN114897664B (zh) 2022-05-19 2022-05-19 图模型部署方法及装置、gpu和存储介质

Country Status (1)

Country Link
CN (1) CN114897664B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115759233A (zh) * 2022-11-24 2023-03-07 北京百度网讯科技有限公司 模型的训练方法、图数据处理方法、装置及电子设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200082264A1 (en) * 2017-05-23 2020-03-12 Intel Corporation Methods and apparatus for enhancing a neural network using binary tensor and scale factor pairs
CN110929627A (zh) * 2019-11-18 2020-03-27 北京大学 基于宽模型稀疏数据集的高效gpu训练模型的图像识别方法
US20200160178A1 (en) * 2018-11-16 2020-05-21 Nvidia Corporation Learning to generate synthetic datasets for traning neural networks
US20210279952A1 (en) * 2020-03-06 2021-09-09 Nvidia Corporation Neural rendering for inverse graphics generation
CN114118443A (zh) * 2021-11-25 2022-03-01 上海交通大学 基于Optane DIMM的大规模图嵌入训练方法及系统
CN114444715A (zh) * 2021-12-31 2022-05-06 北京三快在线科技有限公司 图数据处理方法、装置、系统、电子设备及可读存储介质
CN114494783A (zh) * 2022-01-27 2022-05-13 南京邮电大学 一种基于动态图神经网络的预训练方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200082264A1 (en) * 2017-05-23 2020-03-12 Intel Corporation Methods and apparatus for enhancing a neural network using binary tensor and scale factor pairs
US20200160178A1 (en) * 2018-11-16 2020-05-21 Nvidia Corporation Learning to generate synthetic datasets for traning neural networks
CN110929627A (zh) * 2019-11-18 2020-03-27 北京大学 基于宽模型稀疏数据集的高效gpu训练模型的图像识别方法
US20210279952A1 (en) * 2020-03-06 2021-09-09 Nvidia Corporation Neural rendering for inverse graphics generation
CN114118443A (zh) * 2021-11-25 2022-03-01 上海交通大学 基于Optane DIMM的大规模图嵌入训练方法及系统
CN114444715A (zh) * 2021-12-31 2022-05-06 北京三快在线科技有限公司 图数据处理方法、装置、系统、电子设备及可读存储介质
CN114494783A (zh) * 2022-01-27 2022-05-13 南京邮电大学 一种基于动态图神经网络的预训练方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
肥鼠路易: "深度神经网络TensorFlow基础学习(3)——卷积神经网络的参数个数和张量大小", Retrieved from the Internet <URL:https://blog.csdn.net/weixin_44991673/article/details/105063945> *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115759233A (zh) * 2022-11-24 2023-03-07 北京百度网讯科技有限公司 模型的训练方法、图数据处理方法、装置及电子设备
CN115759233B (zh) * 2022-11-24 2023-10-20 北京百度网讯科技有限公司 模型的训练方法、图数据处理方法、装置及电子设备

Also Published As

Publication number Publication date
CN114897664B (zh) 2024-05-07

Similar Documents

Publication Publication Date Title
US11436129B2 (en) System, method and recording medium for generating mobile test sequences
CN111461345B (zh) 深度学习模型训练方法及装置
CN112328301B (zh) 维护运行环境一致性的方法、装置、存储介质及电子设备
US10878032B2 (en) Labeled graph isomorphism allowing for false positive
US20220004914A1 (en) Code generation for auto-ai
CN112506602B (zh) 页面生成方法及装置、电子设备、计算机可读介质
US10592304B2 (en) Suggesting application programming interfaces based on feature and context analysis
CN114357105A (zh) 地理预训练模型的预训练方法及模型微调方法
CN111340220A (zh) 用于训练预测模型的方法和装置
US10915529B2 (en) Selecting an optimal combination of systems for query processing
CN111353601A (zh) 用于预测模型结构的延时的方法和装置
CN112380104A (zh) 用户属性识别方法、装置、电子设备及存储介质
CN114330735A (zh) 处理机器学习模型的方法、电子设备和计算机程序产品
CN114490116B (zh) 数据处理方法、装置、电子设备及存储介质
CN114897664A (zh) 图模型部署方法及装置、gpu和存储介质
CN114997329A (zh) 用于生成模型的方法、装置、设备、介质和产品
US10776411B2 (en) Systematic browsing of automated conversation exchange program knowledge bases
CN109582528A (zh) 状态监测方法、装置、电子设备及计算机可读存储介质
CN111062682B (zh) 一种工单处理方法和装置
US11410023B2 (en) Lexicographic deep reinforcement learning using state constraints and conditional policies
US12050877B2 (en) Contextual dialogue framework over dynamic tables
CN110795424B (zh) 特征工程变量数据请求处理方法、装置及电子设备
CN114548407A (zh) 层级目标定向因果发现方法、装置及电子设备
CN116210210A (zh) 使用机器学习的左移位拓扑构建和信息增强
US20230110520A1 (en) Ui service package generation and registration method and apparatus, and ui service loading method and apparatus

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant