CN113011580B - 一种嵌入表征的处理方法以及相关设备 - Google Patents
一种嵌入表征的处理方法以及相关设备 Download PDFInfo
- Publication number
- CN113011580B CN113011580B CN202110184037.4A CN202110184037A CN113011580B CN 113011580 B CN113011580 B CN 113011580B CN 202110184037 A CN202110184037 A CN 202110184037A CN 113011580 B CN113011580 B CN 113011580B
- Authority
- CN
- China
- Prior art keywords
- processor
- embedded
- feature
- target
- neural network
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例公开一种嵌入表征的处理方法以及相关设备,可以应用于对人工智能领域中的神经网络进行训练的场景中,方法应用于嵌入表征的处理系统,所述嵌入表征的处理系统包括管理装置、第一处理器的存储设备和第二处理器的存储设备,方法包括:管理装置获取第一处理器发送的携带有第一特征的目标请求,根据第一嵌入表征的存储地址,获取第一嵌入表征,向第一处理器发送第一嵌入表征,第一嵌入表征用于供第一处理器对神经网络执行训练操作,第一处理器的存储设备和第二处理器的存储设备用于存储不同的嵌入表征,可以同时利用第一处理器和第二处理器来完成嵌入表征的读取操作,以缩短整个训练过程中读取嵌入表征的时间。
Description
技术领域
本申请涉及人工智能领域,尤其涉及一种嵌入表征的处理方法以及相关设备。
背景技术
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式作出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。在搜索推荐系统中,利用神经网络进行个性化推荐是人工智能常见的一个应用方式。
在传统的训练方法中,该神经网络的训练数据集包括多个训练样本,图形处理器(graphics processing unit,GPU)需要先从中央处理器(central processing unit,第二处理器)的内存中获取与一个训练样本对应的嵌入表征,再将与该训练样本对应的嵌入表征输入到神经网络中,以实现对神经网络的训练操作。
但由于第一处理器从第二处理器的内部存储设备中获取数据花费时间较长,神经网络的训练过程效率低下。
发明内容
本申请实施例提供了一种嵌入表征的处理方法以及相关设备,第一处理器的存储设备和第二处理器的存储设备用于存储不同的嵌入表征,由于一个训练样本中可以包括多个第一特征,若与部分第一特征对应的嵌入表征存储于第一处理器的存储设备中,与部分第一特征对应的嵌入表征存储于第二处理器的存储设备中,则可以同时利用第一处理器和第二处理器来完成嵌入表征的读取操作,以缩短整个训练过程中读取嵌入表征的时间。
为解决上述技术问题,本申请实施例提供以下技术方案:
第一方面,本申请实施例提供一种嵌入表征的处理方法,可以应用于对人工智能领域中的神经网络进行训练的场景中,方法应用于嵌入表征的处理系统,嵌入表征的处理系统包括管理装置、第一处理器、第一处理器的存储设备和第二处理器的存储设备,第一处理器用于对目标神经网络执行训练操作。其中,第一处理器和第二处理器可以为不同类型的处理器,例如第一处理器可以采用GPU、嵌入式神经网络处理器NPU或其他处理器等,第二处理器具体可以采用CPU等。方法可以包括:管理装置获取第一处理器发送的目标请求;目标请求中携带有至少一个第一特征,目标请求用于请求获取与至少一个第一特征一一对应的至少一个第一嵌入表征(embedding representation),第一特征为目标神经网络的第一训练样本中的特征。管理装置获取与第一特征对应的第一嵌入表征的存储地址,当第一嵌入表征的存储地址指向第二处理器的存储设备,根据第一嵌入表征的存储地址,获取第一嵌入表征。其中,第一处理器的存储设备和第二处理器的存储设备用于存储不同的嵌入表征。管理装置向第一处理器发送第一嵌入表征,第一嵌入表征用于供第一处理器利用第一嵌入表征对目标神经网络执行训练操作。
本实现方式中,第一处理器的存储设备和第二处理器的存储设备用于存储不同的嵌入表征,由于一个训练样本中可以包括多个第一特征,若与部分第一特征对应的嵌入表征存储于第一处理器的存储设备中,与部分第一特征对应的嵌入表征存储于第二处理器的存储设备中,则可以同时利用第一处理器和第二处理器来完成嵌入表征的读取操作,以缩短整个训练过程中读取嵌入表征的时间。
在第一方面的一种可能实现方式中,当第一嵌入表征的存储地址指向第一处理器的存储设备,管理装置向第一处理器发送第一嵌入表征的存储地址,第一嵌入表征的存储地址用于指示第一处理器从第一处理器的存储设备中获取第一嵌入表征。
本实现方式中,由于第一处理器从第一处理器的存储设备中获取嵌入表征的速度快,将部分嵌入表征存储于第一处理器的存储设备中,且当第一嵌入表征的存储地址指向第一处理器的存储设备时,管理装置向第一处理器发送第一嵌入表征的存储地址,从而第一处理器可以直接从第一处理器的存储设备中读取部分嵌入表征,进而可以缩短整个训练过程中读取嵌入表征的时间。
在第一方面的一种可能实现方式中,嵌入表征的处理系统还可以包括第三处理器,第三处理器和第一处理器为相同类型的处理器,第三处理器用于对目标神经网络执行训练操作,例如第三处理器和第一处理器均采用GPU,再例如第三处理器和第一处理器均采用 NPU,当第一嵌入表征的存储地址指向第三处理器的存储设备,管理装置向第一处理器发送第一嵌入表征的存储地址,第一嵌入表征的存储地址用于指示第一处理器采用环全合并减少(ring-all reduce)的方式,从第三处理器中获取第一嵌入表征。
在第一方面的一种可能实现方式中,与第一处理器的存储设备中存储的嵌入表征对应的第二特征的出现次数高于与第二处理器的存储设备中存储的嵌入表征对应的第二特征的出现次数,第二特征的出现次数用于指示第二特征在目标神经网络的第一训练数据集中的出现次数;需要说明的是,第一特征的概念与第二特征的概念相同,区别在于第二特征是泛指的任一个字符,第一特征是特指与第一训练样本对应的字符。
本实现方式中,与第一处理器的存储设备中存储的嵌入表征对应的特征的出现次数高于与第二处理器的存储设备中存储的嵌入表征对应的特征的出现次数,特征的出现次数用于指示特征在目标神经网络的第一训练数据集中的出现次数,也即与训练过程中使用频率高的特征对应的嵌入表征被存储在第一处理器的存储设备中,由于从第一处理器的存储设备中读取数据花费的时间较短,将使用频率高的嵌入表征存储于第一处理器的存储设备中,可以缩短整个训练过程中读取嵌入表征的时间;由于第一处理器的存储设备的空间较小,第二处理器的存储设备的空间较大,将使用频率低的嵌入表征存储于第二处理器的存储设备中,能够保证本方案能够兼容第一训练数据集很大的应用场景。
在第一方面的一种可能实现方式中,一个第一特征可以是原始的训练样本包括的一个字符串;作为示例,例如一个字符串可以为一个用户标识,或者,一个字符串可以为一个产品标识,或者,一个字符串可以代表一个用户的年龄等。或者,一个第一特征指的是经过预处理的训练样本包括的一个整数型的数字串,前述预处理指的是将原始的训练样本中的每个字符串转换为整数型的数字串,作为示例,例如与两个不同的用户标识对应的两个第一特征为不同的第一特征;作为另一示例,例如与用户的年龄对应的第一特征,和与用户的手机型号对应的第一特征为不同的第一特征等。
在第一方面的一种可能实现方式中,整个嵌入表征的处理系统具体表现为一个电子设备,管理装置为前述电子设备中运行的进程,电子设备中集成有第一处理器和第二处理器,电视这边通过第二处理器运行有多个读写进程,则管理装置根据第一嵌入表征的存储地址,获取第一嵌入表征,可以包括:管理装置从前述多个读写进程中获取与第一嵌入表征的存储地址对应的目标读写进程,并通过目标读写进程从第一嵌入表征的存储地址处读取第一嵌入表征。
在第一方面的一种可能实现方式中,在一种情况中,整个嵌入表征的处理系统中包括多个电子设备,每个电子设备中集成有第一处理器和第二处理器,且每个电子设备中均运行有管理装置,管理装置为前述电子设备中运行的进程,电子设备通过第二处理器运行有多个读写进程。在另一种情况中,管理装置和第一处理器分别配置于整个嵌入表征的处理系统包括的两个不同的电子设备中,电子设备通过第二处理器运行有多个读写进程。在前述两种系统架构下,管理装置根据第一嵌入表征的存储地址,获取第一嵌入表征,可以包括:若第一嵌入表征的存储地址为当前管理装置所在的电子设备,则管理装置从当前管理装置所在的电子设备运行的多个读写进程中获取与第一嵌入表征的存储地址对应的目标读写进程,并通过目标读写进程从第一嵌入表征的存储地址处读取第一嵌入表征。若第一嵌入表征的存储地址不是当前管理装置所在的电子设备,则当前管理装置向用于存储第一嵌入表征的电子设备发送第一数据获取请求,并接收第一嵌入表征。其中,第一数据获取请求中携带有第一特征,用于请求获取与第一特征对应的第一嵌入表征。
在第一方面的一种可能实现方式中,训练样本中第二特征的类型为高频、中频或低频中的任一种,类型为高频的第二特征在第一训练数据集中的出现次数大于类型为中频的第二特征在第一训练数据集中的出现次数,类型为中频的第二特征在第一训练数据集中的出现次数大于类型为低频的第二特征在第一训练数据集中的出现次数。嵌入表征的处理系统包括至少两个第一处理器的存储设备,每个第一处理器的存储设备中均存储有与类型为高频的所有字符对应的嵌入表征,至少两个第一处理器的存储设备共同存储与类型为中频的字符对应的嵌入表征,不同的第一处理器的存储设备中存储有与不同的中频字符对应的嵌入表征,第二处理器的存储设备用于存储与类型为低频的字符对应的嵌入表征。
本实现方式中,将第二特征的类型划分为高频、中频和低频三种类型,由于技术人员统计训练数据时发现,在神经网络的训练数据集中,第二特征的出现频次呈现长尾分布,也即类型为高频的第二特征最少,类型为中频的第二特征的数量次之,类型为低频的第二特征的数量最多。每个第一处理器的存储设备中均存储有与类型为高频的第二特征对应的嵌入表征,从而每个第一处理器均能从自己的存储设备中读取到类型为高频的第二特征对应的嵌入表征;由于多个第一处理器共同存储与类型为中频的第二特征对应的嵌入表征,第一处理器也能较快的从其他第一处理器中获取到与类型为中频的第二特征对应的嵌入表征;第二处理器的存储设备(优选为第二处理器的内部存储设备)中存储有与类型为低频的第二特征对应的嵌入表征,从而与类型为低频的第二特征对应的嵌入表征的获取速度最慢。使得最频繁使用的嵌入表征能够最快速的被获取到,使用频率次之的嵌入表征能够较快速的被获取到,最低频率使用的嵌入表征采用较慢的速度才能获取到,且第一处理器的存储设备存储空间小且价格贵,第二处理器的存储设备存储空间大且价格相对低,采用本方案这种分配方式不仅综合了第二处理器的存储设备和第二处理器的存储特点和读写速度特点,不仅有利于提升整体嵌入表征获取过程的速率,且有利于提高第一处理器显存的利用率。
在第一方面的一种可能实现方式中,管理装置中预先存储有目标指示信息、第一记录信息、第二记录信息和第三记录信息,目标指示信息用于指示每个第二特征的类型,第一记录信息用于记录与类型为高频的第二特征对应的嵌入表征在每个第一处理器的存储设备中的存储地址,第二记录信息用于记录与类型为中频的第二特征对应的嵌入表征在目标第一处理器的存储设备中的存储地址,第三记录信息用于指示与类型为低频的第二特征对应的嵌入表征的存储信息。管理装置获取与第一特征对应的第一嵌入表征的存储地址,可以包括:管理装置根据目标指示信息,获取每个第一特征的类型,从第一记录信息、第二记录信息和第三记录信息中获取与第一特征的类型对应的记录信息,并从与第一特征的类型对应的记录信息中获取与第一特征对应的第一嵌入表征的存储地址。
在第一方面的一种可能实现方式中,第一嵌入表征用于供第一处理器利用第一嵌入表征对目标神经网络执行训练操作,以得到与第一嵌入表征对应的梯度,方法还可以包括:管理装置获取与第一特征对应的更新后嵌入表征,更新后嵌入表征为根据第一嵌入表征和与第一嵌入表征对应的梯度得到的。管理装置获取与第一特征对应的第一嵌入表征的存储地址,根据第一嵌入表征的存储地址,指示将第一嵌入表征变更为更新后嵌入表征。其中,管理装置获取与第一特征对应的第一嵌入表征的存储地址的具体实现方式可参阅上述描述,管理装置将第一嵌入表征变更为更新后嵌入表征的具体实现方式可参阅管理装置获取第一嵌入表征的具体实现方式,区别在于“获取第一嵌入表征”是一种数据读取操作,“将第一嵌入表征变更为更新后嵌入表征”是一种数据写入操作。
本实现方式中,在对神经网络进行训练的过程中还会生成与嵌入表征对应的梯度,并根据嵌入表征的存储地址,指示更新嵌入表征,也即在对神经网络进行训练的过程中会不断更新第一处理器的存储设备和第二处理器的存储设备中存储的嵌入表征,由于更新后的嵌入表征更容易被神经网络理解,以提高训练后的神经网络的精度。
在第一方面的一种可能实现方式中,方法还可以包括:管理装置获取神经网络的第二训练数据集,第二训练数据集为神经网络的更新后的训练数据集,第二训练数据集包括多个训练样本,每个训练样本中包括一个或多个第二特征。管理装置根据第二训练数据集,对与第二训练数据集中的训练样本包括的多个第二特征进行分类,以得到第二训练数据集中每个第二特征的类型;每个第二特征的类型可以为高频或低频中的任一种,或者,每个第二特征的类型可以为高频、中频或低频中的任一种,或者,每个第二特征的类型可以为超高频、高频、中频或低频中的任一种,或者,第二特征的类型还可以有更细节的划分方式等,此处不做赘述。管理装置根据目标指示信息判断多个第二特征中是否存在类型发生改变的目标特征,在多个第二特征中目标特征的类型发生改变的情况下,管理装置根据目标特征的更新后的类型,获取与目标特征对应的第二嵌入表征的更新后的存储地址,指示将第二嵌入表征存储至更新后的存储地址,目标特征为第二训练数据集中的一个特征。在确定第二嵌入表征被存储至更新后的存储地址后,还会更新与第二特征对应的嵌入表征的存储地址信息,更新后的与第二特征对应的嵌入表征的存储地址信息指示与目标特征对应的第二嵌入表征被存储至更新后的存储地址中。
本实现方式中,管理装置能够及时获取更新后的第二训练数据集训练神经网络,也即能够利用最新的训练数据对神经网络进行训练,有利于提高训练后的神经网络的精度,且根据更新后的训练数据集对每个第二特征进行分类,也即保证第一处理器的存储设备中存储的一直是被高频率使用的嵌入表征,以保证训练阶段数据读取过程的效率,也有利于保证第一处理器的存储设备中的存储空间被合理使用。
在第一方面的一种可能实现方式中,嵌入表征的处理系统为电子设备,电子设备中配置有第一处理器、第一处理器的存储设备、第二处理器和第二处理器的存储设备,管理装置为通过第二处理器运行的进程;或者,嵌入表征的处理系统包括至少两个电子设备,管理装置和第一处理器配置于不同的电子设备中,管理装置为通过第二处理器运行的进程,也即运行有管理装置的电子设备中还配置有第二处理器。本实现方式中,提供了整个嵌入表征的处理系统的两种具体实现方式,扩展了本方案的应用场景,提高了本方案的实现灵活性。
在第一方面的一种可能实现方式中,目标神经网络应用于具有推荐功能的搜索系统中,目标神经网络的训练样本指示一个用户通过该搜索推荐系统执行的行为,前述行为可以为搜索行为、下载行为、购买行为、收藏行为或其他行为等。进一步地,一个训练样本指示与该行为对应的用户信息和与该行为对应的产品信息;可选地,一个训练样本还可以用于指示与用户的历史行为信息对应的产品标识。进一步地,用户信息可以包括用户标识、用户的性别、用户的年龄、用户的手机型号或其他用户信息等,用户标识具体可以表现为一个字符串,用于唯一标识一个用户;用户的性别、用户的年龄或用户的手机型号等也均可以表现为字符串的形式。产品信息可以包括产品标识、产品类别、产品的开发商或其他产品信息等;产品标识具体可以表现为一个字符串,用于唯一标识一个产品,产品类别或产品的开发商等产品信息也可以表现为字符串的形式。本实现方式中,提供了训练样本的具体包括哪些信息,增强了本方案与具体应用场景的结合程度。
第二方面,本申请实施例提供了一种嵌入表征的处理方法,可以应用于对人工智能领域中的神经网络进行训练的场景中,嵌入表征的处理方法可以应用于嵌入表征的处理系统,嵌入表征的处理系统包括管理装置、第一处理器的存储设备和第二处理器的存储设备,第一处理器用于对目标神经网络执行训练操作,方法包括:第一处理器向管理装置发送目标请求,其中,目标请求中携带有第一特征,目标请求用于指示管理装置获取与第一特征对应的第一嵌入表征的存储地址,第一处理器的存储设备和第二处理器的存储设备用于存储不同的嵌入表征;在第一嵌入表征的存储地址指向第二处理器的存储设备的情况下,第一处理器接收管理装置发送的第一嵌入表征;第一处理器利用第一嵌入表征,对目标神经网络执行训练操作。
在第二方面的一种可能实现方式中,与第一处理器的存储设备中存储的嵌入表征对应的特征的出现次数高于与第二处理器的存储设备中存储的嵌入表征对应的特征的出现次数,训练样本中特征的出现次数用于指示特征在目标神经网络的第一训练数据集中的出现次数。
在第二方面的一种可能实现方式中,嵌入表征的处理系统还包括第三处理器,第三处理器用于对目标神经网络执行训练操作。第一处理器利用第一嵌入表征,对神经网络执行训练操作,可以包括:第一处理器利用第一嵌入表征,对神经网络执行训练操作,以得到与神经网络的权重参数对应的梯度和与第一嵌入表征对应的梯度。方法还可以包括:在第一嵌入表征的存储地址指向第二处理器的存储设备的情况下,第一处理器向管理装置发送与第一嵌入表征对应的梯度,与第一嵌入表征对应的梯度用于供管理装置得到与第一特征对应的更新后嵌入表征;第一处理器向第三处理器发送与神经网络的权重参数对应的梯度,以根据至少两个第一处理器生成的与神经网络的权重参数对应的至少两组不同的梯度得到与神经网络的权重参数对应的一组合并后的梯度,合并后的梯度用于更新神经网络的权重参数。前述合并的方式可以为叠加、取最大值、取最小值、求平均值或其他运算等等,此处不做限定。进一步地,多个第一处理器可以通过环全合并减少(ring-all reduce)的方式更新目标神经网络的权重参数。其中,环全合并减少的方式指的是将多个第一处理器生成的与目标神经网络的权重参数对应的多组不同的梯度合并为一组梯度,并将合并后的一组梯度分别发送给每个第一处理器,以使每个第一处理器利用合并后的一组梯度更新目标神经网络的权重参数。
本实现方式中,若嵌入表征的处理系统还包括第三处理器,则在对神经网络进行训练的过程中,第一处理器和第三处理器之间采用直接通信的方式来更新神经网络的权重参数,在第一嵌入表征的存储地址指向第二处理器的存储设备的情况下,第一处理器通过将与嵌入表征对应的梯度发送给管理装置,以通过管理装置来更新与样本中的字符对应的嵌入表征,也即不同类型的数据采用不同类型的更新方式,有利于提高整个梯度更新过程的效率。
在第二方面的一种可能实现方式中,在第一嵌入表征的存储地址指向第一处理器的存储设备,或者,在第一嵌入表征的存储地址指向第三处理器的存储设备的情况下,第一处理器向第三处理器发送与第一嵌入表征对应的梯度,以通过环全合并减少的方式更新与第一特征对应的嵌入表征。
本申请实施例的第二方面提供的第一处理器还可以执行第一方面的各个可能实现方式中第一处理器执行的步骤,对于本申请实施例第二方面以及第二方面的各种可能实现方式的具体实现步骤,以及每种可能实现方式所带来的有益效果,均可以参考第一方面中各种可能的实现方式中的描述,此处不再一一赘述。
第三方面,本申请实施例提供一种管理装置,可以应用于对人工智能领域中的神经网络进行训练的场景中,管理装置包括于嵌入表征的处理系统,嵌入表征的处理系统还包括第一处理器的存储设备和第二处理器的存储设备,第一处理器用于对目标神经网络执行训练操作,管理装置包括:获取模块,用于获取第一处理器发送的目标请求,目标请求中携带有第一特征,目标请求用于请求获取与第一特征对应的第一嵌入表征,第一特征为目标神经网络的第一训练样本中的特征;获取模块,还用于获取与第一特征对应的第一嵌入表征的存储地址,当第一嵌入表征的存储地址指向第二处理器的存储设备,根据第一嵌入表征的存储地址,获取第一嵌入表征,其中,第一处理器的存储设备和第二处理器的存储设备用于存储不同的嵌入表征;发送模块,用于向第一处理器发送第一嵌入表征,第一嵌入表征用于供第一处理器利用第一嵌入表征对神经网络执行训练操作。
本申请实施例的第三方面提供的管理装置还可以执行第一方面的各个可能实现方式中管理装置执行的步骤,对于本申请实施例第三方面以及第三方面的各种可能实现方式的具体实现步骤,以及每种可能实现方式所带来的有益效果,均可以参考第一方面中各种可能的实现方式中的描述,此处不再一一赘述。
第四方面,本申请实施例提供一种处理器,可以应用于对人工智能领域中的神经网络进行训练的场景中,处理器为第一处理器,第一处理器包括于嵌入表征的处理系统,嵌入表征的处理系统还包括管理装置、第一处理器的存储设备和第二处理器的存储设备,第一处理器用于对目标神经网络执行训练操作,第一处理器包括:发送模块,用于向管理装置发送目标请求,其中,目标请求中携带有第一特征,目标请求用于指示管理装置获取与第一特征对应的第一嵌入表征的存储地址,第一处理器的存储设备和第二处理器的存储设备用于存储不同的嵌入表征;接收模块,用于在第一嵌入表征的存储地址指向第二处理器的存储设备的情况下,接收管理装置发送的第一嵌入表征;训练模块,用于利用第一嵌入表征,对目标神经网络执行训练操作。
本申请实施例的第四方面还可以执行第二方面的各个可能实现方式中第一处理器执行的步骤,对于本申请实施例第四方面以及第四方面的各种可能实现方式的具体实现步骤,以及每种可能实现方式所带来的有益效果,均可以参考第二方面中各种可能的实现方式中的描述,此处不再一一赘述。
第五方面,本申请实施例提供了一种嵌入表征的处理系统,可以应用于对人工智能领域中的神经网络进行训练的场景中,嵌入表征的处理系统包括管理装置、第一处理器、第一处理器的存储设备和第二处理器的存储设备;其中,第一处理器,用于执行上述第二方面所述的嵌入表征的处理方法中第一处理器执行的步骤;管理装置,用于执行上述第一方面所述的嵌入表征的处理方法中管理装置执行的步骤。
第六方面,本申请实施例提供了一种电子设备,可以包括处理器,处理器和存储器耦合,存储器存储有程序指令,当存储器存储的程序指令被处理器执行时实现上述第一方面或第二方面所述的嵌入表征的处理方法。
第七方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当所述程序在计算机上运行时,使得计算机执行上述第一方面或第二方面所述的嵌入表征的处理方法。
第八方面,本申请实施例提供了一种电路系统,所述电路系统包括处理电路,所述处理电路配置为执行上述第一方面或第二方面所述的嵌入表征的处理方法。
第九方面,本申请实施例提供了一种计算机程序,当其在计算机上运行时,使得计算机执行上述第一方面或第二方面所述的嵌入表征的处理方法。
第十方面,本申请实施例提供了一种芯片系统,该芯片系统包括处理器,用于实现上述各个方面中所涉及的功能,例如,发送或处理上述方法中所涉及的数据和/或信息。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存服务器或通信设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。
附图说明
图1为本申请实施例提供的人工智能主体框架的一种结构示意图;
图2a为本申请实施例提供的嵌入表征的处理系统的一种系统架构图;
图2b为本申请实施例提供的嵌入表征的处理系统的一种系统架构图;
图2c为本申请实施例提供的嵌入表征的处理系统的一种系统架构图;
图3为本申请实施例提供的嵌入表征的处理方法的一种流程示意图;
图4为本申请实施例提供的嵌入表征的处理方法中存储与类型为高频的第二特征对应的嵌入表征的一种流程示意图;
图5为本申请实施例提供的嵌入表征的处理方法中存储与类型为中频的第二特征对应的嵌入表征的一种流程示意图;
图6为本申请实施例提供的嵌入表征的处理方法中存储与类型为低频的第二特征对应的嵌入表征的一种流程示意图;
图7为本申请实施例提供的嵌入表征的处理方法中第一处理器更新权重参数的一种流程示意图;
图8为本申请实施例提供的嵌入表征的处理方法中第一处理器发送梯度的一种流程示意图;
图9为本申请实施例提供的嵌入表征的处理方法的有益效果的一种示意图;
图10为本申请实施例提供的管理装置的一种结构示意图;
图11为本申请实施例提供的管理装置的另一种结构示意图;
图12为本申请实施例提供的第一处理器的一种结构示意图;
图13为本申请实施例提供的电子设备的一种结构示意图;
图14为本申请实施例提供的芯片的一种结构示意图。
具体实施方式
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。
下面结合附图,对本申请的实施例进行描述。本领域普通技术人员可知,随着技术的发展和新场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
首先对人工智能系统总体工作流程进行描述,请参见图1,图1示出的为人工智能主体框架的一种结构示意图,下面从“智能信息链”(水平轴)和“IT价值链”(垂直轴) 两个维度对上述人工智能主题框架进行阐述。其中,“智能信息链”反映从数据的获取到处理的一列过程。举例来说,可以是智能信息感知、智能信息表示与形成、智能推理、智能决策、智能执行与输出的一般过程。在这个过程中,数据经历了“数据—信息—知识—智慧”的凝练过程。“IT价值链”从人智能的底层基础设施、信息(提供和处理技术实现) 到系统的产业生态过程,反映人工智能为信息技术产业带来的价值。
(1)基础设施
基础设施为人工智能系统提供计算能力支持,实现与外部世界的沟通,并通过基础平台实现支撑。通过传感器与外部沟通;计算能力由智能芯片提供,该智能芯片具体可以采用第二处理器、嵌入式神经网络处理器(neural-network processing unit,NPU)、GPU、专用集成电路(application specific integrated circuit,ASIC)或现场可编程门阵列(field programmable gate array,FPGA)等硬件加速芯片;基础平台包括分布式计算框架及网络等相关的平台保障和支持,可以包括云存储和计算、互联互通网络等。举例来说,传感器和外部沟通获取数据,这些数据提供给基础平台提供的分布式计算系统中的智能芯片进行计算。
(2)数据
基础设施的上一层的数据用于表示人工智能领域的数据来源。数据涉及到图形、图像、语音、文本,还涉及到传统设备的物联网数据,包括已有系统的业务数据以及力、位移、液位、温度、湿度等感知数据。
(3)数据处理
数据处理通常包括数据训练,机器学习,深度学习,搜索,推理,决策等方式。
其中,机器学习和深度学习可以对数据进行符号化和形式化的智能信息建模、抽取、预处理、训练等。
推理是指在计算机或智能系统中,模拟人类的智能推理方式,依据推理控制策略,利用形式化的信息进行机器思维和求解问题的过程,典型的功能是搜索与匹配。
决策是指智能信息经过推理后进行决策的过程,通常提供分类、排序、预测等功能。
(4)通用能力
对数据经过上面提到的数据处理后,进一步基于数据处理的结果可以形成一些通用的能力,比如可以是算法或者一个通用系统,例如,翻译,文本的分析,计算机视觉的处理,语音识别,图像的识别等等。
(5)智能产品及行业应用
智能产品及行业应用指人工智能系统在各领域的产品和应用,是对人工智能整体解决方案的封装,将智能信息决策产品化、实现落地应用,其应用领域主要包括:智能终端、智能制造、智能交通、智能家居、智能医疗、智能安防、自动驾驶、平安城市等。
本申请可以应用于搜索推荐系统的个性化推荐场景中,搜索推荐系统指的是具有推荐功能的搜索系统。作为示例,例如用户的手机中安装有“应用商城”这一应用程序(application, APP),“应用商城”这一应用程序为一种搜索推荐系统,其中可以配置有预先训练好的目标神经网络,通过前述目标神经网络向用户推荐用户感兴趣的应用程序。作为另一示例,例如用户的平板中安装有购物类的应用程序,前述购物类的应用程序为一种搜索推荐系统,其中可以配置有与预先训练好的目标神经网络,通过前述目标神经网络向用户推荐用户感兴趣的产品等等,应当理解,本申请实施例还可以应用于其他类型的搜索推荐系统中,此处不再对其他应用场景进行一一列举。
在上述种种场景中,目标神经网络的训练数据集中包括多个训练样本,训练样本指示一个用户通过该搜索推荐系统执行的行为,前述行为可以为用户对搜索推荐系统展示的推荐产品的响应行为、用户基于该搜索推荐系统执行的下载行为、购买行为、收藏行为或其他行为等。在第一处理器利用一个训练样本对目标神经网络进行训练的过程中,第一处理器先获取与该训练样本对应的嵌入表征(embedding representation),进而将与该训练样本对应的嵌入表征输入目标神经网络中,以执行训练操作。
其中,一个训练样本指示与该行为对应的用户信息和该行为对应的产品信息;可选地,一个训练样本还可以用于指示与用户的历史行为信息对应的产品标识。进一步地,用户信息可以包括用户标识、用户的性别、用户的年龄、用户的手机型号或其他用户信息等,用户标识具体可以表现为一个字符串,用于唯一标识一个用户;用户的性别、用户的年龄或用户的手机型号等也均可以表现为字符串的形式。
产品信息可以包括产品标识、产品类别、产品的开发商或其他产品信息等;产品标识具体可以表现为一个字符串,用于唯一标识一个产品,产品类别或产品的开发商等产品信息也可以表现为字符串的形式。
与用户的历史行为信息对应的产品标识可以为用户点击的产品的标识、用户下载的产品的标识、用户收藏的产品的标识、用户购买的产品的标识等等,具体与用户的历史行为信息对应的产品标识有哪些类型,需要结合搜索推荐系统的类型以及用户的历史行为来确定,此处不做限定。本实现方式中,提供了训练样本的具体包括哪些信息,增强了本方案与具体应用场景的结合程度。
由于不同的训练样本中的用户信息、产品信息以及与用户的历史行为信息对应的产品标识等信息可能会重合,整个训练系统中预先根据目标神经网络的训练数据集,统计所有种类的用户标识、用户的性别、用户的年龄、用户的手机型号等用户信息,以及产品标识、产品类别、产品的开发商等产品信息,并预先存储有与训练数据集中每个种类的用户信息、产品信息对应的嵌入表征,从而第一处理器在训练的过程中可以获取与当前训练样本对应的嵌入表征。但由于与整个训练数据集对应的嵌入表征被存储于第二处理器的存储设备中,第一处理器往往是通过第一处理器来执行训练操作的,从第二处理器的存储设备中读取数据需要花费较长的时间,从而导致目标神经网络的训练过程效率低下。其中,第一处理器具体可以采用NPU、GPU或其他专门用于执行训练操作的芯片等,第二处理器可以采用CPU或其他类型的芯片来实现等,此处不做穷举。
为了解决上述问题,本申请实施例提供了一种嵌入表征的处理方法,为了对本方案有更加直观地理解,结合图2a至图2c对本申请实施例提供的嵌入表征的处理系统进行介绍,图2a至图2c为本申请实施例提供的嵌入表征的处理系统的三种系统架构图,嵌入表征的处理系统包括管理装置10、第一处理器20、第一处理器的存储设备和第二处理器的存储设备。其中,在部分场景中,管理装置10也可以称为工作(work)节点,第一处理器20 也可以称为服务(server)节点;第二处理器的存储设备可以包括第二处理器的内部存储设备和第二处理器的外部存储器。
在一种实现方式中,先参阅图2a,整个嵌入表征的处理系统表现为一个电子设备,电子设备中配置有第一处理器20、第一处理器的存储设备、管理装置10、第二处理器以及第二处理器的存储设备。管理装置10为电子设备通过第二处理器运行的进程,第一处理器20用于对目标神经网络执行训练操作。
在另一种实现方式中,参阅图2b,整个嵌入表征的处理系统表现为多个电子设备,每个电子设备中均配置有第一处理器20、第一处理器的存储设备、第二处理器以及第二处理器的存储设备。在每个电子设备中,管理装置10为电子设备通过第二处理器运行的进程。
在再一种实现方式中,参阅图2c,整个嵌入表征的处理系统表现为多个电子设备,管理装置10和第一处理器20配置于不同的电子设备中,管理装置10所在的电子设备中可以仅配置有第二处理器以及第二处理器的存储设备,管理装置10为通过第二处理器运行的进程。第一处理器20所在的电子设备需要配置有第一处理器20、第一处理器的存储设备、第二处理器以及第二处理器的存储设备。
具体的,在图2a至图2c示出的系统中,第一处理器20向管理装置10发送目标请求,目标请求中携带有一个或多个第一特征,目标请求用于请求获取与每个第一特征对应的第一嵌入表征,该一个或多个第一特征来源于目标神经网络的一个训练样本。管理装置10 获取与每个第一特征对应的第一嵌入表征的存储地址,当第一嵌入表征的存储地址指向第二处理器的存储设备,根据第一嵌入表征的存储地址,获取第一嵌入表征,向第一处理器发送第一嵌入表征,第一嵌入表征用于供第一处理器利用第一嵌入表征对目标神经网络执行训练操作。其中,第一处理器的存储设备和第二处理器的存储设备用于存储不同的嵌入表征。本实现方式中,提供了整个嵌入表征的处理系统的三种具体实现方式,扩展了本方案的应用场景,提高了本方案的实现灵活性。
第一处理器的存储设备和第二处理器的存储设备用于存储不同的嵌入表征,由于一个训练样本中可以包括多个第一特征,若与部分第一特征对应的嵌入表征存储于第一处理器的存储设备中,与部分第一特征对应的嵌入表征存储于第二处理器的存储设备中,则可以同时利用第一处理器和第二处理器来完成嵌入表征的读取操作,以缩短整个训练过程中读取嵌入表征的时间。
需要说明的是,虽然图2a中示出的整个嵌入表征的管理系统包括三个第一处理器20 和两个第二处理器;图2b中示出的整个嵌入表征的处理系统包括两个电子设备,每个电子设备中配置有两个第一处理器20和一个第二处理器;图2c中示出的整个嵌入表征的处理系统中包括三个电子设备(也即分别为两个第一处理器20和一个管理装置10),第一处理器20中配置有两个第一处理器20和一个第二处理器,但本申请实施例不限定电子设备的数量,也不限定电子设备中第一处理器20和第二处理器的数量。
结合上述描述,下面开始对本申请实施例提供的嵌入表征的处理方法的具体实现流程进行描述。本申请实施例中,具体的,请参阅图3,图3为本申请实施例提供的嵌入表征的处理方法的一种流程示意图,本申请实施例提供的嵌入表征的处理方法可以包括:
301、管理装置获取目标神经网络的第一训练数据集。
本申请实施例中,管理装置在对目标神经网络执行训练操作之前,会获取目标神经网络的第一训练数据集。其中,第一训练数据集包括多个训练样本,对于一个训练样本的含义可参阅上述描述,此处不做赘述。
需要说明的是,在图2a和图2c示出的嵌入表征的处理系统中,整个嵌入表征的处理系统中仅存在一个管理装置,则管理装置可以获取到完整的第一训练数据集。对于图2b示出的嵌入表征的处理系统中,由于整个系统中可以包括多个管理装置,则在一种情况下,可以为将完整的第一训练数据集配置于任一个电子设备中,则电子设备中配置的管理装置能够获取到完整的第一训练数据集;在另一种情况下,可以为将第一训练数据集包括的多个训练样本分别布置于不同的电子设备中,从而不同的管理装置能够获取到整个第一训练数据集中的部分数据。
可选地,管理装置在获取到目标神经网络的第一训练数据集之后,还可以对第一训练数据集中的每个训练样本进行预处理,也即将每个原始的训练样本包括的多个字符串均转换成整数型的数字串,以得到进行过预处理后的第一训练数据集。其中,进行过预处理后的第一训练数据集中每个训练样本可以仅包括与原始的字符串对应的整数型的数字串,也可以同时包括原始的字符串和与原始的字符串对应的整数型的数字串。
302、管理装置对第一训练数据集中的第二特征进行分类,以得到第一训练数据集中每个第二特征的类型。
本申请实施例中,第一训练数据集可以包括多个不同的第二特征,管理装置可以对第一训练数据集进行统计,以确定与第一训练数据集对应的所有种类的第二特征。其中,第二特征指的是训练样本中的用户特征或产品特征等;在一种情况中,一个第二特征指的是未进行过预处理的训练样本包括的一个字符串;在另一种情况中,一个第二特征指的是经过预处理的训练样本包括的一个整数型的数字串。作为示例,例如与两个不同的用户标识对应的两个第二特征为不同的第二特征;作为另一示例,例如与用户的年龄对应的第二特征,和与用户的手机型号对应的第二特征为不同的第二特征;作为再一示例,例如与两个不同的产品标识对应的两个第二特征为不同的第二特征等等,此处不做穷举。
针对前述多个不同的第二特征中目标第二特征,目标第二特征为多个不同的第二特征中任意一个第二特征。管理装置可以根据目标第二特征在第一训练数据集中出现的次数,确定目标第二特征的类型。
其中,在一种实现方式中,每个第二特征的类型可以为高频或低频中的任一种,类型为高频的第二特征在第一训练数据集中出现的次数大于类型为低频的第二特征在第一训练数据集中出现的次数,也即类型为高频的第二特征在第一训练数据集中出现的频率高。
在另一种实现方式中,每个第二特征的类型可以为高频、中频或低频中的任一种;类型为高频的第二特征在第一训练数据集中出现的次数大于类型为中频的第二特征在第一训练数据集中出现的次数,类型为中频的第二特征在第一训练数据集中出现的次数大于类型为低频的第二特征在第一训练数据集中出现的次数。
在另一种实现方式中,每个第二特征的类型可以为超高频、高频、中频或低频中的任一种;类型为超高频的第二特征在第一训练数据集中出现的次数大于类型为高频的第二特征在第一训练数据集中出现的次数,需要说明的是,在实际情况中,第二特征的类型还可以有更细节的划分方式,具体情况应结合实际应用环境确定,此处不做限定。
具体的,针对多个不同的第二特征中目标第二特征的分类过程。此处以每个第二特征的类型可以为高频、中频或低频中的任一种为例进行说明。在一种情况下,第二特征指的是原始的第一训练数据集中的字符串。管理装置中可以预先配置有第一阈值和第二阈值,管理装置获取目标第二特征在第一训练数据集中出现的第一次数,若第一次数大于或等于第一阈值,则确定目标第二特征的类型为高频;若第一次数大于或等于第二阈值且小于第一阈值,则确定目标第二特征的类型为中频;若第一次数小于第二阈值,则确定目标第二特征的类型为低频。管理装置对每种类型的第二特征均执行前述操作,以得到每种类型的第二特征的类型,也即得到了每个第二特征的类型。
更具体的,针对第一次数的获取方式,在一种实现方式中,管理装置可以遍历第一训练数据集中的所有训练样本,以确定目标第二特征在第一训练数据集中出现的第一次数。在另一种是实现方式中,管理设备可以通过采样的方式,预测目标第二特征在第一训练数据集中出现的第一次数。
在另一种情况下,第二特征指的是进行过预处理后的第一训练数据集中的整数型的数字串。具体的,针对多个不同的第二特征中目标第二特征,与第二特征为原始的第一训练数据集中的字符串的情形类似,管理装置中也可以预先配置有第一阈值和第二阈值,获取目标第二特征在预处理后的第一训练数据集中出现的第一次数,若第二次数大于或等于第一阈值,则确定目标第二特征的类型为高频;若第二次数大于或等于第二阈值且小于第一阈值,则确定目标第二特征的类型为中频;若第二次数小于第二阈值,则确定目标第二特征的类型为低频。对于第二次数的获取方式与第一次数的获取方式类似,此处不再赘述。
需要说明的是,由于在本申请实施例的部分场景中,一个管理装置可能不能够获取到完整的第一训练数据集,则多个管理装置可以共同统计目标第二特征在整个第一训练数据集中出现的次数,从而确定目标第二特征的类型。
需要说明的是,第一阈值和第二阈值的具体取值可结合第一处理器的存储设备的存储空间的大小、嵌入表征的处理系统中第一处理器的数量、第一训练数据集中训练样本的数量等因素确定,此处不做限定。此外,对于第二特征的类型可以为高频或低频中的任一种的情况,以及第二特征的类型为超高频、高频、中频或低频中的任一种的情况,或其他第二特征的类型为更细节的划分方式的情况中,管理装置确定每个第二特征的类型的具体实现方式,均可参照第二特征的类型可以为高频、中频或低频中任一种的情况中的描述,区别仅在于设置阈值的数量不同。
管理装置在对多个不同的第二特征中每个第二特征均进行分类后,还会生成目标指示信息,目标指示信息用于指示每个第二特征的类型。其中,目标指示信息具体可以通过表格、数组、索引等形式进行存储。作为示例,例如每个第二特征的类型为高频、中频或低频中的任一种,目标指示信息具体可以表现为三个表格,前述三个表格中一个表格用于记录类型为高频的第二特征,另一个表格用于记录类型为中频的第二特征,另一个表格用于记录类型为低频的第二特征。为更直观地理解本方案,如下以每个第二特征的类型为高频、中频或低频中的任一种为例,借助表格的形式来展示目标指示信息。
表1
参阅上述表1,目标指示信息中包括三个表格,三个表格分别用于记录类型为高频的第二特征、类型为中频的第二特征和类型为低频的第二特征,由于第一训练数据集中包括的第二特征的数量过多,此处不进行穷举,应理解,第二特征的具体表现形式以及第二特征具体采用哪些类型以及每个第二特征的类型等信息均应结合实际情况灵活确定,此处举例仅为方便理解本方案,不用于限定本方案。
303、管理装置根据第一训练数据集中第二特征的类型,获取与第一训练数据集中第二特征对应的嵌入表征的存储地址,并指示对与第二特征对应的嵌入表征执行存储操作。
本申请实施例中,管理装置对第一训练数据集中每个第二特征进行降维处理,以生成第一训练数据集中每个第二特征的初始嵌入表征,也即与第二特征对应的嵌入表征的数据量小于第二特征的数据量。管理装置根据每个第二特征的类型,获取与每个第二特征对应的嵌入表征的存储地址,进而指示对与每个第二特征对应的嵌入表征执行存储操作。
其中,第一处理器的存储设备和第二处理器的存储设备(优选为第二处理器的内部存储设备)用于存储不同的嵌入表征。与第一处理器的存储设备中存储的嵌入表征对应的第二特征的出现次数高于与第二处理器的存储设备(优选为第二处理器的内部存储设备)中存储的嵌入表征对应的第二特征的出现次数。
具体的,管理装置可以随机生成与每个第二特征对应的初始嵌入表征。或者,管理装置中预先存储有成熟的特征提取网络,管理装置将每个第二特征输入特征提取网络中,以生成每个第二特征的初始嵌入表征等,管理装置还可以通过其他方式生成与每个第二特征对应的初始嵌入表征,此处不做限定。
针对获取每个第二特征对应的嵌入表征的进行存储的过程。管理装置中预先配置不同类型的第二特征的存储规则。针对多种第二特征中目标第二特征,管理装置根据目标指示信息,获取目标第二特征的类型,根据预先的存储规则和目标第二特征的类型,确定目标第二特征是存储于第一处理器的存储设备中还是存储于第二处理器的存储设备中(也即确定目标第二特征的存储地址)。
其中,若第二特征的类型为高频或低频中的任一种,则存储规则可以为类型为高频的第二特征存储于第一处理器的存储设备中,类型为低频的第二特征存储于第二处理器的存储设备。
或者,若第二特征的类型为高频、中频或低频中的任一种,则存储规则可以为至少两个第一处理器中每个第一处理器的存储设备中均存储有类型为高频的所有第二特征的嵌入表征,至少两个第一处理器显存共同存储与类型为中频的所有第二特征对应的嵌入表征,与类型为低频的第二特征对应的嵌入表征被存储于第二处理器的存储设备中。
或者,若第二特征的类型为超高频、高频、中频或低频中的任一种,则存储规则可以为至少两个第一处理器中每个第一处理器的存储设备中均存储有类型为超高频的所有第二特征的嵌入表征,至少两个第一处理器显存共同存储与类型为高频的所有第二特征对应的嵌入表征,与类型为中频的第二特征对应的嵌入表征被存储于第二处理器的存储设备中,与类型为低频的第二特征对应的嵌入表征被存储于第二处理器的外部存储设备中等。需要说明的是,第二特征的类型还可以存在更细节的存储方式,对应的,预先的存储规则还可以表现为其他的形式,此处不做穷举。
此处以每个第二特征的类型为高频、中频或低频中的任一种,存储规则为至少两个第一处理器中每个第一处理器的存储设备中均存储有类型为高频的所有第二特征的嵌入表征,至少两个第一处理器显存共同存储与类型为中频的所有第二特征对应的嵌入表征,与类型为低频的第二特征对应的嵌入表征被存储于第二处理器的存储设备中为例,对嵌入表征的具体存储步骤进行详细描述。
具体的,若目标第二特征的类型为高频,则确定与目标第二特征对应的嵌入表征需要被存储至第一处理器的存储设备中,且每个第一处理器的存储设备中均需存储与目标第二特征对应的嵌入表征。
更具体的,结合图2a和图2b,若管理装置为电子设备中通过第二处理器运行的一个进程,前述电子设备中配置有至少两个第一处理器,电子设备中还可以通过每个第一处理器运行一个读写进程,每个第一处理器的读写进程可以确定与目标第二特征对应的嵌入表征在每个第一处理器中的存储地址,并将与目标第二特征对应的嵌入表征写入第一处理器的存储设备的前述存储地址中。每个第一处理器的读写进程还可以生成第一子记录信息,第一子记录信息包括目标第二特征和目标第二特征在第一处理器的存储设备中的存储地址;第一记录信息中包括多个第一子记录信息,第一记录信息用于记录与类型为高频的第二特征对应的嵌入表征在每个第一处理器的存储设备中的存储地址。
进一步地,管理装置可以通过表格、数组、索引等形式来存储第一记录信息,以下以通过表格存储第一记录信息为例。
表2
表2中以整个嵌入表征的处理系统中配置有三个第一处理器为例,且表2中仅以6个第一子记录信息为例,通过6个第一子记录信息记录与2个类型为高频的第二特征对应的嵌入表征在三个第一处理器中的位置,应理解,表2中的示例仅为方便理解本方案,不用于限定本方案。
为更直观地理解本方案,请参阅图4,图4为本申请实施例提供的嵌入表征的处理方法中存储与类型为高频的第二特征对应的嵌入表征的一种流程示意图,图4以整个嵌入表征的处理系统采用的为图2a示出的系统图为例。其中,图4以第一处理器采用GPU,第一处理器的存储设备采用GPU的显存,第二处理器采用CPU为例,电子设备通过三个GPU 分别运行有三个读写进程,三个读写进程分别为读写进程201、读写进程202和读写进程 203,管理装置10在得知目标第二特征的类型为高频后,确定需要将与目标第二特征对应的嵌入表征写入每个GPU的显存中。读写进程201在GPU的01号显存中为与目标第二特征对应的嵌入表征声明一个存储地址01x2345678,并将与目标第二特征对应的嵌入表征写入到前述存储地址01x2345678中;读写进程202在GPU的02号显存302中为与目标第二特征对应的嵌入表征声明一个存储地址02x2344689,并将与目标第二特征对应的嵌入表征写入到前述存储地址02x2344689中;读写进程203在GPU的03号显存中为与目标第二特征对应的嵌入表征声明一个存储地址03x2260892,并将与目标第二特征对应的嵌入表征写入到前述存储地址03x2260892中,应理解,图4中的示例仅为方便理解本方案,不用于限定本方案。
结合图2c,若管理装置和第一处理器分别配置于不同的电子设备,则管理装置在确定目标第二特征的类型为高频后,向每个第一处理器(也即用于进行训练的电子设备)发送与目标第二特征对应的嵌入表征,以指示每个第一处理器将与目标第二特征对应的嵌入表征存储至第一处理器的存储设备中。
若目标第二特征的类型为中频,则管理装置确定与目标第二特征对应的嵌入表征需要存储于至少两个第一处理器中的一个目标第一处理器的存储设备。
进一步地,针对从至少两个第一处理器中确定目标第一处理器的方法。在一种实现方式中,至少两个第一处理器采用轮询的方式存储与类型为中频的第二特征对应的嵌入表征;在另一种方式中,管理装置还可以从至少两个第一处理器中随机选取一个第一处理器作为存储与目标第二特征对应的嵌入表征的目标第一处理器。
在另一种实现方式中,管理装置可以将第二特征与至少两个第一处理器的总数量进行取模运算以生成目标值,从至少两个第一处理器中获取与目标值对应的目标第一处理器。作为示例,例如至少两个第一处理器包括4个第一处理器,则一个第二特征与4进行取模运算后,得到的值可能为0、1、2和3中的任一个,若得到的值为0,则将该第二特征存储于第一个第一处理器中,若得到的值为1,则将该第二特征存储于第二个第一处理器中,若得到的值为2,则将该第二特征存储于第三个第一处理器中,若得到的值为4,则将该第二特征存储于第四个第一处理器中,应理解,此处举例仅为方便理解本方案,不用于限定本方案。
进一步地,针对将与目标第二特征对应的嵌入表征存储于目标第一处理器的过程。在一种实现方式中,若整个嵌入表征的处理系统表现为图2a示出的系统,也即整个嵌入表征的处理系统表现为一个电子设备,管理装置为电子设备中通过第二处理器运行的一个进程,管理装置在确定与目标第二特征对应的嵌入表征存储于目标第一处理器的存储设备中之后,电子设备中还可以通过目标第一处理器运行一个第一读写进程,第一读写进程确定与目标第二特征对应的嵌入表征在目标第一处理器的存储设备中的存储地址,将与目标第二特征对应的嵌入表征写入目标第一处理器的存储设备的前述存储地址中。目标第一处理器运行的读写进程还可以生成第二子记录信息。其中,第二子记录信息包括目标第二特征、目标第一处理器的标识信息,和与目标第二特征对应的嵌入表征在目标第一处理器的存储设备中的存储地址;第二记录信息中包括多个第二子记录信息,第二记录信息用于指示与类型为中频的第二特征对应的嵌入表征在目标第一处理器的存储设备中的存储地址。
更进一步地,管理装置可以通过表格、数组、索引等形式来存储第二记录信息,以下以通过表格存储第二记录信息为例。
表3
表3中以整个嵌入表征的处理系统中配置有三个第一处理器为例,且表3中仅以6个第一子记录信息为例,通过6个第一子记录信息记录与6个类型为中频的第二特征对应的嵌入表征在三个第一处理器中的位置,应理解,表3中的示例仅为方便理解本方案,不用于限定本方案。
为更直观地理解本方案,请参阅图5,图5为本申请实施例提供的嵌入表征的处理方法中存储与类型为中频的第二特征对应的嵌入表征的一种流程示意图,图5以整个嵌入表征的处理系统采用的为图2a示出的系统图为例。其中,图5以第一处理器采用GPU,第一处理器的存储设备采用GPU的显存,第二处理器采用CPU为例,电子设备通过三个GPU 分别运行有三个读写进程,三个读写进程分别为读写进程201、读写进程202和读写进程 203,管理装置10在得知目标第二特征的类型为中频后,确定需要将与目标第二特征 0000006对应的嵌入表征写入GPU的01号显存中。读写进程201(也即第一读写进程) 在GPU的01号显存中为与目标第二特征对应的嵌入表征声明一个存储地址01x3345678,并将与目标第二特征对应的嵌入表征写入到前述存储地址01x3345678中,应理解,图5 中的示例仅为方便理解本方案,不用于限定本方案。
在另一种实现方式中,若整个嵌入表征的处理系统表现为图2b示出的系统,也即整个嵌入表征的处理系统中包括多个电子设备,一个管理装置为多个电子设备中一个电子设备通过第二处理器运行的一个进程,管理装置中可以预先存储有第一处理器与电子设备之间的对应关系,在确定与目标第二特征对应的嵌入表征存储于目标第一处理器的存储设备中之后,可以判断目标第一处理器是否与当前管理装置集成于同一电子设备中,若目标第一处理器与当前管理装置集成于同一电子设备上,则管理装置可以通过第一读写进程对与目标第二特征对应的嵌入表征执行存储操作,并生成第二子记录信息,第二子记录信息的概念同上,此处不做赘述。若目标第一处理器不集成于当前管理装置中,则当前管理装置向与目标第一处理器对应的第一电子设备发送与目标第二特征对应的嵌入表征,以指示第一电子设备存储与目标第二特征对应的嵌入表征。进一步地,当前管理装置还可以生成第三子记录信息,第三子记录信息中包括目标第二特征和第一电子设备的标识信息,第三子记录信息用于指示目标第二特征被存储于第一电子设备中,第三子记录信息归属于第二记录信息。
在另一种实现方式中,若整个嵌入表征的处理系统表现为图2c示出的系统,也即管理装置和第一处理器分别为独立的电子设备,则管理装置中可以预先存储有第一处理器与电子设备之间的对应关系,获取从至少一个电子设备(也即至少一个第一处理器)中获取目标第一处理器对应的第一电子设备(也即安装有目标第一处理器的目标第一处理器),向第一电子设备(也即目标第一处理器)发送与目标第二特征对应的嵌入表征,以指示第一电子设备存储与目标第二特征对应的嵌入表征。管理装置还生成第四子记录信息,第二记录信息包括多个第四子记录信息,第二记录信息用于指示与类型为中频的第二特征对应的嵌入表征的存储信息,第四子记录信息包括目标第二特征和第一电子设备的标识信息,第四子记录信息用于指示目标第二特征被存储于第一电子设备中。
若目标第二特征的类型为低频,则管理装置确定与目标第二特征对应的嵌入表征需要被存储至第二处理器的存储设备(优选为第二处理器的内部存储设备)中。
更具体的,在一种实现方式中,整个嵌入表征的处理系统采用的为图2a示出的系统,也即整个嵌入表征的处理系统表现为一个电子设备,电子设备中可以通过至少一个第二处理器运行有至少一个读写进程,至少一个读写进程中不同的读写进程负责对第二处理器的存储设备中不同的存储区域执行读写操作,管理装置确定与目标第二特征对应的嵌入表征在第二处理器的存储设备中的目标存储地址后,通过与目标存储地址对应的目标进程对与目标第二特征对应的嵌入表征执行写入操作。管理装置还会生成第五子记录信息,第三记录信息包括多个第五子记录信息,第三记录信息用于指示与类型为低频的第二特征对应的嵌入表征的存储信息,第五子记录信息包括目标第二特征、目标进程的标识号和目标存储地址。
更进一步地,管理装置可以通过表格、数组、索引等形式来存储第二记录信息,以下以通过表格存储第二记录信息为例,对第二记录信息进行展示。
表4
表4中仅以6个第一子记录信息为例,通过6个第一子记录信息记录与6个类型为低频的第二特征对应的嵌入表征在第二处理器的存储设备中的位置,应理解,表4中的示例仅为方便理解本方案,不用于限定本方案。
为更直观地理解本方案,请参阅图6,图6为本申请实施例提供的嵌入表征的处理方法中存储与类型为低频的第二特征对应的嵌入表征的一种流程示意图,图6以整个嵌入表征的处理系统采用的为图2a示出的系统图为例。其中,图6以第二处理器采用CPU,第二处理器的存储设备采用CPU的内存,第二处理器采用CPU为例,电子设备通过两个CPU 分别运行有四个读写进程,四个读写进程分别为读写进程JC01、读写进程JC02、读写进程JC03和读写进程JC04,管理装置10在得知目标第二特征的类型为低频后,确定需要将与目标第二特征0000010对应的嵌入表征写入CPU的内存的存储地址04n2456985中。存储地址04n2456985属于读写进程JC01负责的区域,则通过读写进程JC01为与目标第二特征对应的嵌入表征声明一个存储地址04n2456985,并将与目标第二特征对应的嵌入表征写入存储地址04n2456985中,应理解,图6中的示例仅为方便理解本方案,不用于限定本方案。
在另一种实现方式中,整个嵌入表征的处理系统采用的为图2b示出的系统,也即整个嵌入表征的处理系统表现为多个独立的电子设备,每个电子设备中集成有管理装置和第一处理器,对与目标第二特征对应的嵌入表征进行存储操作的具体实现方式与采用图2a示出的系统的方式类似,可参阅上述描述,此处不再赘述。
在另一种实现方式中,整个嵌入表征的处理系统采用的为图2c示出的系统,也即整个嵌入表征的处理系统包括多个电子设备,管理装置和第一处理器均表现为独立的电子设备。则在一种情况下,管理装置(也即用于进行管理操作的电子设备)负责存储与类型为低频的所有第二特征对应的嵌入表征,则对与目标第二特征对应的嵌入表征进行存储操作的具体实现方式与采用图2a示出的系统的方式类似,可参阅上述描述,此处不再赘述。
在另一种情况下,整个嵌入表征的处理系统中的所有电子设备均可以用于存储与类型为低频的所有第二特征对应的嵌入表征,则管理装置可以从多个电子设备选取一个确定的第二电子设备,若第二电子设备为进行管理操作的电子设备(也即管理装置),则对与目标第二特征对应的嵌入表征进行存储操作的具体实现方式与采用图2a示出的系统的方式类似,可参阅上述描述,此处不再赘述。若第二电子设备为整个嵌入表征的处理系统中的其他电子设备,则管理装置向第二电子设备发送与目标第二特征对应的嵌入表征,以指示第二电子设备存储与目标第二特征对应的嵌入表征。管理装置还可以生成第六子记录信息,第六子记录信息包括目标第二特征和第二电子设备的标识符,以指示目标第二特征的存储地址,第六子记录也包括于第三记录中。
本申请实施例中,将第二特征的类型划分为高频、中频和低频三种类型,由于技术人员统计训练数据时发现,在神经网络的训练数据集中,第二特征的出现频次呈现长尾分布,也即类型为高频的第二特征最少,类型为中频的第二特征的数量次之,类型为低频的第二特征的数量最多。每个第一处理器的存储设备中均存储有与类型为高频的第二特征对应的嵌入表征,从而每个第一处理器均能从自己的存储设备中读取到类型为高频的第二特征对应的嵌入表征;由于多个第一处理器共同存储与类型为中频的第二特征对应的嵌入表征,第一处理器也能较快的从其他第一处理器中获取到与类型为中频的第二特征对应的嵌入表征;第二处理器的存储设备(优选为第二处理器的内部存储设备)中存储有与类型为低频的第二特征对应的嵌入表征,从而与类型为低频的第二特征对应的嵌入表征的获取速度最慢。使得最频繁使用的嵌入表征能够最快速的被获取到,使用频率次之的嵌入表征能够较快速的被获取到,最低频率使用的嵌入表征采用较慢的速度才能获取到,且第一处理器的存储设备存储空间小且价格贵,第二处理器的存储设备存储空间大且价格相对低,采用本方案这种分配方式不仅综合了第二处理器的存储设备和第二处理器的存储特点和读写速度特点,不仅有利于提升整体嵌入表征获取过程的速率,且有利于提高第一处理器显存的利用率。
需要说明的是,对于第二特征的类型为高频或低频中任一种的情况,或者,第二特征的类型为超高频、高频、中频或低频中的任一种的情况,或者,第二特征的类型存在其他更细节的划分方式的情况中,管理装置确定与第二特征对应的嵌入表征的存储地址,并指示对与第二特征的嵌入表征执行存储操作的过程均可以参阅上述描述,此处不再一一进行描述。此外,无论采用哪种划分方式,管理装置在执行完步骤303后均可以得到与各种类型的第二特征对应的嵌入表征的存储地址信息。
此外,步骤301和步骤302为可选步骤,若管理装置可以预先获取到每个第二特征的类型,则管理装置无需执行步骤301和步骤302,而是直接执行步骤303。
304、第一处理器向管理装置发送目标请求,目标请求用于请求获取与第一特征对应的第一嵌入表征。
本申请实施例中,步骤301至303为对整个嵌入表征的处理系统进行初始化的阶段。在对目标神经网络进行训练的阶段,第一处理器获取第一训练样本,并获取与第一训练样本对应的至少一个第一特征。第一训练样本为第一训练数据集中的一个训练样本,第一处理器为整个嵌入表征的处理系统包括的至少一个第一处理器中的任一个第一处理器。进一步地,在图2a和图2b示出的系统中,第一处理器均为与当前管理装置集成于同一电子设备中,第一处理器为电子设备通过第一处理器运行的一个进程。在图2c示出的系统中,第一处理器为整个嵌入表征的处理系统中包括的一个独立的电子设备。
其中,在一种情况下,第一特征是原始的第一训练数据集中的字符串,则第一处理器可以直接从第一训练样本中获取多个第一特征。在另一种情况下,第一特征是预处理后的第一训练数据集中的整数型的字符。需要说明的是,第一特征的概念与第二特征的概念相同,区别在于第二特征是泛指的任一个字符,第一特征是特指与第一训练样本对应的字符,对于第一特征的理解可以参阅上述步骤301中的描述。
第一处理器在确定与第一训练样本对应的至少一个第一特征后,向管理装置发送目标请求,对应的,管理装置接收到目标请求。目标请求中携带有前述至少一个第一特征,目标请求用于请求获取与第一特征对应的第一嵌入表征。
305、管理装置获取与第一特征对应的第一嵌入表征的存储地址。
本申请实施例中,管理装置在从目标请求中获取到一个或多个第一特征后,针对任一个第一特征,可以获取到与第一特征对应的第一嵌入表征的存储地址。
无论整个嵌入表征的处理系统采用的为图2a示出的系统,还是采用图2b示出的系统,还是采用图2c示出的系统,管理装置获取与第一特征对应的第一嵌入表征的存储地址均相似。具体的,在第二特征的类型为高频、中频或低频中的任一种的情况下。在一种实现方式中,管理装置确定第一特征的类型为目标类型,目标类型为高频、中频或低频中的任一种。管理装置从第一记录信息、第二记录信息和第三记录信息中获取用于记录与目标类型的第二特征对应的嵌入表征的目标记录信息,从目标记录信息中获取与第一特征对应的第一嵌入表征的存储地址。在另一种实现方式中,管理装置直接从第一记录信息、第二记录信息和第三记录信息中查找与第一特征对应的第一嵌入表征的存储地址。
其中,对于目标类型为高频、中频或低频这三种情况下,与第一特征对应的第一嵌入表征的存储地址信息中包括哪些信息可参阅步骤303中的描述。
需要说明的是,对于第二特征的类型为高频或低频中任一种的情况,或者,第二特征的类型为超高频、高频、中频或低频中的任一种的情况,或者,第二特征的类型存在其他更细节的划分方式的情况中,管理装置也可以利用步骤303中生成的与各种类型的第二特征对应的嵌入表征的存储地址信息,来确定与第一特征对应的第一嵌入表征的存储地址,具体实现方式与第二特征的类型为高频、中频或低频中的任一种的情况类似,可参阅上述描述理解,此处不再一一赘述。
306、管理装置根据第一嵌入表征的存储地址,获取第一嵌入表征。
本申请实施例中,管理装置在获取到第一嵌入表征的存储地址后,判断第一嵌入表征的存储地址是否指向第二处理器,若第一嵌入表征的存储地址指向第二处理器,则管理装置需要获取第一嵌入表征。具体的,在一种情况中,整个嵌入表征的处理系统采用的为图 2a示出的系统,也即整个嵌入表征的处理系统具体表现为一个电子设备,电子设备通过第二处理器运行有多个读写进程,则无论第一特征是哪种类型,管理装置从前述多个读写进程中获取与第一嵌入表征的存储地址对应的第二读写进程,并通过第二读写进程从第一嵌入表征的存储地址处读取第一嵌入表征。
在另一种情况中,整个嵌入表征的处理系统采用的为图2b示出的系统,也即整个嵌入表征的处理系统中包括多个电子设备,一个管理装置为多个电子设备中一个电子设备通过第二处理器运行的一个进程。若第一嵌入表征的存储地址为当前管理装置所在的电子设备,则管理装置根据第一嵌入表征的存储地址,获取第一嵌入表征的具体实现方式,与采用的为图2a示出的系统时的实现方式类似,可参阅上述描述。若第一嵌入表征的存储地址不是当前管理装置所在的电子设备,则当前管理装置向用于存储第一嵌入表征的第三电子设备发送第一数据获取请求,接收第三电子设备发送的第一嵌入表征。其中,第一数据获取请求中携带有第一特征,用于请求获取与第一特征对应的第一嵌入表征。
需要说明的是,在图2b示出的系统中,各个电子设备的运行方式一致,也即第三电子设备中的管理装置也会执行步骤301至303,以生成与各种类型的第二特征对应的嵌入表征的存储地址信息,第三电子设备在接收到第一数据获取请求之后,获取与第一特征对应的第一嵌入表征的存储地址,并根据第一嵌入表征的存储地址,获取第一嵌入表征,第三电子设备执行前述步骤的具体实现方式与图2a示出的系统中管理装置执行步骤305和 306的方式类似,可参阅上述描述,此处不做赘述。
在另一种情况中,整个嵌入表征的处理系统采用的为图2c示出的系统,也即管理装置和第一处理器分别配置于不同的电子设备。管理装置根据第一嵌入表征的存储地址,获取第一嵌入表征的具体实现方式,与整个嵌入表征的处理系统采用的为图2b示出的系统的情况下管理装置的实现方式类似,可参阅理解,此处不再进行赘述。
307、管理装置向第一处理器发送第一嵌入表征。
本申请实施例中,管理装置在获取到第一嵌入表征之后,需要将第一嵌入表征发送给第一处理器,在图2a和图2b示出的系统中,管理装置将第一嵌入表征发送给第一处理器的过程,为同一电子设备中两个进程之间通信的过程。在图2c示出的系统中,管理装置将第一嵌入表征发送给第一处理器的过程,为不同的电子设备进行通信的过程。
需要说明的是,步骤306和步骤307为可选步骤,若第一嵌入表征的存储地址指向第一处理器的存储设备,则管理装置无需执行步骤306和307,而是直接向第一处理器发送第一嵌入表征的存储地址,从而第一处理器可以直接根据第一嵌入表征的存储地址,则第一处理器可以确定与第一特征对应的第一嵌入表征存储于第一处理器的存储设备中,继而从第一处理器的存储设备中读取第一嵌入表征。
或者,整个嵌入表征的处理系统中还包括第三处理器,第三处理器和第一处理器为相同类型的处理器,第三处理器用于对目标神经网络执行训练操作,例如第三处理器和第一处理器均采用GPU,再例如第三处理器和第一处理器均采用NPU等,此处不做穷举。若第一嵌入表征的存储地址指向第三处理器的存储设备,则管理装置无需执行步骤306和307,而是直接向第一处理器发送第一嵌入表征的存储地址,则第一处理器可以确定与第一特征对应的第一嵌入表征存储于第三处理器的存储设备中,第一嵌入表征的存储地址用于指示第一处理器采用环全合并减少(ring-all reduce)的方式的方式,从第三处理器中获取第一嵌入表征。
308、第一处理器利用第一嵌入表征,对目标神经网络执行训练操作,以得到与目标神经网络的权重参数对应的梯度和与第一嵌入表征对应的梯度。
本申请实施例中,第一处理器在得到与至少一个第一特征一一对应的至少一个第一嵌入表征之后,将至少一个第一嵌入表征输入目标神经网络中,也即将与用户信息、用户历史行为信息以及产品信息对应的第一嵌入表征输入目标神经网络中,得到目标神经网络输出的预测结果,该预测结果可以为用户与该产品信息指向的产品进行交互的预测概率。第一训练样本中还可以包括用户与该产品信息指向的产品进行交互的目标结果,目标结果的取值可以为1或0,若实际概率取值为1,则指示用户与该产品信息指向的产品进行了交互,前述交互可以为点击、下载、购买、收藏或其他交互行为等;若实际概率取值为0,则指示用户没有与该产品信息指向的产品进行交互。第一处理器根据该预测结果和目标结果,生成损失函数的函数值,前述损失函数指示预测结果和目标结果之间的相似度。
第一处理器根据损失函数的函数值生成与目标神经网络的权重参数对应的梯度和与每个第一嵌入表征对应的梯度,与目标神经网络的权重参数对应的梯度也可以称为稠密参数,与每个第一嵌入表征对应的梯度也可以称为稀疏参数。
当对目标神经网络完成训练操作,也即将成熟的目标神经网络布置于具有推荐功能的搜索系统中,针对多个用户中任一个用户,具有推荐功能的搜索系统可以获取到该用户的用户信息、用户的历史行为信息,具有推荐功能的搜索系统还可以获取到M个产品的产品信息,搜索系统可以通过成熟的目标神经网络生成与前述M个产品中每个产品对应的预测结果,根据与前述M个产品中每个产品对应的预测结果从M个产品中选取N个产品,将前述选取的N个产品作为搜索系统向用户展示的N个产品。
309、第一处理器向第三处理器发送与目标神经网络的权重参数对应的梯度,以更新目标神经网络的权重参数。
本申请的一些实施例中,由于整个嵌入表征的处理系统中可以包括多个第一处理器,不同的第一处理器可以利用不同的训练样本对目标神经网络并行执行训练操作,从而不同的第一处理器能够生成与目标神经网络的权重参数对应的不同的梯度。第一处理器向第三处理器发送与目标神经网络的权重参数对应的梯度,以根据至少两个第一处理器生成的与神经网络的权重参数对应的至少两组不同的梯度得到与神经网络的权重参数对应的一组合并后的梯度,合并后的梯度用于更新神经网络的权重参数。前述合并的方式可以为叠加、取最大值、取最小值、求平均值或其他运算等等,此处不做限定。
进一步地,多个第一处理器可以通过环全合并减少(ring-all reduce)的方式更新目标神经网络的权重参数。其中,环全合并减少(ring-all reduce)的方式指的是将多个第一处理器生成的与目标神经网络的权重参数对应的多组不同的梯度合并为一组梯度,并将合并后的一组梯度分别发送给每个第一处理器,以使每个第一处理器利用合并后的一组梯度更新目标神经网络的权重参数。
为更直观地理解本方案,请参阅图7,图7为本申请实施例提供的嵌入表征的处理方法中GPU更新权重参数的一种流程示意图,图7以第一处理器采用GPU,且整个嵌入表征的处理系统运行有三个不同的GPU为例,三个不同的GPU分别为GPUA、GPUB和GPUC, GPUA生成与目标神经网络的权重参数对应的梯度为2,GPUB生成与目标神经网络的权重参数对应的梯度为4,GPUC生成与目标神经网络的权重参数对应的梯度为7,GPUA将生成的与目标神经网络的权重参数对应的梯度发送给GPUB,GPUB将GPUA生成的与权重参数对应的梯度与GPUB生成的与权重参数对应的梯度进行叠加后,将叠加结果发送给GPUC,GPUC将GPUB生成的叠加结果与GPUC生成的与权重参数对应的梯度再次进行叠加,得到最终的合并结果13,GPUC将最终的合并结果13再次传输至GPUA和GPUB,从而GPUA、GPUB以及GPUC能够利用最终的合并结果13更新目标神经网络的权重参数,但需要说明的是,在实际情况中,GPU在对神经网络执行一次训练操作得到的与神经网络的权重参数对应的梯度并不是图7示出的这么简单,图7中的示例仅为方便理解本方案,不用于限定本方案。
310、管理装置获取与第一特征对应的更新后嵌入表征,更新后嵌入表征为根据第一嵌入表征和与第一嵌入表征对应的梯度得到的。
本申请实施例中,若整个嵌入表征的处理系统中包括至少两个第一处理器(包括第三处理器),则每个第一处理器(包括第一处理器)在对目标神经网络执行一次训练操作,得到与至少一个第一嵌入表征对应的一组梯度之后,可以判断与第一特征对应的第一嵌入表征的存储地址是否指向第一处理器的存储设备或第三处理器的存储设备,若与第一特征对应的第一嵌入表征的存储地址指向第二处理器的存储设备(也即与第一特征对应的第一嵌入表征的存储地址既不指向第一处理器的存储设备,也不指向第三处理器的存储设备),则每个第一处理器会将与至少一个第一嵌入表征对应的一组梯度(也即与至少一个第一特征对应的一组梯度)发送给管理装置,管理装置根据第一嵌入表征和与第一嵌入表征对应的梯度,生成与第一特征对应的更新后嵌入表征。
具体的,在图2a和图2c示出的系统中,管理装置均可以接收到至少两个第一处理器发送的与第一嵌入表征对应的至少两组不同的梯度。由于不同的训练样本中可以存在相同的第二特征,则管理装置在得到至少两个第一处理器发送的与第一嵌入表征对应的至少两组不同的梯度之后,会先进行查重操作,以确定前述至少两组不同的梯度中是否存在与相同的目标第一嵌入表征对应的至少两个不同的梯度。
在一种情况下,若至少两组不同的梯度中存在与相同的目标第一嵌入表征对应的至少两个不同的梯度,针对任一个目标第一嵌入表征,管理装置从前述不同组的梯度中获取与目标第一嵌入表征对应的至少两个不同的梯度,对前述至少两个不同的梯度执行合并操作,以得到与目标第一嵌入表征对应的合并后梯度,进而根据与目标第一嵌入表征对应的合并后梯度和目标第一嵌入表征,生成与第一特征对应的更新后嵌入表征。合并操作包括但不限于求平均值、取最大值、取最小值或其他合并操作等。
针对除目标第一嵌入表征之外的其他第一嵌入表征,管理装置直接从至少两组梯度中获取与第一嵌入表征一一对应的梯度,并根据第一嵌入表征和与第一嵌入表征对应的梯度,生成与第一特征(也即与第一嵌入表征)对应的更新后嵌入表征。
在另一种情况下,若至少两组不同的梯度中不存在与相同的目标第一嵌入表征对应的至少两个不同的梯度,则管理装置直接从至少两组梯度中获取与第一嵌入表征一一对应的梯度,并根据第一嵌入表征和与第一嵌入表征对应的梯度,生成与第一特征(也即与第一嵌入表征)对应的更新后嵌入表征。
为更直观地理解本方案,请参阅图8,图8为本申请实施例提供的嵌入表征的处理方法中GPU发送梯度的一种流程示意图,图8以整个嵌入表征的处理系统采用的为图2a示出的系统图,且第一处理器采用GPU,第二处理器采用CPU为例,整个嵌入表征的处理系统通过三个不同的GPU运行有三个不同的GPU,图8需要结合图7进行理解,GPUA 生成与目标神经网络的权重参数对应的梯度为2,GPUB生成与目标神经网络的权重参数对应的梯度为4,GPUC生成与目标神经网络的权重参数对应的梯度为7,GPU更新目标神经网络的权重参数的方式可参阅上述图7中的描述,此处不做赘述。每个GPU(也即 GPUA、GPUB和GPUC)在执行一次训练操作还会得到与嵌入表征(也即第一特征)对应的梯度,每个GPU都会将与嵌入表征(也即第一特征)对应的梯度发送给管理装置10,以通过管理装置10对嵌入表征进行更新,应理解,图8中的示例仅为方便理解本方案,不用于限定本方案。
本申请实施例中,若嵌入表征的处理系统包括至少两个第一处理器,则在对神经网络进行训练的过程中,多个第一处理器之间采用直接通信的方式来更新神经网络的权重参数,多个第一处理器通过将与嵌入表征对应的梯度发送给管理装置,以通过管理装置来更新与样本中的字符对应的嵌入表征,也即不同类型的数据采用不同类型的更新方式,有利于提高整个梯度更新过程的效率。
若整个嵌入表征的处理系统中仅包括一个第一处理器(也即第一处理器),则在一种情况中,第一处理器将与第一嵌入表征对应的梯度直接发送给管理装置,管理装置根据第一嵌入表征和与第一嵌入表征对应的梯度生成更新后嵌入表征。
在另一种实现方式中,第一处理器根据第一嵌入表征和与第一嵌入表征对应的梯度生成更新后嵌入表征,并将更新后嵌入表征发送给管理装置,对应的,管理装置接收与第一嵌入表征对应的更新后嵌入表征。
需要说明的是,本申请实施例不限定步骤301至303与步骤304至310之间的执行次数,可以在执行步骤301至303一次后,执行多次步骤304至310。
此外,步骤310为可选步骤,在第一嵌入表征的存储地址指向第一处理器的存储设备,或者,在第一嵌入表征的存储地址指向第三处理器的存储设备的情况下,则不需要执行步骤310,第一处理器向第三处理器发送与第一嵌入表征对应的梯度,以通过环全合并减少的方式更新与第一特征对应的嵌入表征。
311、管理装置根据第一嵌入表征的存储地址,指示将第一嵌入表征变更为更新后嵌入表征。
本申请实施例中,管理装置在获取到与至少一个第一嵌入表征中每个第一嵌入表征对应的更新后嵌入表征后,也即获取到与至少一个第一特征中每个第一特征对应的更新后嵌入表征。针对至少一个第一特征中每个第一特征,管理装置获取与第一特征对应的第一嵌入表征的存储地址,并指示将第一嵌入表征变更为更新后嵌入表征。前述操作的具体实现方式可参阅上述步骤305和306中的描述,区别在于前述步骤306中执行的为数据读取操作,而步骤313中执行的为数据写入操作,则需要将步骤306中的“读取第一嵌入表征”的操作替换为步骤313中“写入更新后嵌入表征”,此处不再一一进行赘述。
本申请实施例中,在对神经网络进行训练的过程中还会生成与嵌入表征对应的梯度,并根据嵌入表征的存储地址,指示更新嵌入表征,也即在对神经网络进行训练的过程中会不断更新第一处理器的存储设备和第二处理器的存储设备中存储的嵌入表征,由于更新后的嵌入表征更容易被神经网络理解,以提高训练后的神经网络的精度。
312、管理装置获取目标神经网络的第二训练数据集,第二训练数据集为目标神经网络的更新后的训练数据集。
本申请的一些实施例中,由于目标神经网络的训练数据集是由搜索推荐系统采用用户的行为并发送给管理装置的,则管理装置可以获取到目标神经网络的第二训练数据集,第二训练数据集为目标神经网络的更新后的训练数据集。与第一训练数据集相同,第二训练数据集包括多个训练样本,每个训练样本中包括一个或多个第二特征,对于一个训练样本的含义可参阅上述描述,此处不做赘述。
313、管理装置根据第二训练数据集,对第二训练数据集中的第二特征进行分类,以得到第二训练数据集中每个第二特征的类型。
本申请实施例中,步骤313的具体实现方式与步骤302的具体实现方式类似,区别在于,步骤302中管理装置为根据第一训练数据集对第二特征进行分类,步骤313中管理装置为根据第二训练数据集对第二特征进行分类,具体实现方式可以参阅步骤302中的描述,此处不再赘述。
314、管理装置判断多个第二特征中是否存在类型发生改变的目标特征,若存在目标特征,则进入步骤315;若未存在目标特征,则进入步骤304。
本申请实施例中,管理装置在根据第二训练数据集得到每个第二特征的类型之后,可以根据目标指示信息,来判断多个第二特征中是否存在类型发生改变的目标特征,目标特征为多个第二特征中的一个特征。作为示例,例如第二特征的类型为高频或低频中的任一种,则类型发生改变指的是从高频变为低频,或者从低频变为高频;作为另一示例,例如第二特征的类型为高频、中频或低频中的任一种,则类型发生改变包括从高频变为中频,或者从中频变为低频,或者从高频变为低频,或者从中频变为高频等,此处不做穷举。
若多个第二特征中存在类型发生改变的目标特征,则进入步骤315,以改变与目标特征对应的嵌入表征的存储地址;若未存在目标特征,则可以重新进入步骤304,也即管理装置利用第二训练数据集中的训练样本对目标神经网络执行训练操作。
315、管理装置获取与目标特征对应的第二嵌入表征的更新后的存储地址,指示将第二嵌入表征存储至更新后的存储地址。
本申请实施例中,若多个第二特征中存在类型发生改变的目标特征,则管理装置根据获取与目标特征对应的第二嵌入表征,前述步骤的具体实现方式可参阅步骤305和306中的描述,此处不做赘述。
管理装置还会根据目标特征的更新后的类型,确定与目标特征对应的第二嵌入表征的更新后的存储地址,前述步骤的具体实现方式可参阅步骤303中的描述,此处不做赘述。
管理装置在获取到与目标特征对应的第二嵌入表征,以及与目标特征对应的第二嵌入表征的更新后的存储地址后,管理装置指示将第二嵌入表征存储至更新后的存储地址。前述步骤的具体实现方式可参阅步骤306中的描述,区别在于步骤306中管理装置执行的是嵌入表征的读取操作,步骤315中管理装置执行的是嵌入表征的写入操作,可参阅步骤306 进行理解,此处不再进行详细赘述。
管理装置在确定第二嵌入表征被存储至更新后的存储地址后,还会更新与第二特征对应的嵌入表征的存储地址信息,更新后的与第二特征对应的嵌入表征的存储地址信息指示与目标特征对应的第二嵌入表征被存储至更新后的存储地址中。
本申请实施例中,管理装置能够及时获取更新后的第二训练数据集训练神经网络,也即能够利用最新的训练数据对神经网络进行训练,有利于提高训练后的神经网络的精度,且根据更新后的训练数据集对每个第二特征进行分类,也即保证第一处理器的存储设备中存储的一直是被高频率使用的嵌入表征,以保证训练阶段数据读取过程的效率,也有利于保证第一处理器的存储设备中的存储空间被合理使用。
本申请实施例中,第一处理器的存储设备和第二处理器的存储设备用于存储不同的嵌入表征,由于一个训练样本中可以包括多个第一特征,若与部分第一特征对应的嵌入表征存储于第一处理器的存储设备中,与部分第一特征对应的嵌入表征存储于第二处理器的存储设备中,则可以同时利用第一处理器和第二处理器来完成嵌入表征的读取操作,以缩短整个训练过程中读取嵌入表征的时间。由于第一处理器从第一处理器的存储设备中获取嵌入表征的速度快,将部分嵌入表征存储于第一处理器的存储设备中,且当第一嵌入表征的存储地址指向第一处理器的存储设备时,管理装置向第一处理器发送第一嵌入表征的存储地址,从而第一处理器可以直接从第一处理器的存储设备中读取部分嵌入表征,进而可以缩短整个训练过程中读取嵌入表征的时间。此外,与第一处理器的存储设备中存储的嵌入表征对应的特征的出现次数高于与第二处理器的存储设备中存储的嵌入表征对应的特征的出现次数,特征的出现次数用于指示特征在目标神经网络的第一训练数据集中的出现次数,也即与训练过程中使用频率高的特征对应的嵌入表征被存储在第一处理器的存储设备中,由于从第一处理器的存储设备中读取数据花费的时间较短,将使用频率高的嵌入表征存储于第一处理器的存储设备中,可以缩短整个训练过程中读取嵌入表征的时间;由于第一处理器的存储设备的空间较小,第二处理器的存储设备的空间较大,将使用频率低的嵌入表征存储于第二处理器的存储设备中,能够保证本方案能够兼容第一训练数据集很大的应用场景。
为了对本申请实施例带来的有益效果有进一步地理解,以下结合实现数据对本申请实施例带来的有益效果进行进一步说明。首先以对照组采用的为MxNet-PS的系统架构、整个嵌入表征的处理系统中包括6个第二处理器和12个第一处理器为例,若目标神经网络采用深度卷积神经网络(DCN)中的小型神经网络,相对于整个嵌入表征的处理系统中包括1个第一处理器,采用MxNet-PS的系统架构能够带来2.4倍的加速,采用本申请实施例提供的嵌入表征的处理系统能够带来5.5倍的加速。
若目标神经网络采用深度卷积神经网络(DCN)中的大型神经网络,相对于整个嵌入表征的处理系统中包括1个第一处理器,采用MxNet-PS的系统架构能够带来15.6倍的加速,采用本申请实施例提供的嵌入表征的处理系统能够带来24.7倍的加速。
接下来请参阅图9,图9为本申请实施例提供的嵌入表征的处理方法的有益效果的一种示意图,其中,D1代表采用本申请实施例提供的嵌入表征的处理系统对目标神经网络进行训练时对应的训练曲线,D2代表采用XDL的系统架构对目标神经网络进行训练时对应的训练曲线,D3代表采用MxNet-PS的系统架构对目标神经网络进行训练时对应的训练曲线。图9的横坐标代表时间,单位为秒,图9的纵坐标代表的为损失函数的取值,损失函数的取值越小代表训练后的目标神经网络的精度越大,通过图9可以看出,采用本申请实施例提供的嵌入表征的处理系统对目标神经网络进行训练,不仅训练速度加快(也即损失函数能够更早的收敛),而且训练后的目标神经网络的精度也得到了提高。
在图1至图9所对应的实施例的基础上,为了更好的实施本申请实施例的上述方案,下面还提供用于实施上述方案的相关设备。具体参阅图10,图10为本申请实施例提供的管理装置的一种结构示意图,管理装置1000包括于嵌入表征的处理系统,嵌入表征的处理系统还包括第一处理器的存储设备和第二处理器的存储设备,第一处理器用于对目标神经网络执行训练操作,管理装置1000包括:获取模块1001,用于获取第一处理器发送的目标请求,目标请求中携带有第一特征,目标请求用于请求获取与第一特征对应的第一嵌入表征,第一特征为目标神经网络的第一训练样本中的特征;获取模块1001,还用于获取与第一特征对应的第一嵌入表征的存储地址,当第一嵌入表征的存储地址指向第二处理器的存储设备,根据第一嵌入表征的存储地址,获取第一嵌入表征,其中,第一处理器的存储设备和第二处理器的存储设备用于存储不同的嵌入表征;发送模块1002,用于向第一处理器发送第一嵌入表征,第一嵌入表征用于供第一处理器利用第一嵌入表征对神经网络执行训练操作。
在一种可能的设计中,当第一嵌入表征的存储地址指向第一处理器的存储设备,管理装置1000向第一处理器发送第一嵌入表征的存储地址。
在一种可能的设计中,与第一处理器的存储设备中存储的嵌入表征对应的特征的出现次数高于与第二处理器的存储设备中存储的嵌入表征对应的特征的出现次数,训练样本中特征的出现次数用于指示特征在目标神经网络的第一训练数据集中的出现次数。
在一种可能的设计中,训练样本中特征的类型为高频、中频或低频中的任一种,类型为高频的特征在第一训练数据集中的出现次数大于类型为中频的特征在第一训练数据集中的出现次数,类型为中频的特征在第一训练数据集中的出现次数大于类型为低频的特征在第一训练数据集中的出现次数;嵌入表征的处理系统包括至少两个第一处理器的存储设备,每个第一处理器的存储设备中均存储有与类型为高频的特征对应的嵌入表征,至少两个第一处理器的存储设备共同存储与类型为中频的特征对应的嵌入表征,不同的第一处理器的存储设备中存储有与不同的中频特征对应的嵌入表征,第二处理器的存储设备用于存储与类型为低频的特征对应的嵌入表征。
在一种可能的设计中,请参阅图11,图11为本申请实施例提供的管理装置的一种结构示意图,第一嵌入表征用于供第一处理器利用第一嵌入表征对目标神经网络执行训练操作,以得到与第一嵌入表征对应的梯度;获取模块1001,还用于获取与第一特征对应的更新后嵌入表征,更新后嵌入表征为根据第一嵌入表征和与第一嵌入表征对应的梯度得到的;管理装置1000还包括:指示模块1003,用于根据第一嵌入表征的存储地址,指示将第一嵌入表征变更为更新后嵌入表征。
在一种可能的设计中,请参阅图11,获取模块1001,还用于获取目标神经网络的第二训练数据集,第二训练数据集为目标神经网络的更新后的训练数据集;管理装置1000还包括:分类模块1004,用于根据第二训练数据集,对与第二训练数据集中的特征进行分类,以得到第二训练数据集中每个特征的类型;管理装置1000还包括:指示模块1003,用于在目标特征的类型发生改变的情况下,获取与目标特征对应的第二嵌入表征的更新后的存储地址,指示将第二嵌入表征存储至更新后的存储地址,目标特征为第二训练数据集中的特征。
需要说明的是,管理装置1000中各模块/单元之间的信息交互、执行过程等内容,与本申请中图2a至图8对应的各个方法实施例基于同一构思,具体内容可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。
本申请实施例还提供了一种第一处理器,参阅图12,图12为本申请实施例提供的第一处理器的一种结构示意图,第一处理器1200包括于嵌入表征的处理系统,嵌入表征的处理系统还包括管理装置、第一处理器的存储设备和第二处理器的存储设备,第一处理器1200包括:发送模块1201,用于向管理装置发送目标请求,其中,目标请求中携带有第一特征,目标请求用于指示管理装置获取与第一特征对应的第一嵌入表征的存储地址,第一处理器的存储设备和第二处理器的存储设备用于存储不同的嵌入表征;接收模块1202,用于在第一嵌入表征的存储地址指向第二处理器的存储设备的情况下,接收管理装置发送的第一嵌入表征;训练模块1203,用于利用第一嵌入表征,对目标神经网络执行训练操作。
在一种可能的设计中,与第一处理器的存储设备中存储的嵌入表征对应的特征的出现次数高于与第二处理器的存储设备中存储的嵌入表征对应的特征的出现次数,训练样本中特征的出现次数用于指示特征在目标神经网络的第一训练数据集中的出现次数。
在一种可能的设计中,嵌入表征的处理系统还包括第三处理器,第三处理器用于对目标神经网络执行训练操作;训练模块1203,具体用于利用第一嵌入表征,对目标神经网络执行训练操作,以得到与目标神经网络的权重参数对应的梯度和与第一嵌入表征对应的梯度;发送模块1201,还用于在第一嵌入表征的存储地址指向第二处理器的存储设备的情况下,向管理装置发送与第一嵌入表征对应的梯度,与第一嵌入表征对应的梯度用于供管理装置得到与第一特征对应的更新后嵌入表征;发送模块1201,还用于向第三处理器发送与目标神经网络的权重参数对应的梯度,以根据与目标神经网络的权重参数对应的至少两组不同的梯度得到与目标神经网络的权重参数对应的一组合并后的梯度,合并后的梯度用于更新目标神经网络的权重参数。
需要说明的是,第一处理器1200中各模块/单元之间的信息交互、执行过程等内容,与本申请中图2a至图8对应的各个方法实施例基于同一构思,具体内容可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。
本申请实施例还提供了一种电子设备,请参阅图13,图13是本申请实施例提供的电子设备一种结构示意图,电子设备1300上可以部署有图10和图11对应实施例中所描述的管理装置1000,用于实现图2a至图8对应实施例中管理装置的功能;或者,电子设备1300 上可以部署有图12对应实施例中所描述的第一处理器1200,用于实现图2a至图8对应实施例中第一处理器的功能;或者,电子设备1300上既部署有图10和图11对应实施例中所描述的管理装置1000,又部署有图12对应实施例中所描述的第一处理器1200。具体的,电子设备1300可以可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上第二处理器1322(例如,一个或一个以上处理器)、一个或多个第一处理器1324和第一处理器的存储设备1332,用于存储一个或一个以上存储应用程序1342或数据1344的第二处理器的存储设备1330(例如一个或一个以上海量存储设备)。其中,第一处理器的存储设备1332和第二处理器的存储设备1330可以是短暂存储或持久存储。存储在第二处理器的存储设备1330的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对电子设备中的一系列指令操作。更进一步地,第二处理器1322可以设置为与第二处理器的存储设备1330通信,在电子设备1300上执行第二处理器的存储设备1330中的一系列指令操作。
其中,第一处理器的存储设备1332和第二处理器的存储设备1330用于存储不同的嵌入表征,与第一处理器的存储设备1332中存储的嵌入表征对应的特征的出现次数高于与和第二处理器的存储设备1330中存储的嵌入表征对应的特征的出现次数,训练样本中特征的出现次数用于指示特征在神经网络的第一训练数据集中的出现次数。
电子设备1300还可以包括一个或一个以上电源1326,一个或一个以上有线或无线网络接口1350,一个或一个以上输入输出接口1358,和/或,一个或一个以上操作系统1341,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
在一种情况下,本申请实施例中,电子设备1300可以通过第二处理器1322运行有管理装置,用于执行图2a至图8对应实施例中的管理装置执行的嵌入表征的处理方法。需要说明的是,管理装置执行各个步骤的具体方式,与本申请中图2a至图8对应的各个方法实施例基于同一构思,其带来的技术效果与本申请中图2a至图8对应的各个方法实施例相同,具体内容可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。
在另一种情况下,本申请实施例中,第一处理器1324用于执行图2a至图8对应实施例中的第一处理器行的嵌入表征的处理方法。需要说明的是,第一处理器1324执行各个步骤的具体方式,与本申请中图2a至图8对应的各个方法实施例基于同一构思,其带来的技术效果与本申请中图2a至图8对应的各个方法实施例相同,具体内容可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。
在另一种情况下,本申请实施例中,电子设备1300既通过第二处理器1322运行有管理装置,用于执行图2a至图8对应实施例中的管理装置执行的嵌入表征的处理方法,也通过第一处理器1324执行图2a至图8对应实施例中的第一处理器执行的嵌入表征的处理方法。需要说明的是,管理装置和第一处理器执行各个步骤的具体方式,与本申请中图2a 至图8对应的各个方法实施例基于同一构思,其带来的技术效果与本申请中图2a至图8 对应的各个方法实施例相同,具体内容可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。
本申请实施例中还提供一种包括计算机程序产品,当其在计算机上运行时,使得计算机执行如前述图2a至图8所示实施例描述的方法中管理装置所执行的步骤,或者,使得计算机执行如前述图2a至图8所示实施例描述的方法中第一处理器所执行的步骤。
本申请实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有用于进行信号处理的程序,当其在计算机上运行时,使得计算机执行如前述图2a至图8所示实施例描述的方法中管理装置所执行的步骤,或者,使得计算机执行如前述图2a至图8所示实施例描述的方法中第一处理器所执行的步骤。
本申请实施例提供的电子设备具体可以为芯片,芯片包括:处理单元和通信单元,所述处理单元例如可以是处理器,所述通信单元例如可以是输入/输出接口、管脚或电路等。该处理单元可执行存储单元存储的计算机执行指令,以使电子设备内的芯片执行上述图2a 至图8所示实施例描述的嵌入表征的处理方法。可选地,所述存储单元为所述芯片内的存储单元,如寄存器、缓存等,所述存储单元还可以是所述无线接入设备端内的位于所述芯片外部的存储单元,如只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)等。
具体的,请参阅图14,图14为本申请实施例提供的芯片的一种结构示意图,所述芯片可以表现为神经网络处理器NPU 140,NPU 140作为协处理器挂载到主第二处理器 (Host第二处理器)上,由Host第二处理器分配任务。NPU的核心部分为运算电路140,通过控制器1404控制运算电路1403提取存储器中的矩阵数据并进行乘法运算。
在一些实现中,运算电路1403内部包括多个处理单元(Process Engine,PE)。在一些实现中,运算电路1403是二维脉动阵列。运算电路1403还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实现中,运算电路1403是通用的矩阵处理器。
举例来说,假设有输入矩阵A,权重矩阵B,输出矩阵C。运算电路从权重存储器1402中取矩阵B相应的数据,并缓存在运算电路中每一个PE上。运算电路从输入存储器1401 中取矩阵A数据与矩阵B进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器(accumulator)1408中。
统一存储器1406用于存放输入数据以及输出数据。权重数据直接通过存储单元访问控制器(Direct Memory Access Controller,DMAC)1405,DMAC被搬运到权重存储器1402中。输入数据也通过DMAC被搬运到统一存储器1406中。
BIU为Bus Interface Unit即,总线接口单元1410,用于AXI总线与DMAC和取指存储器(Instruction Fetch Buffer,IFB)1409的交互。
总线接口单元1410(Bus Interface Unit,简称BIU),用于取指存储器1409从外部存储器获取指令,还用于存储单元访问控制器1405从外部存储器获取输入矩阵A或者权重矩阵B的原数据。
DMAC主要用于将外部存储器DDR中的输入数据搬运到统一存储器1406或将权重数据搬运到权重存储器1402中或将输入数据数据搬运到输入存储器1401中。
向量计算单元1407包括多个运算处理单元,在需要的情况下,对运算电路的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。主要用于神经网络中非卷积/全连接层网络计算,如Batch Normalization(批归一化),像素级求和,对特征平面进行上采样等。
在一些实现中,向量计算单元1407能将经处理的输出的向量存储到统一存储器1406。例如,向量计算单元1407可以将线性函数和/或非线性函数应用到运算电路1403的输出,例如对卷积层提取的特征平面进行线性插值,再例如累加值的向量,用以生成激活值。在一些实现中,向量计算单元1407生成归一化的值、像素级求和的值,或二者均有。在一些实现中,处理过的输出的向量能够用作到运算电路1403的激活输入,例如用于在神经网络中的后续层中的使用。
控制器1404连接的取指存储器(instruction fetch buffer)1409,用于存储控制器1404 使用的指令;
统一存储器1406,输入存储器1401,权重存储器1402以及取指存储器1409均为On-Chip存储器。外部存储器私有于该NPU硬件架构。
其中,图7和图8所示的高维卷积神经网络中各层的运算可以由运算电路1403或向量计算单元1407执行。
其中,上述任一处提到的处理器,可以是一个通用中央处理器,微处理器,ASIC,或一个或多个用于控制上述第一方面方法的程序执行的集成电路。
另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本申请提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用第二处理器、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本申请而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、U盘、移动硬盘、ROM、RAM、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,训练设备,或者网络设备等)执行本申请各个实施例所述的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、训练设备或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、训练设备或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的训练设备、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。
Claims (22)
1.一种嵌入表征的处理方法,其特征在于,所述方法应用于嵌入表征的处理系统,所述嵌入表征的处理系统包括管理装置 、第一处理器的存储设备和第二处理器的存储设备,所述第一处理器用于对目标神经网络执行训练操作,所述方法包括:
所述管理装置获取所述第一处理器发送的目标请求,所述目标请求中携带有第一特征,所述目标请求用于请求获取与所述第一特征对应的第一嵌入表征,所述第一特征为所述目标神经网络的第一训练样本中的特征;
所述管理装置获取与所述第一特征对应的第一嵌入表征的存储地址,当所述第一嵌入表征的存储地址指向所述第二处理器的存储设备,根据所述第一嵌入表征的存储地址,获取所述第一嵌入表征,其中,所述第一处理器的存储设备和所述第二处理器的存储设备用于存储不同的嵌入表征;
所述管理装置向所述第一处理器发送所述第一嵌入表征,所述第一嵌入表征用于供所述第一处理器利用所述第一嵌入表征对所述神经网络执行训练操作。
2.根据权利要求1所述的方法,其特征在于,当所述第一嵌入表征的存储地址指向所述第一处理器的存储设备,所述管理装置向所述第一处理器发送所述第一嵌入表征的存储地址。
3.根据权利要求1或2所述的方法,其特征在于,与所述第一处理器的存储设备中存储的嵌入表征对应的特征的出现次数高于与所述第二处理器的存储设备中存储的嵌入表征对应的特征的出现次数,训练样本中特征的出现次数用于指示特征在所述目标神经网络的第一训练数据集中的出现次数。
4.根据权利要求3所述的方法,其特征在于,
训练样本中特征的类型为高频、中频或低频中的任一种,类型为高频的特征在所述第一训练数据集中的出现次数大于类型为中频的特征在所述第一训练数据集中的出现次数,类型为中频的特征在所述第一训练数据集中的出现次数大于类型为低频的特征在所述第一训练数据集中的出现次数;
所述嵌入表征的处理系统包括至少两个所述第一处理器的存储设备,每个所述第一处理器的存储设备中均存储有与类型为高频的特征对应的嵌入表征,所述至少两个第一处理器的存储设备共同存储与类型为中频的特征对应的嵌入表征,不同的第一处理器的存储设备中存储有与不同的中频特征对应的嵌入表征,所述第二处理器的存储设备用于存储与类型为低频的特征对应的嵌入表征。
5.根据权利要求1或2所述的方法,其特征在于,所述第一嵌入表征用于供所述第一处理器利用所述第一嵌入表征对目标神经网络执行训练操作,以得到与所述第一嵌入表征对应的梯度,所述方法还包括:
所述管理装置获取与所述第一特征对应的更新后嵌入表征,所述更新后嵌入表征为根据所述第一嵌入表征和与所述第一嵌入表征对应的梯度得到的;
所述管理装置根据所述第一嵌入表征的存储地址,指示将所述第一嵌入表征变更为所述更新后嵌入表征。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
所述管理装置获取所述目标神经网络的第二训练数据集,所述第二训练数据集为所述目标神经网络的更新后的训练数据集;
所述管理装置根据所述第二训练数据集,对与所述第二训练数据集中的特征进行分类,以得到所述第二训练数据集中每个特征的类型;
在目标特征的类型发生改变的情况下,所述管理装置获取与所述目标特征对应的第二嵌入表征的更新后的存储地址,指示将所述第二嵌入表征存储至所述更新后的存储地址,所述目标特征为所述第二训练数据集中的特征。
7.一种嵌入表征的处理方法,其特征在于,所述方法应用于嵌入表征的处理系统,所述嵌入表征的处理系统包括管理装置、第一处理器的存储设备和第二处理器的存储设备,所述第一处理器用于对目标神经网络执行训练操作,所述方法包括:
所述第一处理器向所述管理装置发送目标请求,其中,所述目标请求中携带有第一特征,所述目标请求用于指示所述管理装置获取与所述第一特征对应的第一嵌入表征的存储地址,所述第一处理器的存储设备和所述第二处理器的存储设备用于存储不同的嵌入表征;
在所述第一嵌入表征的存储地址指向所述第二处理器的存储设备的情况下,所述第一处理器接收所述管理装置发送的所述第一嵌入表征;
所述第一处理器利用所述第一嵌入表征,对所述目标神经网络执行训练操作。
8.根据权利要求7所述的方法,其特征在于,与所述第一处理器的存储设备中存储的嵌入表征对应的特征的出现次数高于与所述第二处理器的存储设备中存储的嵌入表征对应的特征的出现次数,训练样本中特征的出现次数用于指示特征在所述目标神经网络的第一训练数据集中的出现次数。
9.根据权利要求7或8所述的方法,其特征在于,所述嵌入表征的处理系统还包括第三处理器,所述第三处理器用于对所述目标神经网络执行训练操作;
所述第一处理器利用所述第一嵌入表征,对所述目标神经网络执行训练操作,包括:
所述第一处理器利用所述第一嵌入表征,对所述目标神经网络执行训练操作,以得到与所述目标神经网络的权重参数对应的梯度和与所述第一嵌入表征对应的梯度;
所述方法还包括:
在所述第一嵌入表征的存储地址指向所述第二处理器的存储设备的情况下,所述第一处理器向所述管理装置发送与所述第一嵌入表征对应的梯度,所述与所述第一嵌入表征对应的梯度用于供所述管理装置得到与所述第一特征对应的更新后嵌入表征;
所述第一处理器向所述第三处理器发送与所述目标神经网络的权重参数对应的梯度,以根据与所述目标神经网络的权重参数对应的至少两组不同的梯度得到与所述目标神经网络的权重参数对应的一组合并后的梯度,所述合并后的梯度用于更新所述目标神经网络的权重参数。
10.一种管理装置,其特征在于,所述管理装置包括于嵌入表征的处理系统,所述嵌入表征的处理系统还包括第一处理器的存储设备和第二处理器的存储设备,所述第一处理器用于对目标神经网络执行训练操作,所述管理装置包括:
获取模块,用于获取所述第一处理器发送的目标请求,所述目标请求中携带有第一特征,所述目标请求用于请求获取与所述第一特征对应的第一嵌入表征,所述第一特征为所述目标神经网络的第一训练样本中的特征;
所述获取模块,还用于获取与所述第一特征对应的第一嵌入表征的存储地址,当所述第一嵌入表征的存储地址指向所述第二处理器的存储设备,根据所述第一嵌入表征的存储地址,获取所述第一嵌入表征,其中,所述第一处理器的存储设备和所述第二处理器的存储设备用于存储不同的嵌入表征;
发送模块,用于向所述第一处理器发送所述第一嵌入表征,所述第一嵌入表征用于供所述第一处理器利用所述第一嵌入表征对所述神经网络执行训练操作。
11.根据权利要求10所述的装置,其特征在于,当所述第一嵌入表征的存储地址指向所述第一处理器的存储设备,所述管理装置向所述第一处理器发送所述第一嵌入表征的存储地址。
12.根据权利要求10或11所述的装置,其特征在于,与所述第一处理器的存储设备中存储的嵌入表征对应的特征的出现次数高于与所述第二处理器的存储设备中存储的嵌入表征对应的特征的出现次数,训练样本中特征的出现次数用于指示特征在所述目标神经网络的第一训练数据集中的出现次数。
13.根据权利要求12所述的装置,其特征在于,
训练样本中特征的类型为高频、中频或低频中的任一种,类型为高频的特征在所述第一训练数据集中的出现次数大于类型为中频的特征在所述第一训练数据集中的出现次数,类型为中频的特征在所述第一训练数据集中的出现次数大于类型为低频的特征在所述第一训练数据集中的出现次数;
所述嵌入表征的处理系统包括至少两个所述第一处理器的存储设备,每个所述第一处理器的存储设备中均存储有与类型为高频的特征对应的嵌入表征,所述至少两个第一处理器的存储设备共同存储与类型为中频的特征对应的嵌入表征,不同的第一处理器的存储设备中存储有与不同的中频特征对应的嵌入表征,所述第二处理器的存储设备用于存储与类型为低频的特征对应的嵌入表征。
14.根据权利要求10或11所述的装置,其特征在于,所述第一嵌入表征用于供所述第一处理器利用所述第一嵌入表征对目标神经网络执行训练操作,以得到与所述第一嵌入表征对应的梯度;
所述获取模块,还用于获取与所述第一特征对应的更新后嵌入表征,所述更新后嵌入表征为根据所述第一嵌入表征和与所述第一嵌入表征对应的梯度得到的;
所述管理装置还包括:指示模块,用于根据所述第一嵌入表征的存储地址,指示将所述第一嵌入表征变更为所述更新后嵌入表征。
15.根据权利要求13所述的装置,其特征在于,
所述获取模块,还用于获取所述目标神经网络的第二训练数据集,所述第二训练数据集为所述目标神经网络的更新后的训练数据集;
所述管理装置还包括:分类模块,用于根据所述第二训练数据集,对与所述第二训练数据集中的特征进行分类,以得到所述第二训练数据集中每个特征的类型;
所述管理装置还包括:指示模块,用于在目标特征的类型发生改变的情况下,获取与所述目标特征对应的第二嵌入表征的更新后的存储地址,指示将所述第二嵌入表征存储至所述更新后的存储地址,所述目标特征为所述第二训练数据集中的特征。
16.一种处理器,其特征在于,所述处理器为第一处理器,所述第一处理器包括于嵌入表征的处理系统,所述嵌入表征的处理系统还包括管理装置、 所述第一处理器的存储设备和第二处理器的存储设备,所述第一处理器用于对目标神经网络执行训练操作,所述第一处理器包括:
发送模块,用于向所述管理装置发送目标请求,其中,所述目标请求中携带有第一特征,所述目标请求用于指示所述管理装置获取与所述第一特征对应的第一嵌入表征的存储地址,所述第一处理器的存储设备和所述第二处理器的存储设备用于存储不同的嵌入表征;
接收模块,用于在所述第一嵌入表征的存储地址指向所述第二处理器的存储设备的情况下,接收所述管理装置发送的所述第一嵌入表征;
训练模块,用于利用所述第一嵌入表征,对所述目标神经网络执行训练操作。
17.根据权利要求16所述的处理器,其特征在于,与所述第一处理器的存储设备中存储的嵌入表征对应的特征的出现次数高于与所述第二处理器的存储设备中存储的嵌入表征对应的特征的出现次数,训练样本中特征的出现次数用于指示特征在所述目标神经网络的第一训练数据集中的出现次数。
18.根据权利要求16或17所述的处理器,其特征在于,所述嵌入表征的处理系统还包括第三处理器,所述第三处理器用于对所述目标神经网络执行训练操作;
所述训练模块,具体用于利用所述第一嵌入表征,对所述目标神经网络执行训练操作,以得到与所述目标神经网络的权重参数对应的梯度和与所述第一嵌入表征对应的梯度;
所述发送模块,还用于在所述第一嵌入表征的存储地址指向所述第二处理器的存储设备的情况下,向所述管理装置发送与所述第一嵌入表征对应的梯度,所述与所述第一嵌入表征对应的梯度用于供所述管理装置得到与所述第一特征对应的更新后嵌入表征;
所述发送模块,还用于向所述第三处理器发送与所述目标神经网络的权重参数对应的梯度,以根据与所述目标神经网络的权重参数对应的至少两组不同的梯度得到与所述目标神经网络的权重参数对应的一组合并后的梯度,所述合并后的梯度用于更新所述目标神经网络的权重参数。
19.一种嵌入表征的处理系统,所述嵌入表征的处理系统包括管理装置、第一处理器.所述第一处理器的存储设备和第二处理器的存储设备;
所述第一处理器用于执行如权利要求7至9中任意一项所述的方法中所述第一处理器执行的步骤,所述管理装置用于执行如权利要求1至6中任意一项所述的方法中所述管理装置执行的步骤。
20.一种计算机程序,其特征在于,当所述计算机程序在计算机上运行时,使得计算机执行如权利要求1至6中任意一项所述的方法,或者,使得计算机执行如权利要求7至9中任意一项所述的方法。
21.一种计算机可读存储介质,其特征在于,包括程序,当所述程序在计算机上运行时,使得计算机执行如权利要求1至6中任一项所述的方法,或者,使得计算机执行如权利要求7至9中任意一项所述的方法。
22.一种电子设备,其特征在于,包括处理器和存储器,所述处理器与所述存储器耦合,
所述存储器,用于存储程序;
所述处理器,用于执行所述存储器中的程序,使得所述电子设备执行如权利要求1至6中任一项所述的方法,或者,使得所述电子设备执行如权利要求7至9中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110184037.4A CN113011580B (zh) | 2021-02-10 | 2021-02-10 | 一种嵌入表征的处理方法以及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110184037.4A CN113011580B (zh) | 2021-02-10 | 2021-02-10 | 一种嵌入表征的处理方法以及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113011580A CN113011580A (zh) | 2021-06-22 |
CN113011580B true CN113011580B (zh) | 2022-12-27 |
Family
ID=76402273
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110184037.4A Active CN113011580B (zh) | 2021-02-10 | 2021-02-10 | 一种嵌入表征的处理方法以及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113011580B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110245980A (zh) * | 2019-05-29 | 2019-09-17 | 阿里巴巴集团控股有限公司 | 基于神经网络模型确定目标用户激励形式的方法和设备 |
CN110377686A (zh) * | 2019-07-04 | 2019-10-25 | 浙江大学 | 一种基于深度神经网络模型的地址信息特征抽取方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11310247B2 (en) * | 2016-12-21 | 2022-04-19 | Micro Focus Llc | Abnormal behavior detection of enterprise entities using time-series data |
US10956704B2 (en) * | 2018-11-07 | 2021-03-23 | Advanced New Technologies Co., Ltd. | Neural networks for biometric recognition |
-
2021
- 2021-02-10 CN CN202110184037.4A patent/CN113011580B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110245980A (zh) * | 2019-05-29 | 2019-09-17 | 阿里巴巴集团控股有限公司 | 基于神经网络模型确定目标用户激励形式的方法和设备 |
CN110377686A (zh) * | 2019-07-04 | 2019-10-25 | 浙江大学 | 一种基于深度神经网络模型的地址信息特征抽取方法 |
Non-Patent Citations (1)
Title |
---|
多模态视觉语言表征学习研究综述;杜鹏飞 等;《软件学报》;20210203;第327-348页 * |
Also Published As
Publication number | Publication date |
---|---|
CN113011580A (zh) | 2021-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112434721B (zh) | 一种基于小样本学习的图像分类方法、系统、存储介质及终端 | |
CN111401516B (zh) | 一种神经网络通道参数的搜索方法及相关设备 | |
CN111950596A (zh) | 一种用于神经网络的训练方法以及相关设备 | |
US20170337449A1 (en) | Program, system, and method for determining similarity of objects | |
WO2017092623A1 (zh) | 文本向量表示方法及装置 | |
CN111695596A (zh) | 一种用于图像处理的神经网络以及相关设备 | |
CN111414915B (zh) | 一种文字识别方法以及相关设备 | |
RU2606880C2 (ru) | Способ, устройство и компьютерная программа для обработки данных датчика активности | |
EP4303767A1 (en) | Model training method and apparatus | |
CN111931002A (zh) | 一种匹配方法以及相关设备 | |
CN113065997B (zh) | 一种图像处理方法、神经网络的训练方法以及相关设备 | |
CN113408570A (zh) | 一种基于模型蒸馏的图像类别识别方法、装置、存储介质及终端 | |
CN111738403A (zh) | 一种神经网络的优化方法及相关设备 | |
CN110209658A (zh) | 数据清洗方法和装置 | |
CN113869496A (zh) | 一种神经网络的获取方法、数据处理方法以及相关设备 | |
US20220318383A1 (en) | Methods and apparatus for malware classification through convolutional neural networks using raw bytes | |
CN116883181B (zh) | 基于用户画像的金融服务推送方法、存储介质及服务器 | |
CN113627421A (zh) | 一种图像处理方法、模型的训练方法以及相关设备 | |
CN111259975B (zh) | 分类器的生成方法及装置、文本的分类方法及装置 | |
CN115203194A (zh) | 一种元数据信息的生成方法、相关装置、设备及存储介质 | |
CN113011580B (zh) | 一种嵌入表征的处理方法以及相关设备 | |
JP7236501B2 (ja) | 文書類似度学習に基づくディープラーニングモデルの転移学習方法およびコンピュータ装置 | |
CN115081615A (zh) | 一种神经网络的训练方法、数据的处理方法以及设备 | |
CN113159315A (zh) | 一种神经网络的训练方法、数据处理方法以及相关设备 | |
CN114924876A (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 |