CN116166275A - 一种深度学习任务构图方法、装置、介质 - Google Patents

一种深度学习任务构图方法、装置、介质 Download PDF

Info

Publication number
CN116166275A
CN116166275A CN202310442740.XA CN202310442740A CN116166275A CN 116166275 A CN116166275 A CN 116166275A CN 202310442740 A CN202310442740 A CN 202310442740A CN 116166275 A CN116166275 A CN 116166275A
Authority
CN
China
Prior art keywords
operator
backward
tensor
calculation
deep learning
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
CN202310442740.XA
Other languages
English (en)
Other versions
CN116166275B (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.)
Zhejiang Lab
Original Assignee
Zhejiang Lab
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 Zhejiang Lab filed Critical Zhejiang Lab
Priority to CN202310442740.XA priority Critical patent/CN116166275B/zh
Publication of CN116166275A publication Critical patent/CN116166275A/zh
Application granted granted Critical
Publication of CN116166275B publication Critical patent/CN116166275B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Machine Translation (AREA)

Abstract

本发明涉及一种深度学习任务构图方法、装置、介质,包括如下步骤:构建前向算子并进行前向计算,获取包括前向算子输入张量、输出张量和输出梯度的备选张量集,实现前向构图,其中,所述前向算子与深度学习任务和运行设备无关;构建后向算子,基于所述备选张量集进行后向计算,实现后向构图;在计算过程中,针对所述前向算子和所述后向算子,以及所述前向算子的输出张量和所述后向算子的输出张量的生命周期进行控制。与现有技术相比,本发明具有构图效率高、易于实现、资源开销小等优点。

Description

一种深度学习任务构图方法、装置、介质
技术领域
本发明涉及深度学习领域,尤其是涉及一种深度学习任务构图方法、装置、介质。
背景技术
随着人工智能产业化应用的快速发展,深度学习任务构图方法是静态图和动态图计算任务编译过程中必不可少的技术。
深度学习任务构图是指将深度学习模型的计算过程表示为一个有向无环图,其中每个节点代表一个算子(如卷积、激活函数等),每条边代表一个张量(如输入、输出、梯度等)。深度学习任务构图可以分为前向构图和后向构图,前向构图描述了模型的正向传播过程,后向构图描述了模型的反向传播过程。深度学习任务构图对于模型的优化、并行化、部署等都有重要作用。
中国专利申请号CN202110540476.4提供了一种深度学习框架的算子注册方法、装置、设备和存储介质,涉及计算机技术领域,具体涉及深度学习等人工智能领域。深度学习框架的算子注册方法包括:接收用户提供的用于向深度学习框架注册算子的注册信息,所述注册信息包括:自定义计算函数,所述自定义计算函数的编写方式与所述深度学习框架不相关;基于所述注册信息,创建所述深度学习框架中的算子元信息;基于所述算子元信息,构造所述深度学习框架内部的待注册算子,并将所述待注册算子注册到所述深度学习框架内部的全局算子表中。
上述申请可以简化算子注册流程,但是,该申请并没有实现深度学习任务的构图。传统的深度学习任务构图方法通常是基于特定的深度学习框架(如TensorFlow、PyTorch等)和运行设备(如CPU、GPU等)进行设计和实现的,这导致了以下几个问题:(1)不同框架和设备之间的兼容性差,难以实现跨平台的部署和迁移;(2)构图过程依赖于具体的算子实现和张量数据结构,难以进行抽象化和标准化;(3)构图过程需要大量的内存和计算资源,难以适应大规模和复杂的深度学习模型。现有的相关技术大多着重点在于根据用户业务逻辑,使用不同算子构图,在深度学习任务构图过程中,需要与用户业务端产生较多交互,算子构建中存在大量较为复杂的推导,如处理输出张量的梯度、张量放置属性推导等复杂逻辑。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种深度学习任务构图方法、装置、介质,以解决或部分解决底层算子构建逻辑复杂导致构图效率低的问题。
本发明的目的可以通过以下技术方案来实现:
本发明的一个方面,提供了一种深度学习任务构图方法,包括如下步骤:
获取上下文信息,基于所述上下文信息,通过前向计算构建前向算子,获取包括各个前向算子输入张量、前向算子输出张量和前向算子输出梯度的备选张量集,实现前向构图;
基于所述备选张量集,通过后向计算构建后向算子,获取各个后向算子的输出张量,实现后向构图;
在计算过程中,针对所述前向算子和所述后向算子,以及所述前向算子的输出张量和所述后向算子的输出张量的生命周期进行控制。
作为优选的技术方案,所述的前向算子和所述的后向算子中的任一个,均包括如下信息:算子名称、算子操作数和依赖算子的信息。
作为优选的技术方案,所述的前向算子的构建过程包括如下步骤:
基于所述上下文信息,通过前向计算获取各个前向算子的名称、输入张量名称、输出张量名称和输出张量的形状名称。
作为优选的技术方案,使用宏的方式实现前向算子的名称、输入张量名称、输出张量名称和输出张量的形状名称的获取。
作为优选的技术方案,构建后向算子过程包括如下步骤:
获取用于实现后向算子的后向计算逻辑映射关系,基于所述后向计算逻辑映射关系,获取用于后向计算的张量并进行后向计算。
作为优选的技术方案,针对所述前向算子和所述后向算子进行生命周期进行控制具体包括如下步骤:
静态图的构图模式下,由全局任务进行算子生命周期的控制,当前向计算或后向计算计算完毕后,前向算子或后向算子的生命周期终止;
针对动态图的构图模式,由全局任务或缓存计算图对算子生命周期进行控制,前向计算或后向计算计算完毕后,前向算子或后向算子的生命周期终止。
作为优选的技术方案,前向算子和所述后向算子的输出张量的生命周期进行控制的过程包括如下步骤:
获取前向算子或后向算子的输出张量,基于预设的映射关系获取输出张量对应的索引,并根据预设的规则进行输出张量的生命周期控制。
本发明的另一个方面,提供了一种深度学习任务构图装置,包括:
前向计算模块,包括多个前向算子,所述前向计算模块用于通过前向计算获取备选张量集,实现前向构图,其中,所述前向算子与深度学习任务和运行设备无关;
后向计算模块,包括多个后向算子,所述后向计算模块用于基于所述备选张量集进行后向计算,实现后向构图;
张量保存模块,用于保存前向算子在前向计算中所需的张量,以及后向算子在后向计算中所需的张量;
生命周期控制模块,用于在静态图和动态图模式下针对所述前向算子和后向算子进行生命周期控制;
张量作用域控制模块,用于针对所述前向算子/所述后向算子的输出张量进行生命周期控制;
算子执行模块,用于构建计算任务,并获取算子输出张量的索引。
本发明的另一个方面,提供了一种深度学习任务构图装置,包括存储器和一个或多个处理器,所述存储器中存储有可执行代码,所述一个或多个处理器执行所述可执行代码时,用于实现上述的深度学习任务构图方法。
本发明的另一个方面,提供了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,实现上述的深度学习任务构图方法。
与现有技术相比,本发明具有以下优点:
(1)构图效率高,易于实现:在计算过程中,算子只描述了算子所具备的基本信息,所构建的算子与任务和设备都无关,也不提供任何复杂的推导逻辑,另外,在前向计算和后向计算中,针对前向算子和所述后向算子,以及所述前向算子的输出张量和所述后向算子的输出张量的生命周期进行控制,相较于现有方法,本方法屏蔽了底层的复杂逻辑,将算子构建过程迁移到深度学习操作系统后端去实现,避免用户业务端产生过多交互,提高了构图效率。使用张量作为输入输出,本方法专注于实现静态图和动态图模式下算子的构建,只记录用户给出的信息,不做复杂的推导,比如处理输出张量的梯度、张量放置属性推导等复杂逻辑;
(2)资源开销小:针对前向算子和后向算子,以及前向算子的输出张量和后向算子的输出张量的生命周期进行控制,在构图完成后删除算子,同时便于输出张量的调用。
附图说明
图1为实施例1中深度学习任务构图方法的流程图;
图2为实施例1中深度学习任务构图方法的架构图;
图3为实施例1中管理算子的生命周期的示意图;
图4为实施例1中张量作用域管理的示意图;
图5为实施例2中一种深度学习任务构图装置的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在不冲突的情况下,下述的实施例及实施方式中的特征可以相互组合。
实施例1
如图1为本发明一实施例提供的一种深度学习任务构图方法的流程示意图。如图1所示,本发明实施例中的深度学习任务构图方法可包括如下步骤:
步骤S1,构建前向算子并进行前向计算,获取包括前向算子输入张量、输出张量和输出梯度的备选张量集,实现前向构图,其中,前向算子与深度学习任务和运行设备无关。前向算子中包括如下信息:算子名称、依赖算子的信息和算子操作数,使用宏的方式实现上述信息的接收。前向算子的构建过程中,通过前向计算获取前向算子的名称、输入张量名称、输出张量名称和输出张量的形状名称。
步骤S2,构建后向算子,基于备选张量集进行后向计算,实现后向构图,构建后向算子过程中,通过后向计算获取用于实现后向算子的后向计算逻辑映射关系,基于后向计算逻辑映射关系,获取用于后向计算的张量并进行后向计算。
步骤S3,在计算过程中,针对前向算子和后向算子,以及前向算子的输出张量和后向算子的输出张量的生命周期进行控制。
针对前向算子和后向算子进行生命周期进行控制具体包括如下步骤:
静态图的构图模式下,通过全局任务构建前向算子或后向算子,由全局任务进行算子生命周期的控制,当前向计算或后向计算计算完毕后,前向算子或后向算子的生命周期终止;
针对动态图的构图模式,通过全局任务或缓存计算图构建前向算子或后向算子,由全局任务或缓存计算图对算子生命周期进行控制,前向计算或后向计算计算完毕后,前向算子或后向算子的生命周期终止。
前向算子和后向算子的输出张量的生命周期进行控制的过程包括如下步骤:
获取前向算子或后向算子的输出张量,基于预设的映射关系获取输出张量对应的索引,并根据预设的规则进行输出张量的生命周期管理。
如图2,首先,利用深度学习任务构图方法及装置构建前后算子和对应的后向算子,然后将所构建的算子添加到任务函数中,最后基于静态图或动态图执行器运行算子。本实施例的深度学习任务构图方法的实施过程可包括如下步骤:
步骤一、定义算子类型。定义算子结构体类型,算子结构体类型包含算子名称的成员变量、具有依赖关系的算子之间的上下文信息、算子操作数的名称。
步骤二、构建前向算子。本方法构建的算子只描述了算子所具备的基本信息,包括算子类型、名称、输入输出张量以及算子属性,所构建的算子与任务和设备都无关,也不提供任何复杂的推导逻辑。构建算子的过程如下:使用宏的方式实现接收算子的名称、算子输入张量名称、算子输出张量名称、输出张量的形状名称,并使用宏的方式实现触发算子构建的执行接口。
步骤三、构建后向算子。由于深度学习任务构图方法构建的前向算子没有绑定任何输入或输出张量,其提供的输入符号可以接受任意的张量,传参正确性交给用户来保证。需要从前向算子的输入、输出以及输出梯度中挑选出后向算子需要的输入,并按照后向算子需要的顺序传给后向计算过程。因此构建后向算子不仅仅是构建算子本身,同时还需要组织好所需要的输入张量。后向算子构建模式是构建即执行,后向算子构建过程如下:
(1)创建后向算子类型,创建函数类型的成员变量。函数类型的成员变量实现后向算子的具体后向计算逻辑。函数类型的成员变量中的后向算子在构建过程中依赖前向算子的所有的输入张量和输出张量。
(2)创建后向算子类型的设置接口。设置接口用于在创建后向算子的同时将所需要的张量保存到上下文信息中。
(3)创建后向算子类型的应用接口。应用接口从上下文信息中取出所需要的张量,然后完成后向算子计算。
步骤四、设计前向算子所需要的输入张量的保存模块。前向算子所需要的输入张量的保存模块是用于在前向计算过程中保存用户指定的张量。设计一个算子的张量状态类型,在算子的张量状态类型中新增一个张量保存成员变量,张量保存成员变量负责将前向算子的输入张量保存到前向算子的上下文信息中。将前向算子所需要的张量单独保存在算子的张量状态类型中的张量保存成员变量中,并为每一种后向算子增加一层调用接口,在接口中处理张量保存成员变量和输出梯度张量的顺序。
步骤五、设计后向算子所需要的输入张量的保存模块。设计后向算子所需要的输入张量的保存模块。后向算子所需要的输入张量的保存模块是用于在后向计算过程中保存用户指定的张量。设计一个算子的张量状态类型,在算子的张量状态类型中新增一个张量保存成员变量。
步骤六、设计后向算子所需要的输入张量的过滤模块。在算子的张量状态类型中新增一个张量过滤器成员变量,张量过滤器成员变量负责将后向算子需要的张量保存到算子的张量状态类型的张量过滤器成员变量中。
(1)对于张量的梯度函数内部,支持用户将前向张量保存到后向算子的张量状态类型中的张量保存成员变量中,只有当输出张量梯度时才保存到后向算子的张量状态类型中的张量过滤器成员变量中。
(2)对于内建的后向算子,提供一个与算子相关的过滤机制,将前向输入张量、输出张量以及输出梯度张量过滤一次,将过滤得到的张量都保存到后向算子的张量状态类型中的张量过滤器成员变量中。
步骤七、管理算子的生命周期。具体如图3所述。
(1)对于静态图模式下,管理算子的生命周期过程如下:首先,全局任务函数内部构建算子;其次,执行任务函数。通常是边构建边执行,而且只需要执行一次就能把任务构建出来;最后,当任务函数执行完时,所构建的算子也就析构了。因此静态图模式下的算子生命期是由当前任务函数来管理的。
(2)对于动态图模式下,管理算子的生命周期过程如下:可以直接构造执行,也可以缓存并多次执行。直接构造执行方式与静态图模式类似,一边构造一边执行,当执行完之后,所构造的算子就可以被析构。缓存方式可以将构造的算子缓存成计算图模块的成员,其生命期基本就是计算图模块的生命期。
(3)对于后向构建的算子,后向算子由后向计算图节点捕获,即使前向的算子被删除了,后向的算子也不会被删除。
步骤八、定义张量作用域管理模块。如图4,张量作用域管理模块用来管理算子输出张量的生命周期。张量作用域管理模块的设计如下:
(1)定义算子输出张量名称的成员变量。
(2)定义算子的输出张量名称与对应索引的字典类型的成员变量。输出张量名称与对应索引编号映射的成员变量是为了便于管理当前算子的输出张量的生命周期。
(3)定义记录输出张量的成员函数。记录输出张量的成员函数是指将输出张量的名称缓存到张量作用域管理模块。
步骤九、设计算子执行器。算子执行器是用来启动运行算子,算子执行器运行算子过程中需要调用者提供的上下文信息。算子执行器是无状态的,在调用时通过上下文信息获取,同时算子执行器在执行时也需要传入一个上下文信息。设计算子执行器包含如下过程:
(1)将当前算子添加到当前任务中。
(2)使用张量作用域管理模块记录当前算子的输出张量名称。
本发明具有如下有益效果:提供了一种深度学习任务构图方法。与传统的主要在用户业务端实现的算子构建过程相比:
(1)一种深度学习任务构图方法更加高效。方法将算子构建过程迁移到深度学习操作系统后端去实现,避免用户业务端产生过多交互。对于动态图模式,创建的动态图算子用以代替在户业务端中多次传递的算子上下文信息,算子执行器将动态图算子翻译成深度学习操作系统可以执行的指令。而且,动态图算子直接捕获了输入,因此不再需要在用户业务端维护一个张量寄存器。
(2)一种深度学习任务构图方法更加简洁。方法的接口统一使用张量作为输入输出。一种深度学习任务构图方法只专注于实现静态图和动态图模式下算子的构建,只忠实地记录用户给出的信息,一般不做复杂的推导,比如处理输出张量的梯度、张量放置属性推导等复杂逻辑。
本发明通过将前向算子和后向算子抽象为与深度学习任务和运行设备无关的通用接口,提高了构图的灵活性和可移植性;通过将张量数据结构抽象为备选张量集,并根据计算需求动态地选择合适的张量进行计算,提高了构图的效率和稳定性;通过对前向算子和后向算子以及其输出张量的生命周期进行控制,减少了内存占用和计算开销。
实施例2
本发明还提供了图5所示的一种对应于图1的深度学习任务构图装置的结构框图。本装置包括:
前向计算模块,包括多个前向算子,所述前向计算模块用于通过前向计算获取备选张量集,实现前向构图,其中,所述前向算子与深度学习任务和运行设备无关。算子只描述了算子所具备的基本信息,包括算子类型、名称、输入输出张量以及算子属性,所构建的算子与任务和设备都无关,也不提供任何复杂的推导逻辑。使用宏的方式实现接收算子的名称、算子输入张量名称、算子输出张量名称、输出张量的形状名称,并使用宏的方式实现触发算子构建的执行接口。前向算子没有绑定任何输入或输出张量,其提供的输入符号可以接受任意的张量,传参正确性交给用户来保证。
后向计算模块,包括多个后向算子,所述后向计算模块用于基于所述备选张量集进行后向计算,实现后向构图,建后向算子不仅仅是构建算子本身,同时还需要组织好所需要的输入张量,所述后向算子构建模式是构建即执行;
张量保存模块,用于在前向计算过程中保存用户指定的张量,并在后向计算过程中保存用户指定的张量;
张量过滤模块,用于将后向算子需要的张量保存到所述算子的张量状态类型的张量过滤器成员变量中;
生命周期控制模块,用于在静态图和动态图模式下针对所述前向算子和后向算子进行生命周期控制;
张量作用域控制模块,用于针对所述前向算子/所述后向算子的输出张量进行生命周期控制;
算子执行模块,用于构建计算任务,并获取算子输出张量的索引。
实施例3
本发明还提供了一种深度学习任务构图装置,包括存储器和一个或多个处理器,所述存储器中存储有可执行代码,一个或多个处理器执行所述可执行代码时,用于实现实施例1中的深度学习任务构图方法。在硬件层面,该深度学习任务构图装置包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,以实现上述图1所述的深度学习任务构图的方法。当然,除了软件实现方式之外,本发明并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
实施例4
本发明还提供了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,实现实施例1的深度学习任务构图方法。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种深度学习任务构图方法,其特征在于,包括如下步骤:
获取上下文信息,基于所述上下文信息,通过前向计算构建前向算子,获取包括各个前向算子输入张量、前向算子输出张量和前向算子输出梯度的备选张量集,实现前向构图;
基于所述备选张量集,通过后向计算构建后向算子,获取各个后向算子的输出张量,实现后向构图;
在计算过程中,针对所述前向算子和所述后向算子,以及所述前向算子的输出张量和所述后向算子的输出张量的生命周期进行控制。
2.根据权利要求1所述的一种深度学习任务构图方法,其特征在于,所述的前向算子和所述的后向算子中的任一个,均包括如下信息:算子名称、算子操作数和依赖算子的信息。
3.根据权利要求1所述的一种深度学习任务构图方法,其特征在于,所述的前向算子的构建过程包括如下步骤:
基于所述上下文信息,通过前向计算获取各个前向算子的名称、输入张量名称、输出张量名称和输出张量的形状名称。
4.根据权利要求3所述的一种深度学习任务构图方法,其特征在于,使用宏的方式实现前向算子的名称、输入张量名称、输出张量名称和输出张量的形状名称的获取。
5.根据权利要求1所述的一种深度学习任务构图方法,其特征在于,构建后向算子过程包括如下步骤:
获取用于实现后向算子的后向计算逻辑映射关系,基于所述后向计算逻辑映射关系,获取用于后向计算的张量并进行后向计算。
6.根据权利要求1所述的一种深度学习任务构图方法,其特征在于,针对所述前向算子和所述后向算子进行生命周期进行控制具体包括如下步骤:
静态图的构图模式下,由全局任务进行算子生命周期的控制,当前向计算或后向计算计算完毕后,前向算子或后向算子的生命周期终止;
针对动态图的构图模式,由全局任务或缓存计算图对算子生命周期进行控制,前向计算或后向计算计算完毕后,前向算子或后向算子的生命周期终止。
7.根据权利要求1所述的一种深度学习任务构图方法,其特征在于,前向算子和所述后向算子的输出张量的生命周期进行控制的过程包括如下步骤:
获取前向算子或后向算子的输出张量,基于预设的映射关系获取输出张量对应的索引,并根据预设的规则进行输出张量的生命周期控制。
8.一种深度学习任务构图装置,其特征在于,包括:
前向计算模块,包括多个前向算子,所述前向计算模块用于通过前向计算获取备选张量集,实现前向构图;
后向计算模块,包括多个后向算子,所述后向计算模块用于基于所述备选张量集进行后向计算,实现后向构图;
张量保存模块,用于保存前向算子在前向计算中所需的张量,以及后向算子在后向计算中所需的张量;
生命周期控制模块,用于在静态图和动态图模式下针对所述前向算子和后向算子进行生命周期控制;
张量作用域控制模块,用于针对所述前向算子/所述后向算子的输出张量进行生命周期控制;
算子执行模块,用于构建计算任务,并获取算子输出张量的索引。
9.一种深度学习任务构图装置,其特征在于,包括存储器和一个或多个处理器,所述存储器中存储有可执行代码,所述一个或多个处理器执行所述可执行代码时,用于实现权利要求1-7中任一项所述的深度学习任务构图方法。
10.一种计算机可读存储介质,其特征在于,其上存储有程序,该程序被处理器执行时,实现权利要求1-7中任一项所述的深度学习任务构图方法。
CN202310442740.XA 2023-04-24 2023-04-24 一种深度学习任务构图方法、装置、介质 Active CN116166275B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310442740.XA CN116166275B (zh) 2023-04-24 2023-04-24 一种深度学习任务构图方法、装置、介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310442740.XA CN116166275B (zh) 2023-04-24 2023-04-24 一种深度学习任务构图方法、装置、介质

Publications (2)

Publication Number Publication Date
CN116166275A true CN116166275A (zh) 2023-05-26
CN116166275B CN116166275B (zh) 2023-07-18

Family

ID=86413550

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310442740.XA Active CN116166275B (zh) 2023-04-24 2023-04-24 一种深度学习任务构图方法、装置、介质

Country Status (1)

Country Link
CN (1) CN116166275B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111338635A (zh) * 2020-02-20 2020-06-26 腾讯科技(深圳)有限公司 计算图的图编译方法、装置、设备及存储介质
CN112559163A (zh) * 2019-09-10 2021-03-26 华为技术有限公司 优化张量计算性能的方法及装置
CN114186687A (zh) * 2022-02-17 2022-03-15 之江实验室 一种面向神经网络模型计算的中间表示方法和装置
CN114580653A (zh) * 2022-01-12 2022-06-03 阿里云计算有限公司 机器学习计算优化方法和编译器
WO2022247880A1 (zh) * 2021-05-26 2022-12-01 中科寒武纪科技股份有限公司 一种对神经网络的算子进行融合的方法和相关产品
CN115543639A (zh) * 2022-12-01 2022-12-30 阿里云计算有限公司 分布式执行深度学习任务的优化方法和分布式系统
US20230035451A1 (en) * 2020-01-09 2023-02-02 Microsoft Technology Licensing, Llc Resource usage prediction for deep learning model

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112559163A (zh) * 2019-09-10 2021-03-26 华为技术有限公司 优化张量计算性能的方法及装置
US20230035451A1 (en) * 2020-01-09 2023-02-02 Microsoft Technology Licensing, Llc Resource usage prediction for deep learning model
CN111338635A (zh) * 2020-02-20 2020-06-26 腾讯科技(深圳)有限公司 计算图的图编译方法、装置、设备及存储介质
WO2022247880A1 (zh) * 2021-05-26 2022-12-01 中科寒武纪科技股份有限公司 一种对神经网络的算子进行融合的方法和相关产品
CN114580653A (zh) * 2022-01-12 2022-06-03 阿里云计算有限公司 机器学习计算优化方法和编译器
CN114186687A (zh) * 2022-02-17 2022-03-15 之江实验室 一种面向神经网络模型计算的中间表示方法和装置
CN115543639A (zh) * 2022-12-01 2022-12-30 阿里云计算有限公司 分布式执行深度学习任务的优化方法和分布式系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
YANG BAI等: "AutoGTCO: Graph and Tensor Co-Optimize for Image Recognition with Transformers on GPU", 《2021 IEEE/ACM INTERNATIONAL CONFERENCE ON COMPUTER AIDED DESIGN (ICCAD)》, pages 1 - 9 *
于?;: "新一代深度学习框架研究", 大数据, no. 04, pages 69 - 80 *

Also Published As

Publication number Publication date
CN116166275B (zh) 2023-07-18

Similar Documents

Publication Publication Date Title
CN110442330A (zh) 列表组件转换方法、装置、电子设备及存储介质
CN109725989B (zh) 一种任务执行的方法及装置
CN116185532B (zh) 一种任务执行系统、方法、存储介质及电子设备
CN115599764A (zh) 一种表格数据的迁移方法、设备及介质
CN113204571A (zh) 涉及写入操作的sql执行方法、装置及存储介质
CN115774552A (zh) 配置化的算法设计方法、装置、电子设备及可读存储介质
CN113918126B (zh) 一种基于图算法的ai建模流程编排方法和系统
CN116166275B (zh) 一种深度学习任务构图方法、装置、介质
CN116341642B (zh) 一种数据处理的方法、装置、存储介质及电子设备
CN112860188A (zh) 一种数据迁移方法、系统、设备以及介质
CN110134434B (zh) 一种应用生成处理方法及系统、应用生成系统
CN116778124A (zh) 三维场景编辑方法、系统、设备及存储介质
WO2019179252A1 (zh) 一种样本回放数据存取方法及装置
CN116400914A (zh) 一种基于数据模型快速构建web应用的方法
CN115829826A (zh) 模型存储优化方法及电子设备
CN115270731A (zh) 混合文档的协同编辑方法及装置
CN112288586A (zh) 基于HBase的保险行业数据整合方法及相关设备
CN112182115A (zh) 关系的展示方法和装置、存储介质、电子装置
CN111580938A (zh) 一种工作单元的事务处理方法、装置、设备及介质
CN117406982B (zh) 一种存算一体应用生成系统和生成方法、存储介质及设备
CN116737367B (zh) 一种基于Minio的数据保鲜方法、设备及介质
CN115543323B (zh) 一种页面开发方法及装置
CN116644090B (zh) 一种数据查询方法、装置、设备及介质
CN114003228B (zh) 界面更新方法、装置、计算机设备以及存储介质
CN109117312B (zh) 数据恢复方法及装置

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