CN114510911A - 文本处理方法、装置、计算机设备及存储介质 - Google Patents

文本处理方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN114510911A
CN114510911A CN202210139990.1A CN202210139990A CN114510911A CN 114510911 A CN114510911 A CN 114510911A CN 202210139990 A CN202210139990 A CN 202210139990A CN 114510911 A CN114510911 A CN 114510911A
Authority
CN
China
Prior art keywords
text
processing
sample
processing node
model
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
CN202210139990.1A
Other languages
English (en)
Other versions
CN114510911B (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202210139990.1A priority Critical patent/CN114510911B/zh
Publication of CN114510911A publication Critical patent/CN114510911A/zh
Application granted granted Critical
Publication of CN114510911B publication Critical patent/CN114510911B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • 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
    • G06N3/045Combinations of networks
    • 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)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Evolutionary Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Machine Translation (AREA)

Abstract

本申请公开了一种文本处理方法、装置、计算机设备及存储介质,属于计算机技术领域。该方法包括:获取多个样本文本和多个参考长度;将对应于同一参考长度的样本文本构成样本集合,样本文本对应的参考长度是:不小于样本文本的长度、且在多个参考长度中与样本文本的长度最接近的参考长度;将每个样本集合中,小于样本集合对应的参考长度的样本文本填充至样本集合对应的参考长度;通过多个处理节点中的每个处理节点,基于分配到的样本集合,并行训练文本处理模型。由于对样本文本的填充量比较小,且能够通过多个处理节点并行训练文本处理模型,因此在保证并行训练文本处理模型的同时,还降低了计算量,有利于提高文本处理模型的训练速度。

Description

文本处理方法、装置、计算机设备及存储介质
技术领域
本申请涉及计算机技术领域,特别涉及一种文本处理方法、装置、计算机设备及存储介质。
背景技术
随着计算机技术的发展和人工智能技术的进步,目前对文本处理模型进行训练时,通常在训练过程中需要将多个样本文本一起输入文本处理模型来训练文本处理模型,从而加快训练速度,这就需要保证该多个样本文本的长度一致。
相关技术中,在得到多个样本文本后,在该多个样本文本的长度中确定最大长度,将小于该最大长度的样本文本都填充至该最大长度,然后基于填充后的多个样本文本训练文本处理模型。但是,由于该方法需要将所有样本文本都填充至最大长度,导致填充量较大,进而导致文本处理模型的训练速度较慢。
发明内容
本申请实施例提供了一种文本处理方法、装置、计算机设备及存储介质,能够提高文本处理模型的训练速度。所述技术方案如下:
一方面,提供了一种文本处理方法,所述方法包括:
获取多个样本文本和多个参考长度,所述多个参考长度不同;
将对应于同一参考长度的样本文本构成样本集合,所述样本文本对应的参考长度是:不小于所述样本文本的长度、且在所述多个参考长度中与所述样本文本的长度最接近的参考长度;
将每个样本集合中,小于所述样本集合对应的参考长度的样本文本填充至所述样本集合对应的参考长度;
通过多个处理节点中的每个所述处理节点,基于分配到的样本集合,并行训练文本处理模型,所述文本处理模型用于对任一文本进行处理。
可选地,所述第一更新信息包括多个维度上的梯度值,所述在每个所述处理节点得到各自对应的文本处理子模型的第一更新信息的情况下,基于每个所述处理节点得到的第一更新信息,确定全量更新信息,包括:
在每个所述处理节点得到所述第一更新信息的情况下,通过每个所述处理节点,基于得到的每个第一更新信息中所述处理节点的目标维度上的梯度值,确定所述目标维度上的全量梯度值,所述处理节点的目标维度是指所述处理节点分配到的维度,每个处理节点分配有所述多个维度中的不同维度;
通过每个所述处理节点,基于所述目标维度上的全量梯度值,对所述目标维度对应的权重参数进行更新;
将所述多个维度对应的更新后的权重参数,确定为所述全量更新信息。
可选地,所述算子参数包括第一动量参数、第二动量参数和权重参数,所述算子参数集合包括第一动量参数集合、第二动量参数集合和权重参数集合;所述基于所述梯度值集合,对所述算子参数集合进行调整,得到调整后的算子参数集合,包括:
基于所述梯度值集合,分别对所述第一动量参数集合和所述第二动量参数集合进行调整,得到调整后的第一动量参数集合和调整后的第二动量参数集合;
基于所述调整后的第一动量参数集合和所述调整后的第二动量参数集合,对所述权重参数集合进行调整,得到调整后的权重参数集合;
所述基于所述全量更新信息,更新各自对应的文本处理子模型,包括:
将所述处理节点对应的文本处理子模型中所述多个算子的权重参数,替换为调整后的权重参数集合中的权重参数。
另一方面,提供了一种文本处理装置,所述装置包括:
获取模块,用于获取多个样本文本和多个参考长度,所述多个参考长度不同;
集合确定模块,用于将对应于同一参考长度的样本文本构成样本集合,所述样本文本对应的参考长度是:不小于所述样本文本的长度、且在所述多个参考长度中与所述样本文本的长度最接近的参考长度;
第一填充模块,用于将每个样本集合中,小于所述样本集合对应的参考长度的样本文本填充至所述样本集合对应的参考长度;
训练模块,用于通过多个处理节点中的每个所述处理节点,基于分配到的样本集合,并行训练文本处理模型,所述文本处理模型用于对任一文本进行处理。
可选地,所述文本处理模型包括每个所述处理节点对应的文本处理子模型,所述训练模块包括第一训练单元,所述第一训练单元,用于:
对于每个所述处理节点,将分配到的样本集合中的多个样本文本拼接成文本矩阵,所述文本矩阵的行数等于所述多个样本文本的数量,所述文本矩阵的列数等于所述样本集合对应的参考长度,或者所述行数等于所述样本集合对应的参考长度,所述列数等于所述多个样本文本的数量;
基于所述文本矩阵,训练所述处理节点对应的文本处理子模型。
可选地,所述第一训练单元,还用于:
对所述文本矩阵中的多个样本文本的排列顺序进行调整,得到调整后的文本矩阵;
基于所述调整后的文本矩阵,继续训练所述处理节点对应的文本处理子模型。
可选地,所述文本处理模型包括每个所述处理节点对应的文本处理子模型,所述训练模块包括第二训练单元,所述第二训练单元,用于:
对于每个所述处理节点,将分配到的样本集合中的多个样本文本中至少一个位置上的原始字符替换为目标字符;
调用所述处理节点对应的文本处理子模型,基于替换后的多个样本文本进行预测,得到所述至少一个位置上的预测字符;
基于所述至少一个位置上的原始字符和预测字符,训练所述处理节点对应的文本处理子模型。
可选地,所述第二训练单元,用于:
调用所述处理节点对应的文本处理子模型,对替换后的多个样本文本进行特征提取,得到替换后的多个样本文本中每个位置上的字符对应的字符特征;
在得到的多个字符特征中,获取所述至少一个位置上的目标字符对应的字符特征;
基于所述至少一个位置上的目标字符对应的字符特征进行预测,得到所述至少一个位置上的预测字符。
可选地,所述文本处理模型包括每个所述处理节点对应的文本处理子模型,所述训练模块包括第三训练单元,所述第三训练单元,用于:
将所述多个样本集合分配给多个处理节点;
通过每个所述处理节点,基于分配到的样本集合,训练各自对应的文本处理子模型;
在每个所述处理节点得到各自对应的文本处理子模型的第一更新信息的情况下,基于每个所述处理节点得到的第一更新信息,确定全量更新信息;
通过每个所述处理节点,基于所述全量更新信息,更新各自对应的文本处理子模型。
可选地,所述第一更新信息包括梯度矩阵,所述第三训练单元,还用于:
对于每个所述处理节点:
通过所述处理节点,基于分配到的样本集合,确定所述处理节点对应的文本处理子模型的梯度信息,所述梯度信息包括多个维度中的至少一个维度和所述至少一个维度上的梯度值;
为所述多个维度中未对应有梯度值的维度填充梯度值;
基于所述多个维度以及所述多个维度上的梯度值,构建所述梯度矩阵。
可选地,所述文本处理子模型包括多个网络层,所述第三训练单元,用于:
通过每个所述处理节点,依次获取各自对应的文本处理子模型中第一网络层的第一更新信息;
在每个所述处理节点已获取且未处理的第一更新信息的数据量均达到目标阈值的情况下,基于每个所述处理节点已获取且未处理的第一更新信息,确定所述第一网络层的全量更新信息;
通过每个所述处理节点,继续依次获取各自对应的文本处理子模型中第二网络层的第一更新信息;
在每个所述处理节点已获取且未处理的第一更新信息的数据量均达到所述目标阈值的情况下,或者在每个所述处理节点已获取到各自对应的文本处理子模型中每个网络层的第一更新信息的情况下,基于每个所述处理节点已获取且未处理的第一更新信息,确定所述第二网络层的全量更新信息。
可选地,所述装置还包括阈值确定模块,所述阈值确定模块,用于:
分别确定多个带宽利用率,所述多个带宽利用率是在任两个处理节点之间分别传输不同数据量的信息所产生的;
将最高的带宽利用率对应的数据量,确定为所述目标阈值。
可选地,所述装置还包括:
第二填充模块,用于在所述处理节点得到的第一更新信息的数据量不属于目标数值的倍数的情况下,通过所述处理节点对所述第一更新信息进行填充,以使所述第一更新信息的数据量属于所述目标数值的倍数。
可选地,所述第一更新信息包括所述文本处理子模型中的多个算子的梯度值;所述第三训练单元,用于:
基于得到的每个第一更新信息中所述多个算子的梯度值,确定所述多个算子的全量梯度值,将所述多个算子的全量梯度值构成梯度值集合;
将所述处理节点在上一次训练过程中得到的所述多个算子的算子参数构成算子参数集合;
基于所述梯度值集合,对所述算子参数集合进行调整,得到调整后的算子参数集合;
将所述调整后的算子参数集合,确定为所述全量更新信息。
可选地,所述算子参数包括第一动量参数、第二动量参数和权重参数,所述算子参数集合包括第一动量参数集合、第二动量参数集合和权重参数集合;所述第三训练单元,用于:
基于所述梯度值集合,分别对所述第一动量参数集合和所述第二动量参数集合进行调整,得到调整后的第一动量参数集合和调整后的第二动量参数集合;
基于所述调整后的第一动量参数集合和所述调整后的第二动量参数集合,对所述权重参数集合进行调整,得到调整后的权重参数集合;
所述第三训练单元,还用于:
将所述处理节点对应的文本处理子模型中所述多个算子的权重参数,替换为调整后的权重参数集合中的权重参数。
可选地,所述第一更新信息包括多个维度上的梯度值,所述第三训练单元,用于:
在每个所述处理节点得到所述第一更新信息的情况下,通过每个所述处理节点,基于得到的每个第一更新信息中所述处理节点的目标维度上的梯度值,确定所述目标维度上的全量梯度值,所述处理节点的目标维度是指所述处理节点分配到的维度,每个处理节点分配有所述多个维度中的不同维度;
通过每个所述处理节点,基于所述目标维度上的全量梯度值,对所述目标维度对应的权重参数进行更新;
将所述多个维度对应的更新后的权重参数,确定为所述全量更新信息。
另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条计算机程序,所述至少一条计算机程序由所述处理器加载并执行以实现如上述方面所述的文本处理方法所执行的操作。
另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条计算机程序,所述至少一条计算机程序由处理器加载并执行以实现如上述方面所述的文本处理方法所执行的操作。
另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序由处理器加载并执行,以实现如上述方面所述的文本处理方法所执行的操作。
本申请实施例提供的方法、装置、计算机设备及存储介质,在多个参考长度中,确定不小于样本文本的长度且与样本文本的长度最接近的参考长度,将该样本文本分配至该参考长度对应的样本集合中,将样本文本填充至该参考长度,由于该参考长度是最接近该样本文本的参考长度,所以对样本文本的填充量比较小,然后通过多个处理节点基于多个不同的样本集合,并行训练文本处理模型,从而在保证并行训练文本处理模型的同时,还降低了计算量,有利于提高文本处理模型的训练速度。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种实施环境的示意图;
图2是本申请实施例提供的一种文本处理方法的流程图;
图3是本申请实施例提供的另一种文本处理方法的流程图;
图4是本申请实施例提供的一种文本矩阵的示意图;
图5是本申请实施例提供的又一种文本处理方法的示意图;
图6是本申请实施例提供的再一种文本处理方法的流程图;
图7是本申请实施例提供的一种字符预测方法的示意图;
图8是本申请实施例提供的另一种字符预测方法的示意图;
图9是本申请实施例提供的一种文本处理子模型的训练方法的示意图;
图10是本申请实施例提供的再一种文本处理方法的流程图;
图11是本申请实施例提供的一种梯度规约方法的示意图;
图12是本申请实施例提供的一种梯度转换方法的示意图;
图13是本申请实施例提供的一种更新信息处理方法的示意图;
图14是本申请实施例提供的一种分配更新信息的示意图;
图15是本申请实施例提供的一种信息处理方法的示意图;
图16是本申请实施例提供的另一种信息处理方法的示意图;
图17是本申请实施例提供的一种文本处理模型的训练方法的流程图;
图18是本申请实施例提供的一种优化方法的示意图;
图19是本申请实施例提供的一种文本处理装置的结构示意图;
图20是本申请实施例提供的另一种文本处理装置的结构示意图;
图21是本申请实施例提供的一种终端的结构示意图;
图22是本申请实施例提供的一种服务器的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种概念,但除非特别说明,这些概念不受这些术语限制。这些术语仅用于将一个概念与另一个概念区分。举例来说,在不脱离本申请的范围的情况下,可以将第一网络层称为第二网络层,且类似地,可将第二网络层称为第一网络层。
其中,至少一个是指一个或者一个以上,例如,至少一个网络层可以是一个网络层、两个网络层、三个网络层等任一大于等于一的整数个网络层。多个是指两个或者两个以上,例如,多个网络层可以是两个网络层、三个网络层等任一大于等于二的整数个网络层。每个是指至少一个中的每一个,例如,每个网络层是指多个网络层中的每一个网络层,若多个网络层为3个网络层,则每个网络层是指3个网络层中的每一个网络层。
可以理解的是,在本申请的实施方式中,涉及到用户信息等相关的数据,当本申请以上实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用***。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互***、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习、自动驾驶、智慧交通等几大方向。
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、示教学习等技术。
自然语言处理(Nature Language processing,NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
以下将基于人工智能技术和自然语言处理技术,对本申请实施例提供的文本处理方法进行说明。
本申请实施例提供的文本处理方法,由计算机设备执行。计算机设备将不小于样本文本的长度、且与样本文本的长度最接近的参考长度,确定为样本文本对应的参考长度,然后将对应于同一参考长度的样本文本构成样本集合,并将样本集合小于参考长度的样本文本填充至参考长度,保证了样本集合中的多个样本文本的长度一致,从而通过多个处理节点中的每个处理节点,基于分配到的样本集合,并行训练文本处理模型。由于该方法在保证并行训练文本处理模型的同时,还能够降低训练文本处理模型的计算量,有利于提高文本处理模型的训练速度。
在一种可能实现方式中,该计算机设备为终端或服务器。可选地,该服务器是独立的物理服务器,或者,是多个物理服务器构成的服务器集群或者分布式***,或者,是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。可选地,该终端是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。
在一种可能实现方式中,本申请实施例所涉及的计算机程序可被部署在一个计算机设备上执行,或者在位于一个地点的多个计算机设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算机设备上执行,分布在多个地点且通过通信网络互连的多个计算机设备能够组成区块链***。
在一种可能实现方式中,本申请实施例中用于训练文本处理模型的计算机设备是区块链***中的节点,该节点能够将训练的文本处理模型存储在区块链中,之后该节点或者该区块链中的其他设备对应的节点可基于该文本处理模型对文本进行处理。
图1是本申请实施例提供的一种实施环境的示意图,如图1所示,该实施环境包括服务器101和终端102,服务器101和终端102之间通过无线或者有线网络连接。可选地,服务器101用于采用本申请实施例提供的方法,训练文本处理模型。服务器101将训练好的文本处理模型发送给终端102,终端102即可调用该文本处理模型,对文本进行处理。
在一种可能实现方式中,终端102中运行有该服务器101提供的应用客户端,服务器101将训练好的文本处理模型存储于该应用客户端中,该应用客户端具有文本处理等功能。终端102基于该应用客户端,调用文本处理模型,对文本进行处理。
本申请实施例提供的文本处理方法,可应用于任一场景下。
例如,在文本搜索的场景中,该文本处理模型为文本搜索模型,该文本搜索模型用于搜索与任一文本相似的其他文本。计算机设备采用上述实施例提供的方法,获取多个样本文本,将多个样本文本划分为多个样本集合,分别基于该多个样本集合训练文本搜索模型,后续即可使用训练后的文本搜索模型,搜索与任一文本相似的其他文本。
除此之外,本申请提供的文本处理方法还能够应用在其他对文本进行处理的场景下,例如基于文本进行信息推荐的场景或者智能问答场景等,本申请实施例对此不做限制。
图2是本申请实施例提供的一种文本处理方法的流程图,本申请实施例的执行主体为计算机设备,参见图2,该方法包括:
201、计算机设备获取多个样本文本和多个参考长度。
该多个样本文本用于训练文本处理模型,该多个样本文本可以为任一类型的样本文本,针对不同类型的训练任务,可以获取对应类型的样本文本。该参考长度指示用于训练文本处理模型的样本文本的长度,可选地,多个参考长度为计算机设备预先设置的长度,例如参考长度为128、256、512、1024或者2048等。
其中,该多个样本文本的长度不同,该多个参考长度不同。
202、计算机设备将对应于同一参考长度的样本文本构成样本集合。
计算机设备在该多个参考长度中,确定每个样本文本对应的参考长度。其中,样本文本对应的参考长度是:不小于该样本文本的长度、且在多个参考长度中与该样本文本的长度最接近的参考长度。例如,多个参考长度包括128、256、512、1024和2048,某一样本文本的长度为459,则该样本文本对应的参考长度为512。
计算机设备确定每个样本文本对应的参考长度后,将对应于同一参考长度的样本文本构成样本集合,从而得到多个样本集合,一个参考长度对应一个样本集合。例如,对应的参考长度为256的样本集合中,样本文本的长度属于(128,256]的范围,对应的参考长度为512的样本集合中,样本文本的长度属于(256,512]的范围。
203、计算机设备将每个样本集合中,小于样本集合对应的参考长度的样本文本填充至样本集合对应的参考长度。
由于在一次迭代过程中训练文本处理模型所使用的多个样本文本的长度需要保持一致,因此计算机设备得到多个样本集合后,对于每个样本集合,确定该样本集合中小于该样本集合对应的参考长度的样本文本,将这些样本文本填充至该样本集合对应的参考长度,从而保证样本集合中的多个样本文本的长度,均为该样本集合对应的参考长度。例如,某一样本集合对应的参考长度为512,该样本集合中包括长度为459的样本文本,则需要将该样本文本从459填充至512。
可选地,对样本文本进行填充包括对样本文本进行补零操作等,或者补充其他类型的字符,本申请实施例对此不做限定。
204、计算机设备通过多个处理节点中的每个处理节点,基于分配到的样本集合,并行训练文本处理模型。
本申请实施例中,计算机设备包括多个处理节点,该多个处理节点之间能够并行进行处理,因此,为了提高文本处理模型的训练速度,计算机设备将获取的多个样本集合分配给该多个处理节点进行处理,每个处理节点分配有不同的样本集合。计算机设备通过多个处理节点中的每个处理节点,基于分配到的样本集合,并行训练文本处理模型。
其中,该文本处理模型用于对任一文本进行处理。该文本处理模型可以为用于执行任意类型的处理任务的文本处理模型,例如该文本处理模型用于执行文本识别任务、文本分类任务或者文本生成任务等,本申请实施例不做限定。
在一种可能实现方式中,该多个处理节点为计算机设备中的多个GPU(GraphicsProcessing Unit,图形处理器),计算机设备将该多个样本集合分配给该多个GPU。在另一种可能实现方式中,该计算机设备是指服务器集群,该服务器集群中包括多个服务器,每个服务器包括至少一个GPU,则将该多个样本集合分配给多个服务器中的多个GPU。
相关技术中,为了加快训练速度,将多个样本文本一起输入到文本处理模型中进行处理,这就需要保证该多个样本文本的长度一致,因此在获取到多个样本文本后,将所有样本文本的长度均填充至该多个样本文本中的最大长度,导致样本文本的填充量较大。而本申请实施例中,确定多个参考长度,将样本文本填充至大于该样本文本的长度且与该样本文本的长度最接近的参考长度,有效降低了对样本文本的填充量,然后将对应不同参考长度的样本集合分配给多个处理节点,以使多个处理节点基于分配到的样本集合并行训练文本处理模型,因此虽然将多个样本文本划分为了对应不同参考长度的样本集合,依然能够基于该多个样本文本并行训练文本处理模型,从而在保证加快训练速度的前提下,还降低了训练过程的计算量。
本申请实施例提供的方法,在多个参考长度中,确定不小于样本文本的长度且与样本文本的长度最接近的参考长度,将该样本文本分配至该参考长度对应的样本集合中,如果该样本文本的长度小于该参考长度,则将样本文本填充至该参考长度,由于该参考长度是最接近该样本文本的参考长度,所以对样本文本的填充量比较小,然后通过多个处理节点基于多个不同的样本集合,并行训练文本处理模型,从而在保证并行训练文本处理模型的同时,还降低了计算量,有利于提高文本处理模型的训练速度。
图3是本申请实施例提供的另一种文本处理方法的流程图,本申请实施例的执行主体为计算机设备,以上述图2的实施例为基础,本申请实施例为基于多个样本集合训练文本处理模型的过程,具体说明了基于文本矩阵训练文本处理模型的过程,参见图3,该方法包括:
301、计算机设备对于每个处理节点,将分配到的样本集合中的多个样本文本拼接成文本矩阵。
本申请实施例中,文本处理模型包括每个处理节点对应的文本处理子模型,其中,计算机设备中的每个处理节点都对应有各自的文本处理子模型,该多个处理节点的文本子处理模型的模型结构相同,该多个处理节点的文本子处理模型中的权重参数可以相同也可以不同。本申请实施例中,通过多个处理节点分别训练各自的文本处理子模型,从而联合训练文本处理模型。
以一个处理节点为例来说明,计算机设备通过该处理节点,获取该处理节点所分配到的样本集合中的多个样本文本,由于该多个样本文本的长度已经统一为该样本集合对应的参考长度,因此计算机设备能够将该多个样本文本拼接成文本矩阵,以便后续调用该处理节点对应的文本处理子模型,直接对该文本矩阵进行处理,从而实现对多个样本文本进行并行处理。
其中,该文本矩阵的行数等于多个样本文本的数量,文本矩阵的列数等于样本集合对应的参考长度。也即是,计算机设备将每个样本文本中的多个字符按照顺序纵向排列,然后将多个样本文本按照顺序在横向方向上依次拼接,得到该文本矩阵。或者,该文本矩阵的行数等于样本集合对应的参考长度,该文本矩阵的列数等于多个样本文本的数量。也即是,计算机设备将每个样本文本中的多个词组按照顺序横向排列,然后将该多个样本文本按照顺序在纵向方向上依次拼接,得到该文本矩阵。
图4是本申请实施例提供的一种文本矩阵的示意图,如图4所示,图4中左侧示出的矩阵为文本矩阵401,该文本矩阵401中每一列为一个样本文本,样本文本中的“0”为填充的字符,后续文本处理子模型可对每一列的样本文本进行并行处理。图4中右侧示出的矩阵为该文本矩阵401对应的Mask(掩盖)矩阵402,该Mask矩阵402中的位置与文本矩阵401中的位置一一对应,Mask矩阵402中的“1”表示文本矩阵401中对应位置上的字符为样本文本中的原始字符,Mask矩阵402中的“0”表示文本矩阵401中对应位置上的字符为样本文本中所填充的字符。
302、计算机设备基于文本矩阵,训练处理节点对应的文本处理子模型。
计算机设备基于该文本矩阵,训练文本处理子模型。可选地,计算机设备获取该文本矩阵对应的样本标签,调用文本处理子模型,对该文本矩阵进行处理,得到处理结果,基于该处理结果和该文本矩阵对应的样本标签,训练该文本处理子模型。
303、计算机设备对文本矩阵中的多个样本文本的排列顺序进行调整,得到调整后的文本矩阵。
文本矩阵中的多个样本文本是按照顺序排列的,计算机设备基于文本矩阵,对文本处理子模型进行至少一次训练后,重新对该文本矩阵中的多个样本文本的排列顺序进行调整,得到调整后的文本矩阵。可选地,计算机设备随机对该文本矩阵中的多个样本文本的排列顺序进行调整,或者采用预设的调整方式,对该文本矩阵中的多个样本文本的排列顺序进行调整。
因此,调整后的文本矩阵中的多个样本文本与调整前的文本矩阵中的多个样本文本是相同,但该多个样本文本的排列顺序是不同的。
304、计算机设备基于调整后的文本矩阵,继续训练处理节点对应的文本处理子模型。
计算机设备获取到调整后的文本矩阵后,基于该调整后的文本矩阵,继续训练文本处理子模型。该步骤304与上述步骤302同理。
图5是本申请实施例提供的又一种文本处理方法的示意图,如图5所示,该方法包括以下步骤:(1)划分样本集合:统计每个样本文本的长度,将长度不大于256的样本文本分配至参考长度为256的样本集合中,将长度大于256且不大于512的样本文本分配至参考长度为512的样本集合中,将长度大于512且不大于1024的样本文本分配至参考长度为1024的样本集合中,将长度大于1024且不大于2048的样本文本分配至参考长度为2048的样本集合中;(2)对未达到对应的参考长度的样本文本进行填充;(3)以参考长度为256的样本集合为例,将样本集合中的样本文本按顺序拼接成文本矩阵,训练文本处理子模型,一次训练过程结束后,重新调整文本矩阵中的样本文本的顺序,继续训练文本处理子模型,从而保证训练文本处理子模型所使用的文本矩阵的随机性。
需要说明的是,本申请实施例仅以对文本矩阵中样本文本的排列顺序进行一次调整为例进行说明。在另一实施例中,还可以对文本矩阵中样本文本的排列顺序进行多次调整,也即是多次执行上述步骤303-步骤304。或者,计算机设备还可以不对文本矩阵中样本文本的排列顺序进行调整,也即是不执行上述步骤303-步骤304。
本申请实施例提供的方法,将样本集合中的多个样本文本拼接成文本矩阵,基于该文本矩阵对文本处理子模型进行训练,使得文本处理子模型的训练过程中能够对文本矩阵中的多个样本文本进行并行处理,提高了文本处理子模型的训练效率。
并且,将文本矩阵中多个样本文本的排列顺序重新进行调整,使用调整后的文本矩阵继续训练文本处理子模型,从而保证了训练文本处理子模型所使用的文本矩阵的随机性,从而提高了文本处理子模型的鲁棒性。
图6是本申请实施例提供的再一种文本处理方法的流程图,本申请实施例的执行主体为计算机设备,以上述图2的实施例为基础,本申请实施例为基于多个样本集合训练文本处理模型的过程,具体说明了基于原始字符和预测字符训练文本处理模型的过程,参见图6,该方法包括:
601、计算机设备对于每个处理节点,将分配到的样本集合中的多个样本文本中至少一个位置上的原始字符替换为目标字符。
本申请实施例中,文本处理模型包括每个处理节点对应的文本处理子模型。该文本处理子模型为预训练的预测类的子模型,通过将样本文本中的至少一个原始字符掩盖掉,让文本处理子模型预测被掩盖掉的原始字符,从而不断学习文本中的特征。因此,以一个处理节点为例,计算机设备通过该处理节点,将该处理节点分配到的样本集合中每个样本文本中至少一个位置上的原始字符替换为目标字符。
可选地,该至少一个位置为计算机设备预先设置的位置。可选地,该目标字符为计算机设备预先设置的字符,例如该目标字符为“0”,或者该目标字符为计算机设备随机确定的字符,本申请实施例对此不做限定。
602、计算机设备调用处理节点对应的文本处理子模型,基于替换后的多个样本文本进行预测,得到该至少一个位置上的预测字符。
计算机设备得到替换后的多个样本文本后,调用文本处理子模型,基于该替换后的多个样本文本进行预测,得到该至少一个位置上的预测字符。其中,预测字符是文本处理子模型预测的该至少一个位置上应该是哪个字符,该文本处理子模型的训练目的是预测出该至少一个位置上的原始字符,也即是如果文本处理子模型得到的预测字符与原始字符一致,则说明该文本处理子模型足够准确。
图7是本申请实施例提供的一种字符预测方法的示意图,如图7所示,样本文本为“我爱傍晚的彩霞”,其中,位置701上的字符“爱”被掩盖,也即是被目标字符替换,位置702上的字符“彩”也被掩盖。计算机设备调用文本处理子模型,基于被掩盖后的样本文本进行预测,得到位置701和位置702上的预测字符,如果得到的位置701上的预测字符为“爱”,位置702上的预测字符为“彩”,则说明该文本处理子模型足够准确。
在一种可能实现方式中,计算机设备调用处理节点对应的文本处理子模型,对替换后的多个样本文本进行特征提取,得到替换后的多个样本文本中每个位置上的字符对应的字符特征,在得到的多个字符特征中,获取该至少一个位置上的目标字符对应的字符特征,基于该至少一个位置上的目标字符对应的字符特征进行预测,得到该至少一个位置上的预测字符。
其中,文本处理子模型在基于样本文本提取样本文本中每个位置上的字符对应的字符特征时,会考虑各个字符之间的上下文关系,所以提取出来的字符特征,表示的是该字符在该样本文本中的语义。所以后续仅基于该至少一个位置上的目标字符对应的字符特征预测该至少一个位置上的字符即可,无需基于每个位置上的字符对应的字符特征进行预测,从而降低了文本处理子模型的计算量,有利于提高文本处理子模型的训练速度。
可选地,计算机设备基于样本文本中该至少一个位置上的目标字符对应的字符特征,确定该样本文本对应的文本特征,调用文本处理子模型,基于该文本特征进行预测,得到该至少一个位置上的预测字符。
图8是本申请实施例提供的另一种字符预测方法的示意图,如图8所示,特征矩阵801表示文本处理子模型提取出来的多个样本文本中每个位置上的字符对应的字符特征,其中白色方框表示未被掩盖的位置上的字符(也即是原始字符)对应的字符特征,阴影方框表示被掩盖的位置上的字符(也即是目标字符)对应的字符特征,特征矩阵802表示从特征矩阵801中过滤出来的被掩盖的位置上的字符对应的字符特征。计算机设备采用映射矩阵803,将特征矩阵802映射为特征矩阵804,该特征矩阵804表示采用被掩盖的位置上的字符对应的字符特所确定的样本文本对应的文本特征。
603、计算机设备基于该至少一个位置上的原始字符和预测字符,训练处理节点对应的文本处理子模型。
计算机设备基于该至少一个位置上的原始字符与预测字符之间的差异,训练文本处理子模型。由于原始字符是真实的字符,预测字符是文本处理子模型预测得到的字符,则预测字符与原始字符越相似,该文本处理子模型越准确。因此,计算机设备根据原始字符与预测字符之间的差异,训练文本处理子模型,使得文本处理子模型预测得到的预测字符与原始字符之间的差异越来越小,以提高文本处理子模型的处理能力,从而提高文本处理子模型的准确性。
相关技术中,基于每个位置上的字符对应的字符特征,预测被掩盖的至少一个位置上的字符,因此计算量正比于样本文本的长度,造成了大量的冗余。而本申请实施例中,仅基于该至少一个位置上的目标字符对应的字符特征预测该至少一个位置上的字符,因此计算量正比于被替换的字符的长度,从而降低了文本处理子模型的计算量,有利于提高文本处理子模型的训练速度。
图9是本申请实施例提供的一种文本处理子模型的训练方法的示意图,如图9所示,该文本处理子模型包括编码网络、第一处理网络、第二处理网络和全连接网络,该编码网络用于提取字符特征,该第一处理网络可以为BertOnlyMLMHead(Bert Only MaskedLanguage Model Head,一种用于实现掩盖预测的函数),该第二处理网络可以为BertLMPredictionHead(Bert Language Model Prediction Head,一种用于解码的函数)。计算机设备将编码网络的输出结果输入至第一处理网络,后续经由第一处理网络、第二处理网络和全连接网络进行处理,得到预测结果,并基于预测结果确定该文本处理子模型的损失值。
本申请实施例提供的方法,仅基于该至少一个位置上的目标字符对应的字符特征预测该至少一个位置上的字符即可,无需基于每个位置上的字符对应的字符特征进行预测,从而降低了文本处理子模型的计算量,有利于提高文本处理子模型的训练速度。
图10是本申请实施例提供的再一种文本处理方法的流程图,本申请实施例的执行主体为计算机设备,以上述图2的实施例为基础,本申请实施例具体说明了通过多个处理节点训练文本处理模型的过程,参见图10,该方法包括:
1001、计算机设备通过每个处理节点,基于分配到的样本集合,训练各自对应的文本处理模型。
本申请实施例中,文本处理模型包括每个处理节点对应的文本处理子模型。以一个处理节点为例,计算机设备将样本集合分配给该处理节点后,通过该处理节点,基于分配到的该样本集合,训练该处理节点对应的文本处理子模型。
1002、计算机设备在每个处理节点得到各自对应的文本处理子模型的第一更新信息的情况下,基于每个处理节点得到的第一更新信息,确定全量更新信息。
以一个处理节点为例,计算机设备通过该处理节点训练该处理节点对应的文本处理子模型,能够得到该文本处理子模型的第一更新信息,该第一更新信息用于更新该文本处理子模型,例如该第一更新信息为梯度值或者权重参数等。
在每个处理节点均得到各自对应的文本处理子模型的第一更新信息的情况下,计算机设备基于每个处理节点得到的第一更新信息,确定全量更新信息。其中,该全量更新信息用于更新文本处理子模型,基于每个处理节点得到的第一更新信息,确定全量更新信息的过程,详见下述实施例中的第二种方案、第四种方案或者第五种方案,在此暂不作说明。
在一种可能实现方式中,对于该多个处理节点中的每个处理节点,当计算机设备通过该处理节点得到第一更新信息,则通过该处理节点,向其他处理节点发送该第一更新信息,使得多个处理节点中的每个处理节点都获取到该第一更新信息。因此,在每个处理节点得到各自对应的文本处理子模型的第一更新信息的情况下,每个处理节点也会得到其他处理节点对应的文本处理子模型的第一更新信息,也即是,每个处理节点都能够得到该多个处理节点对应的第一更新信息。则对于该多个处理节点中的每个处理节点,该处理节点基于得到的多个第一更新信息,确定全量更新信息,因此该计算机设备中的每个处理节点都能够得到该全量更新信息。
1003、计算机设备通过每个处理节点,基于全量更新信息,更新各自对应的文本处理子模型。
计算机设备获取到全量更新信息后,通过每个处理节点,基于该全量更新信息,更新各自对应的文本处理子模型。由于第一更新信息是通过处理节点基于分配到的样本集合进行训练所得到的,如果仅根据处理节点各自得到的第一更新信息,更新各自对应的文本处理子模型,则文本处理子模型的训练过程仅参考了一个处理节点所分配的样本集合,信息量较少,容易导致文本处理子模型不够泛化。而全量更新信息是基于每个处理节点的第一更新信息确定的,因此基于全量更新信息来更新文本处理子模型,则文本处理子模型的训练过程相当于参考了多个处理节点所分配的样本数据,提高了样本数据的信息量,有利于提高文本处理子模型的泛化性。
需要说明的是,本申请实施例中,通过多个处理节点,基于多个样本集合,联合训练多个文本处理子模型,由于每个处理节点对应的文本处理子模型都是基于全量更新信息所更新的,因此每个处理节点对应的训练后的文本处理子模型是相同的,后续可以使用任意处理节点对应的文本处理子模型,执行文本处理任务。
本申请实施例提供的方法,全量更新信息是基于每个处理节点的第一更新信息确定的,因此基于全量更新信息来更新文本处理子模型,则文本处理子模型的训练过程相当于参考了多个处理节点所分配的样本数据,提高了样本数据的信息量,有利于提高文本处理子模型的泛化性。
上述图10的实施例说明了通过多个处理节点并行训练文本处理模型的过程,其中,为了提高训练速度,在基于每个处理节点得到的第一更新信息,确定全量更新信息的过程中,可以采用以下五种方案中的至少一种:
第一种方案:第一更新信息包括梯度矩阵。计算机设备对于每个处理节点:通过处理节点,基于分配到的样本集合,确定处理节点对应的文本处理子模型的梯度信息,梯度信息包括多个维度中的至少一个维度和该至少一个维度上的梯度值;为多个维度中未对应有梯度值的维度填充梯度值;基于多个维度以及多个维度上的梯度值,构建梯度矩阵。
可选地,该多个维度为计算机设备预先设置的维度,处理节点在基于样本集合训练文本处理子模型的过程中,会得到不同维度上的梯度值,但是存在一些维度未得到梯度值的情况,因此处理节点所得到的梯度信息中,包括至少一个维度上的梯度值以及该至少一个维度,该梯度信息属于稀疏信息。
通过多个处理节点进行并行训练,由于全量更新信息需要基于多个处理节点所得到的第一更新信息来确定,因此在并行训练的过程中所需考虑的问题就是处理节点之间的通信性能,也即是在处理节点传输第一更新信息。如果直接将该梯度信息确定为第一更新信息,则需要分别传输该至少一个维度以及对应的梯度值,因此通信效率较低。为了便于在处理节点之间进行传输,计算机设备通过填充梯度值,将该稀疏的梯度信息转换为稠密的梯度矩阵,将该梯度矩阵确定为第一更新信息,因此仅需传输一次该梯度矩阵即可,降低了处理节点之间的通信次数,有利于提高通信效率。其中,填充的梯度值可以为0,或者还可以为其他数值,本申请实施例对此不做限定。
在一种可能实现方式中,该文本处理子模型为Transformer(转换器)类模型,文本处理子模型的输入为稀疏特征时,通过进行embedding lookup(一种特征转换方式)处理,从而得到稀疏的梯度信息,如果直接对稀疏的梯度信息进行传输,难以使用带宽利用率较高的ncclAllReduce(一种梯度信息的通信方式),而是使用ncclBroadcast(另一种梯度信息的通信方式),多个处理节点之间的通信次数为2*m*(m-1),m为多个处理节点的个数。而采用本申请实施例提供的方法,将稀疏的梯度信息转换为稠密的梯度矩阵,则可以使用ncclAllReduce对梯度矩阵进行传输,通信次数为m*(m-1)。
图11是本申请实施例提供的一种梯度规约方法的示意图,如图11所示,该方法包括以下步骤:(1)调用文本处理子模型进行特征转换,得到稀疏梯度;(2)将稀疏梯度转换为稠密梯度;(3)将稠密梯度确定为第一更新信息;(4)基于每个处理节点得到的第一更新信息,确定全局更新信息,完成多个处理节点的梯度规约。
在一种可能实现方式中,第一更新信息包括梯度值,基于多个第一更新信息中的梯度值,确定全量梯度值,基于该全量梯度值,调整文本处理子模型的权重参数,调整后的权重参数即为全量更新信息,然后将文本处理子模型中的权重参数替换为调整后的权重参数,从而实现基于全量更新信息,更新文本处理子模型。
图12是本申请实施例提供的一种梯度转换方法的示意图,如图12所示,左侧的4行方框分别表示GPU0、GPU1、GPU2和GPU3所得到的第一更新信息,其中方框中的“0”为填充的梯度值,每个GPU将各自得到的第一更新信息均发送给其他GPU,则每个GPU均得到了4个GPU的第一更新信息,每个GPU都基于第一更新信息中各个维度的梯度值,确定各个维度上的全量梯度值,从而每个GPU都得到了相同的全量梯度值,该全量梯度值如图12中右侧的4行方框所示。
本申请实施例提供的方法,通过填充梯度值,将至少一个维度和该至少一个维度上的梯度值转换为梯度矩阵,将该梯度矩阵确定为第一更新信息,因此处理节点之间直接传输该梯度矩阵即可,无需分别传输维度和梯度值,降低了处理节点之间的通信次数,有利于提高处理节点之间的通信效率。
第二种方案:文本处理子模型包括多个网络层,在每个处理节点得到各自对应的文本处理子模型的第一更新信息的情况下,基于每个处理节点得到的第一更新信息,确定全量更新信息,包括下述步骤601-步骤604。
601、计算机设备通过每个处理节点,依次获取各自对应的文本处理子模型中第一网络层的第一更新信息。
602、计算机设备在每个处理节点已获取且未处理的第一更新信息的数据量均达到目标阈值的情况下,基于每个处理节点已获取且未处理的第一更新信息,确定第一网络层的全量更新信息。
603、计算机设备通过每个处理节点,继续依次获取各自对应的文本处理子模型中第二网络层的第一更新信息。
604、计算机设备在每个处理节点已获取且未处理的第一更新信息的数据量均达到目标阈值的情况下,或者在每个处理节点已获取到各自对应的文本处理子模型中每个网络层的第一更新信息的情况下,基于每个处理节点已获取且未处理的第一更新信息,确定第二网络层的全量更新信息。
本申请实施例中,文本处理子模型包括多个网络层,在训练过程中,处理节点依次获取该多个网络层的第一更新信息,例如文本处理子模型包括按顺序连接的网络层1、网络层2、网络层3、网络层4和网络层5,获取第一更新信息的过程是反向计算的过程,所以在一次迭代训练过程中,处理节点会依次获取网络层5、网络层4、网络层3、网络层2和网络层1的第一更新信息,当获取到某个网络层的第一更新信息,如果当前已获取且未处理的第一更新信息的数据量未达到目标阈值,则继续获取下一个网络层的第一更新信息,如果当前已获取且未处理的第一更新信息的数据量达到目标阈值,则向其他处理节点发送已获取且未处理的第一更新信息。因此在每个处理节点已获取且未处理的第一更新信息的数据量均达到目标阈值的情况下,每个处理节点均能够得到该多个处理节点已获取且未处理的第一更新信息,则通过每个处理节点,基于每个处理节点已获取且未处理的第一更新信息,确定第一网络层的全量更新信息,其中,该第一网络层是指该已获取且未处理的第一更新信息所对应的至少一个网络层。例如,该已获取且未处理的第一更新信息为网络层5和网络层4的第一更新信息,则该第一网络层是指该网络层5和网络层4。
然后,计算机设备通过每个处理节点,继续依次获取各自对应的文本处理子模型的下一个网络层的第一更新信息,与上述步骤同理,在每个处理节点已获取且未处理的第一更新信息的数据量均达到目标阈值的情况下,每个处理节点都将各自已获取且未处理的第一更新信息发送给其他处理节点,以使每个处理节点基于每个处理节点已获取且未处理的第一更新信息,确定第二网络层的全量更新信息。或者在每个处理节点已获取到各自对应的文本处理子模型中每个网络层的第一更新信息的情况下,每个处理节点都将各自已获取且未处理的第一更新信息发送给其他处理节点,以使每个处理节点基于每个处理节点已获取且未处理的第一更新信息,确定第二网络层的全量更新信息。其中,该第二网络层是指该已获取且未处理的第一更新信息所对应的至少一个网络层。
本申请实施例中,考虑到在处理节点之间传输第一更新信息的过程中,处理节点之间的带宽利用率与所传输的第一更新信息的数据量有关,如果传输的数据量较小,可能会导致带宽利用率较低,因此为了提高带宽利用率,每个处理节点获取到第一更新信息时,不会立即向其他处理节点发送该第一更新信息,而是等到已获取且未发送的第一更新信息的数据量攒到目标阈值时,再向其他处理节点发送数据量为该目标阈值的至少一个第一更新信息。
在一种可能实现方式中,计算机设备分别确定多个带宽利用率,该多个带宽利用率是在任两个处理节点之间分别传输不同数据量的信息所产生的。计算机设备将最高的带宽利用率对应的数据量,确定为目标阈值。后续处理节点之间传输的数据量均为该目标阈值,因此处理节点之间进行传输的带宽利用率均为该最高的带宽利用率,从而提高了带宽利用率,提高了传输效率。
图13是本申请实施例提供的一种更新信息处理方法的示意图,如图13所示,计算机设备确定通信参数、流量模型和数据量大小,启动脚本,根据该通信参数、流量模型和数据量大小,分别确定在处理节点之间传输不同数据量的信息所产生的带宽利用率,并输出实时得到的带宽利用率。计算机设备基于带宽利用率的传输机制,确定最高的带宽利用率对应的数据量,将该数据量确定为目标阈值,后续在训练过程中,每个处理节点所得到的第一更新信息的数据量攒到该目标阈值时,才进行传输。
其中,如图13所示,以文本处理子模型包括7个网络层为例,每个处理节点依次获取网络层的第一更新信息,当获取到的网络7、网络层6和网络层5的第一更新信息的数据量达到目标阈值时,每个处理节点将网络7、网络层6和网络层5的第一更新信息发送给其他处理节点,每个处理节点基于每个处理节点所得到的网络7、网络层6和网络层5的第一更新信息,确定网络7、网络层6和网络层5的全量更新信息。每个处理节点继续获取下一个网络层的第一更新信息,当获取到的网络层4和网络层3的第一更新信息的数据量达到目标阈值时,每个处理节点将网络层4和网络层3的第一更新信息发送给其他处理节点,每个处理节点基于每个处理节点所得到的网络层4和网络层3的第一更新信息,确定网络层4和网络层3的全量更新信息。每个处理节点继续获取下一个网络层的第一更新信息,当获取到的网络层2和网络层1的第一更新信息时,相当于已经获取到文本处理子模型中的每个网络层的第一更新信息,则每个处理节点将网络层2和网络层1的第一更新信息发送给其他处理节点,每个处理节点基于每个处理节点所得到的网络层2和网络层1的第一更新信息,确定网络层2和网络层1的全量更新信息。
第三种方案:在处理节点得到的第一更新信息的数据量不属于目标数值的倍数的情况下,通过处理节点对第一更新信息进行填充,以使第一更新信息的数据量属于目标数值的倍数。
本申请实施例中,考虑到在存储或者读取信息的过程中,在信息的数据量属于目标数值的倍数的情况下,对该信息进行存储或者读取的速度会比较快,所以在第一更新信息的数据量不属于目标数值的情况下,则将该第一更新信息填充至属于目标数值的倍数,以便规避内存不对齐的情况,从而加快处理速度。
第四种方案:第一更新信息包括文本处理子模型中的多个算子的梯度值。基于每个处理节点得到的第一更新信息,确定全量更新信息,包括下述步骤701-步骤704。
701、计算机设备基于得到的每个第一更新信息中多个算子的梯度值,确定多个算子的全量梯度值,将多个算子的全量梯度值构成梯度值集合。
每个处理节点所得到的第一更新信息中,均包括多个算子的梯度值,因此每个算子对应有多个梯度值。对于每个算子,计算机设备基于该算子的多个梯度值,确定该算子的全量梯度值,例如对该算子的多个梯度值进行加权融合,得到该算子的全量梯度值。然后计算机设备将多个算子的全量梯度值构成梯度值集合。
在一种可能实现方式中,该梯度值集合为列表形式的集合。
702、计算机设备将处理节点在上一次训练过程中得到的多个算子的算子参数构成算子参数集合。
在一种可能实现方式中,算子参数包括第一动量参数、第二动量参数和权重参数。计算机设备将多个算子的第一动量参数构成第一动量参数集合,将多个算子的第二动量参数构成第二动量参数集合,将多个算子的权重参数构成权重参数集合。计算机设备将该第一动量参数集合、第二动量参数集合和权重参数集合确定为算子参数集合。
在一种可能实现方式中,该梯度值集合为列表形式的集合。
703、计算机设备基于梯度值集合,对算子参数集合进行调整,得到调整后的算子参数集合。
在一种可能实现方式中,算子参数集合包括第一动量参数集合、第二动量参数集合和权重参数集合。计算机设备基于梯度值集合,分别对第一动量参数集合和第二动量参数集合进行调整,得到调整后的第一动量参数集合和调整后的第二动量参数集合,基于调整后的第一动量参数集合和调整后的第二动量参数集合,对权重参数集合进行调整,得到调整后的权重参数集合。
可选地,计算机设备采用以下公式,对第一动量参数集合、第二动量参数集合和权重参数集合进行调整。
(1)mt=β1·mt-1+(1-β1)·gt
(2)
Figure BDA0003506398310000241
(3)
Figure BDA0003506398310000242
其中,mt为第t次迭代过程中的第一动量参数集合,mt-1为第t-1次迭代过程中的第一动量参数集合,gt为第t次迭代过程中的梯度值集合,通过第t次迭代过程中的梯度值集合,对第t-1次迭代过程中的第一动量参数集合进行调整,得到第t次迭代过程中的第一动量参数集合。
其中,vt为第t次迭代过程中的第二动量参数集合,vt-1为第t-1次迭代过程中的第二动量参数集合,通过第t次迭代过程中的梯度值集合,对第t-1次迭代过程中的第二动量参数集合进行调整,得到第t次迭代过程中的第一动量参数集合。
其中,θt+1为第t+1次迭代过程中的权重参数集合,θt为第t次迭代过程中的权重参数集合,通过第t次迭代过程中的第一动量参数集合和第t次迭代过程中的第二动量参数集合,对第t次迭代过程中的权重参数集合进行调整,得到第t+1次迭代过程中的权重参数集合。
其中,β1、β2、σ、ε均为系数,t为大于1的整数。
704、计算机设备将调整后的算子参数集合,确定为全量更新信息。
后续计算机设备将处理节点对应的文本处理子模型中多个算子的权重参数,替换为调整后的权重参数集合中的权重参数,从而实现基于全量更新信息,更新各自对应的文本处理子模型。
在训练过程中,每更新一次权重参数,均需要启动CUDA(Compute Unified DeviceArchitecture,统一计算设备架构)核心,导致启动开销比较多。本申请实施例中,将以单个算子为单位进行更新,修改为以多个算子为单位进行更新,将多个算子的全量梯度值构成梯度值集合,将多个算子的算子参数构成算子参数集合,从而以集合为单位,直接利用梯度值集合调整算子参数集合,从而降低了启动开销,节省了处理资源。
第五种方案:第一更新信息包括多个维度上的梯度值,在每个处理节点得到各自对应的文本处理子模型的第一更新信息的情况下,基于每个处理节点得到的第一更新信息,确定全量更新信息,包括下述步骤801-步骤803。
801、计算机设备在每个处理节点得到第一更新信息的情况下,通过每个处理节点,基于得到的每个第一更新信息中处理节点的目标维度上的梯度值,确定目标维度上的全量梯度值。
其中,处理节点的目标维度是指处理节点分配到的维度,每个处理节点分配有多个维度中的不同维度。本申请实施例中,计算机设备预先将该多个维度分配给多个处理节点,每个处理节点分配有该多个维度中的不同维度,每个处理节点负责计算各自分配到的维度上的全量更新信息,本申请实施例中,该全量更新信息为文本处理子模型中的权重参数。
每个处理节点都对应有各自的文本处理子模型,并通过前向计算和反向计算,获取到各自的文本处理子模型的第一更新信息,并且每个处理节点获取到第一更新信息,都会将该第一更新信息发送给其他处理节点,所以每个处理节点都保存有该多个处理节点所得到的第一更新信息。
以一个处理节点为例,当该处理节点获取到每个处理节点所得到的第一更新信息,确定每个第一更新信息中该处理节点所分配到的目标维度上的梯度值,得到该目标维度上的多个梯度值,然后基于该目标维度上的多个梯度值,确定该目标维度上的全量梯度值,例如将该目标维度上的多个梯度值进行加权融合,得到该目标维度上的全量梯度值。
因此,每个处理节点都能够得到该处理节点所分配到的目标维度上的全量梯度值,相当于计算机设备获取到了多个维度中的每个维度上的全量梯度值。
802、计算机设备通过每个处理节点,基于目标维度上的全量梯度值,对目标维度对应的权重参数进行更新。
以一个处理节点为例,在该处理节点获取到该处理节点所分配到的目标维数上的全量梯度值后,该处理节点基于该目标维度上的全量梯度值,对该目标维度对应的权重参数进行更新,得到该目标维度对应的更新后的权重参数。例如该目标维度对应文本处理子模型中的目标算子,则处理节点基于该目标维度上的全量梯度值,对该目标算子的权重参数进行更新,得到该目标算子更新后的权重参数。
因此,每个处理节点都能够得到该处理节点所分配到的目标维度对应的更新后的权重参数,相当于计算机设备获取到了多个维度中的每个维度对应的更新后的权重参数,也即是计算机设备获取到了文本处理子模型中的每个算子更新后的权重参数。
在一种可能实现方式中,计算机设备通过处理节点采用以下公式,基于全量梯度值,对权重参数进行更新。
(1)mt=β1·mt-1+(1-β1)·gt
Figure BDA0003506398310000261
(2)
Figure BDA0003506398310000262
(3)
Figure BDA0003506398310000263
其中,mt为第t次迭代过程中的第一动量参数,mt-1为第t-1次迭代过程中的第一动量参数,gt为第t次迭代过程中的全量梯度值,
Figure BDA0003506398310000264
为对mt进行加权处理所得到的第一动量参数。vt为第t次迭代过程中的第二动量参数,vt-1为第t-1次迭代过程中的第二动量参数,
Figure BDA0003506398310000265
为对vt进行加权处理所得到的第二动量参数。θt+1为第t+1次迭代过程中的权重参数,θt为第t次迭代过程中的权重参数。其中,β1、β2、σ、ε均为系数,t为大于1的整数。
803、计算机设备将多个维度对应的更新后的权重参数,确定为全量更新信息。
每个处理节点在得到该处理节点所分配到的目标维度对应的更新后的权重参数后,将该更新后的权重参数发送给其他处理节点,因此每个处理节点都能够得到每个处理节点所分配的目标维度对应的更新后的权重参数,也即是每个处理节点都能够得到文本处理子模型中的每个算子更新后的权重参数。以一个处理节点为例,该处理节点将对应的文本处理子模型中多个算子的权重参数,替换为更新后的权重参数,从而实现对文本处理子模型的更新。
图14是本申请实施例提供的一种分配更新信息的示意图,如图14所示,文本处理子模型对应有多个维度上的tensor(梯度值),计算机设备将该多个维度上的tensor分配给计算机设备中的多个GPU,每个GPU分配到一部分维度上的tensor,则每个GPU只存储分配到的维度上的全量tensor。例如,如图14所示,GPU0分配到tensor1,GPU1分配到tensor2和tensor3,GPU2分配到tensor4、tensor5和tensor6,GPU7分配到tensor18、tensor19和tensor20。
图15是本申请实施例提供的一种信息处理方法的示意图,如图15所示,GPU0、GPU1、GPU2、GPU3分别得到多个算子对应的梯度值x、梯度值y、梯度值z和梯度值w。每个GPU将各自得到的梯度值都发送给其他GPU,因此每个GPU都得到该多个算子对应的梯度值x、梯度值y、梯度值z和梯度值w。GPU0基于该多个算子对应的梯度值x、梯度值y、梯度值z和梯度值w中,第一维度上的梯度值,确定第一算子的权重参数a,GPU0基于该多个算子对应的梯度值x、梯度值y、梯度值z和梯度值w中,第一维度上的梯度值,确定第一算子的权重参数a,GPU1基于该多个算子对应的梯度值x、梯度值y、梯度值z和梯度值w中,第二维度上的梯度值,确定第二算子的权重参数b,GPU2基于该多个算子对应的梯度值x、梯度值y、梯度值z和梯度值w中,第三维度上的梯度值,确定第三算子的权重参数c,GPU3基于该多个算子对应的梯度值x、梯度值y、梯度值z和梯度值w中,第四维度上的梯度值,确定第四算子的权重参数d。
图16是本申请实施例提供的另一种信息处理方法的示意图,如图16所示,在GPU0、GPU1、GPU2、GPU3分别得到权重参数a、权重参数b、权重参数c和权重参数d后,每个GPU将各自得到的权重参数都发送给其他GPU,因此每个GPU都得到权重参数a、权重参数b、权重参数c和权重参数d。
在模型的训练过程中,模型的显存占用包括两个部分,一部分为Model States(模型状态),包括优化器的状态、梯度以及参数等。另一部分被其他存储器占用,例如:(1)activation memory(激活存储器),用于保存中间结果;(2)临时buffer(缓冲器);(3)临时buffer的创建和释放导致的内存碎片。
相关技术中,主要通过模型并行的方式节省显存,模型并行方式是通过拆分模型的网络层到多个GPU中,来节省单个GPU的显存。例如,一个计算机设备中挂载8个GPU,同一计算机设备的GPU之间建立有通信连接。如果模型太大,需要将拆分模型到多个GPU上,但是跨GPU的模型并行性能比较差。
而本申请实施例中,通过对模型的模型状态量(包括梯度值、权重参数)进行划分,从“每个处理节点保存模型中每个算子的全量梯度值和权重参数”变成“每个处理节点只保存模型中一部分算子的全量梯度值和权重参数”,从而实现了显存节省。
图17是本申请实施例提供的一种文本处理模型的训练方法的流程图,如图17所示,文本处理模型的训练过程包括以下步骤:(1)读取样本数据;(2)基于样本数据进行前向计算,得到前向计算结果;(3)基于前向计算结果进行反向计算,得到文本处理模型的梯度值;(4)对多个处理节点所得到的梯度值进行规约,得到全量梯度值;(5)基于全量梯度值,对文本处理模型的权重参数进行更新,得到更新后的文本处理模型。
图18是本申请实施例提供的一种优化方法的示意图,如图18所示,本申请实施例中,在文本处理模型的训练过程中,分别采用了以下优化方式:
(1)计算优化。计算优化包括算子融合、稀疏计算和文本分批处理。其中,算子融合的过程参见上述实施例中的第四种方案,也即是将多个算子的梯度值融合为梯度值集合,将多个算子的算子参数融合为算子参数集合,以集合为单位进行权重更新,从而降低CUDA的启动开销。稀疏计算的过程参见上述图6的实施例,也即是在训练文本处理子模型的过程中,仅对被掩盖位置上的字符进行预测,从而降低计算量。文本分批处理的过程参见上述图2的实施例,也即是按照将样本文本填充至大于该样本文本的长度且与该样本文本的长度最接近的参考长度,降低了对样本文本的填充量。
(2)通信优化。通信优化包括通信融合和稀疏梯度转换为稠密梯度。其中,通信融合的过程参见上述实施例中的第二种方案,也即是在第一更新信息的数据量达到目标阈值时再进行传输,提高了处理节点之间的带宽利用率。稀疏梯度转换为稠密梯度的过程参见上述实施例中的第一种方案,也即是将维度和该维度上的梯度值转换为梯度矩阵,直接传输该梯度矩阵,无需分别传输维度和梯度值,从而降低处理节点之间的通信次数。
(3)显存优化。显存优化包括显存节省的方案,其中显存节省的过程参见上述实施例中的第五种方案,也即是每个处理节点只保存子模型中一部分算子的全量梯度值和权重参数,从而节省训练过程中的显存。
本申请实施例中,针对文本处理模型的训练过程,提供了一种新型的、具有普适性的训练加速优化方案,包括上述通信优化、计算优化和显存优化。通过多个处理节点并行训练文本处理模型,提供了一种高性能支持大模型训练的分布式训练加速方案,提升了训练性能,减少了GPU的资源占用,加速了文本处理模型的迭代训练流程。
图19是本申请实施例提供的一种文本处理装置的结构示意图。参见图18,该装置包括:
获取模块1901,用于获取多个样本文本和多个参考长度,多个参考长度不同;
集合确定模块1902,用于将对应于同一参考长度的样本文本构成样本集合,样本文本对应的参考长度是:不小于样本文本的长度、且在多个参考长度中与样本文本的长度最接近的参考长度;
第一填充模块1903,用于将每个样本集合中,小于样本集合对应的参考长度的样本文本填充至样本集合对应的参考长度;
训练模块1904,用于通过多个处理节点中的每个所述处理节点,基于分配到的样本集合,并行训练文本处理模型,文本处理模型用于对任一文本进行处理。
本申请实施例提供的文本处理装置,在多个参考长度中,确定不小于样本文本的长度且与样本文本的长度最接近的参考长度,将该样本文本分配至该参考长度对应的样本集合中,如果该样本文本的长度小于该参考长度,则将样本文本填充至该参考长度,由于该参考长度是最接近该样本文本的参考长度,所以对样本文本的填充量比较小,然后通过多个处理节点基于多个不同的样本集合,并行训练文本处理模型,从而在保证并行训练文本处理模型的同时,还降低了计算量,有利于提高文本处理模型的训练速度。
可选地,参见图20,所述文本处理模型包括每个所述处理节点对应的文本处理子模型,训练模块1904包括第一训练单元1914,第一训练单元1914,用于:
对于每个处理节点,将分配到的样本集合中的多个样本文本拼接成文本矩阵,文本矩阵的行数等于多个样本文本的数量,文本矩阵的列数等于样本集合对应的参考长度,或者行数等于样本集合对应的参考长度,列数等于多个样本文本的数量;
基于文本矩阵,训练处理节点对应的文本处理子模型。
可选地,参见图20,第一训练单元1914,还用于:
对文本矩阵中的多个样本文本的排列顺序进行调整,得到调整后的文本矩阵;
基于调整后的文本矩阵,继续训练处理节点对应的文本处理子模型。
可选地,参见图20,所述文本处理模型包括每个所述处理节点对应的文本处理子模型,训练模块1904包括第二训练单元1924,第二训练单元1924,用于:
对于每个处理节点,将分配到的样本集合中的多个样本文本中至少一个位置上的原始字符替换为目标字符;
调用处理节点对应的文本处理子模型,基于替换后的多个样本文本进行预测,得到至少一个位置上的预测字符;
基于至少一个位置上的原始字符和预测字符,训练处理节点对应的文本处理子模型。
可选地,参见图20,第二训练单元1924,用于:
调用处理节点对应的文本处理子模型,对替换后的多个样本文本进行特征提取,得到替换后的多个样本文本中每个位置上的字符对应的字符特征;
在得到的多个字符特征中,获取至少一个位置上的目标字符对应的字符特征;
基于至少一个位置上的目标字符对应的字符特征进行预测,得到至少一个位置上的预测字符。
可选地,参见图20,所述文本处理模型包括每个所述处理节点对应的文本处理子模型,训练模块1904包括第三训练单元1934,第三训练单元1934,用于:
将多个样本集合分配给多个处理节点;
通过每个处理节点,基于分配到的样本集合,训练各自对应的文本处理子模型;
在每个处理节点得到各自对应的文本处理子模型的第一更新信息的情况下,基于每个处理节点得到的第一更新信息,确定全量更新信息;
通过每个处理节点,基于全量更新信息,更新各自对应的文本处理子模型。
可选地,参见图20,第一更新信息包括梯度矩阵,第三训练单元1934,还用于:
对于每个处理节点:
通过处理节点,基于分配到的样本集合,确定处理节点对应的文本处理子模型的梯度信息,梯度信息包括多个维度中的至少一个维度和至少一个维度上的梯度值;
为多个维度中未对应有梯度值的维度填充梯度值;
基于多个维度以及多个维度上的梯度值,构建梯度矩阵。
可选地,参见图20,文本处理子模型包括多个网络层,第三训练单元1934,用于:
通过每个处理节点,依次获取各自对应的文本处理子模型中第一网络层的第一更新信息;
在每个处理节点已获取且未处理的第一更新信息的数据量均达到目标阈值的情况下,基于每个处理节点已获取且未处理的第一更新信息,确定第一网络层的全量更新信息;
通过每个处理节点,继续依次获取各自对应的文本处理子模型中第二网络层的第一更新信息;
在每个处理节点已获取且未处理的第一更新信息的数据量均达到目标阈值的情况下,或者在每个处理节点已获取到各自对应的文本处理子模型中每个网络层的第一更新信息的情况下,基于每个处理节点已获取且未处理的第一更新信息,确定第二网络层的全量更新信息。
可选地,参见图20,装置还包括阈值确定模块1905,阈值确定模块1905,用于:
分别确定多个带宽利用率,多个带宽利用率是在任两个处理节点之间分别传输不同数据量的信息所产生的;
将最高的带宽利用率对应的数据量,确定为目标阈值。
可选地,参见图20,装置还包括:
第二填充模块1906,用于在处理节点得到的第一更新信息的数据量不属于目标数值的倍数的情况下,通过处理节点对第一更新信息进行填充,以使第一更新信息的数据量属于目标数值的倍数。
可选地,参见图20,第一更新信息包括文本处理子模型中的多个算子的梯度值;第三训练单元1934,用于:
基于得到的每个第一更新信息中多个算子的梯度值,确定多个算子的全量梯度值,将多个算子的全量梯度值构成梯度值集合;
将处理节点在上一次训练过程中得到的多个算子的算子参数构成算子参数集合;
基于梯度值集合,对算子参数集合进行调整,得到调整后的算子参数集合;
将调整后的算子参数集合,确定为全量更新信息。
可选地,参见图20,算子参数包括第一动量参数、第二动量参数和权重参数,算子参数集合包括第一动量参数集合、第二动量参数集合和权重参数集合;第三训练单元1934,用于:
基于梯度值集合,分别对第一动量参数集合和第二动量参数集合进行调整,得到调整后的第一动量参数集合和调整后的第二动量参数集合;
基于调整后的第一动量参数集合和调整后的第二动量参数集合,对权重参数集合进行调整,得到调整后的权重参数集合;
第三训练单元1934,还用于:
将处理节点对应的文本处理子模型中多个算子的权重参数,替换为调整后的权重参数集合中的权重参数。
可选地,参见图20,第一更新信息包括多个维度上的梯度值,第三训练单元1934,用于:
在每个处理节点得到第一更新信息的情况下,通过每个处理节点,基于得到的每个第一更新信息中处理节点的目标维度上的梯度值,确定目标维度上的全量梯度值,处理节点的目标维度是指处理节点分配到的维度,每个处理节点分配有多个维度中的不同维度;
通过每个处理节点,基于目标维度上的全量梯度值,对目标维度对应的权重参数进行更新;
将多个维度对应的更新后的权重参数,确定为全量更新信息。
需要说明的是:上述实施例提供的文本处理装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将计算机设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的文本处理装置与文本处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本申请实施例还提供了一种计算机设备,该计算机设备包括处理器和存储器,存储器中存储有至少一条计算机程序,该至少一条计算机程序由处理器加载并执行,以实现上述实施例的文本处理方法中所执行的操作。
可选地,该计算机设备提供为终端。图21示出了本申请一个示例性实施例提供的终端2100的结构示意图。
终端2100包括有:处理器2101和存储器2102。
处理器2101可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器2101可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器2101也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器2101可以集成有GPU(Graphics Processing Unit,图像处理的交互器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器2101还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器2102可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器2102还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器2102中的非暂态的计算机可读存储介质用于存储至少一条计算机程序,该至少一条计算机程序用于被处理器2101所具有以实现本申请中方法实施例提供的文本处理方法。
在一些实施例中,终端2100还可选包括有:***设备接口2103和至少一个***设备。处理器2101、存储器2102和***设备接口2103之间可以通过总线或信号线相连。各个***设备可以通过总线、信号线或电路板与***设备接口2103相连。可选地,***设备包括:射频电路2104、显示屏2105、摄像头组件2106、音频电路2107和电源2108中的至少一种。
***设备接口2103可被用于将I/O(Input/Output,输入/输出)相关的至少一个***设备连接到处理器2101和存储器2102。在一些实施例中,处理器2101、存储器2102和***设备接口2103被集成在同一芯片或电路板上;在一些其他实施例中,处理器2101、存储器2102和***设备接口2103中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路2104用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路2104通过电磁信号与通信网络以及其他通信设备进行通信。射频电路2104将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路2104包括:天线***、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路2104可以通过至少一种无线通信协议来与其它设备进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路2104还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏2105用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏2105是触摸显示屏时,显示屏2105还具有采集在显示屏2105的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器2101进行处理。此时,显示屏2105还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏2105可以为一个,设置在终端2100的前面板;在另一些实施例中,显示屏2105可以为至少两个,分别设置在终端2100的不同表面或呈折叠设计;在另一些实施例中,显示屏2105可以是柔性显示屏,设置在终端2100的弯曲表面上或折叠面上。甚至,显示屏2105还可以设置成非矩形的不规则图形,也即异形屏。显示屏2105可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-EmittingDiode,有机发光二极管)等材质制备。
摄像头组件2106用于采集图像或视频。可选地,摄像头组件2106包括前置摄像头和后置摄像头。前置摄像头设置在终端2100的前面板,后置摄像头设置在终端2100的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件2106还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路2107可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器2101进行处理,或者输入至射频电路2104以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端2100的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器2101或射频电路2104的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路2107还可以包括耳机插孔。
电源2108用于为终端2100中的各个组件进行供电。电源2108可以是交流电、直流电、一次性电池或可充电电池。当电源2108包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
本领域技术人员可以理解,图21中示出的结构并不构成对终端2100的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
可选地,该计算机设备提供为服务器。图22是本申请实施例提供的一种服务器的结构示意图,该服务器2200可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(Central Processing Units,CPU)2201和一个或一个以上的存储器2202,其中,所述存储器2202中存储有至少一条计算机程序,所述至少一条计算机程序由所述处理器2201加载并执行以实现上述各个方法实施例提供的方法。当然,该服务器还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一条计算机程序,该至少一条计算机程序由处理器加载并执行,以实现上述实施例的文本处理方法中所执行的操作。
本申请实施例还提供了一种计算机程序产品,包括计算机程序,所述计算机程序由处理器加载并执行,以实现如上述实施例的文本处理方法中所执行的操作。在一些实施例中,本申请实施例所涉及的计算机程序可被部署在一个计算机设备上执行,或者在位于一个地点的多个计算机设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算机设备上执行,分布在多个地点且通过通信网络互连的多个计算机设备可以组成区块链***。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请实施例的可选实施例,并不用以限制本申请实施例,凡在本申请实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (15)

1.一种文本处理方法,其特征在于,所述方法包括:
获取多个样本文本和多个参考长度,所述多个参考长度不同;
将对应于同一参考长度的样本文本构成样本集合,所述样本文本对应的参考长度是:不小于所述样本文本的长度、且在所述多个参考长度中与所述样本文本的长度最接近的参考长度;
将每个样本集合中,小于所述样本集合对应的参考长度的样本文本填充至所述样本集合对应的参考长度;
通过多个处理节点中的每个所述处理节点,基于分配到的样本集合,并行训练文本处理模型,所述文本处理模型用于对任一文本进行处理。
2.根据权利要求1所述的方法,其特征在于,所述文本处理模型包括每个所述处理节点对应的文本处理子模型,所述通过多个处理节点中的每个所述处理节点,基于分配到的样本集合,并行训练文本处理模型,包括:
对于每个所述处理节点,将分配到的样本集合中的多个样本文本拼接成文本矩阵,所述文本矩阵的行数等于所述多个样本文本的数量,所述文本矩阵的列数等于所述样本集合对应的参考长度,或者所述行数等于所述样本集合对应的参考长度,所述列数等于所述多个样本文本的数量;
基于所述文本矩阵,训练所述处理节点对应的文本处理子模型。
3.根据权利要求2所述的方法,其特征在于,所述基于所述文本矩阵,训练所述处理节点对应的文本处理子模型之后,所述方法还包括:
对所述文本矩阵中的多个样本文本的排列顺序进行调整,得到调整后的文本矩阵;
基于所述调整后的文本矩阵,继续训练所述处理节点对应的文本处理子模型。
4.根据权利要求1所述的方法,其特征在于,所述文本处理模型包括每个所述处理节点对应的文本处理子模型,所述通过多个处理节点中的每个所述处理节点,基于分配到的样本集合,并行训练文本处理模型,包括:
对于每个所述处理节点,将分配到的样本集合中的多个样本文本中至少一个位置上的原始字符替换为目标字符;
调用所述处理节点对应的文本处理子模型,基于替换后的多个样本文本进行预测,得到所述至少一个位置上的预测字符;
基于所述至少一个位置上的原始字符和预测字符,训练所述处理节点对应的文本处理子模型。
5.根据权利要求4所述的方法,其特征在于,所述调用所述处理节点对应的文本处理子模型,基于替换后的多个样本文本进行预测,得到所述至少一个位置上的预测字符,包括:
调用所述处理节点对应的文本处理子模型,对替换后的多个样本文本进行特征提取,得到替换后的多个样本文本中每个位置上的字符对应的字符特征;
在得到的多个字符特征中,获取所述至少一个位置上的目标字符对应的字符特征;
基于所述至少一个位置上的目标字符对应的字符特征进行预测,得到所述至少一个位置上的预测字符。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述文本处理模型包括每个所述处理节点对应的文本处理子模型,所述通过多个处理节点中的每个所述处理节点,基于分配到的样本集合,并行训练文本处理模型,包括:
通过每个所述处理节点,基于分配到的样本集合,训练各自对应的文本处理子模型;
在每个所述处理节点得到各自对应的文本处理子模型的第一更新信息的情况下,基于每个所述处理节点得到的第一更新信息,确定全量更新信息;
通过每个所述处理节点,基于所述全量更新信息,更新各自对应的文本处理子模型。
7.根据权利要求6所述的方法,其特征在于,所述第一更新信息包括梯度矩阵,所述方法还包括:
对于每个所述处理节点:
通过所述处理节点,基于分配到的样本集合,确定所述处理节点对应的文本处理子模型的梯度信息,所述梯度信息包括多个维度中的至少一个维度和所述至少一个维度上的梯度值;
为所述多个维度中未对应有梯度值的维度填充梯度值;
基于所述多个维度以及所述多个维度上的梯度值,构建所述梯度矩阵。
8.根据权利要求6所述的方法,其特征在于,所述文本处理子模型包括多个网络层,所述在每个所述处理节点得到各自对应的文本处理子模型的第一更新信息的情况下,基于每个所述处理节点得到的第一更新信息,确定全量更新信息,包括:
通过每个所述处理节点,依次获取各自对应的文本处理子模型中第一网络层的第一更新信息;
在每个所述处理节点已获取且未处理的第一更新信息的数据量均达到目标阈值的情况下,基于每个所述处理节点已获取且未处理的第一更新信息,确定所述第一网络层的全量更新信息;
通过每个所述处理节点,继续依次获取各自对应的文本处理子模型中第二网络层的第一更新信息;
在每个所述处理节点已获取且未处理的第一更新信息的数据量均达到所述目标阈值的情况下,或者在每个所述处理节点已获取到各自对应的文本处理子模型中每个网络层的第一更新信息的情况下,基于每个所述处理节点已获取且未处理的第一更新信息,确定所述第二网络层的全量更新信息。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
分别确定多个带宽利用率,所述多个带宽利用率是在任两个处理节点之间分别传输不同数据量的信息所产生的;
将最高的带宽利用率对应的数据量,确定为所述目标阈值。
10.根据权利要求6所述的方法,其特征在于,所述方法还包括:
在所述处理节点得到的第一更新信息的数据量不属于目标数值的倍数的情况下,通过所述处理节点对所述第一更新信息进行填充,以使所述第一更新信息的数据量属于所述目标数值的倍数。
11.根据权利要求6所述的方法,其特征在于,所述第一更新信息包括所述文本处理子模型中的多个算子的梯度值;所述基于每个所述处理节点得到的第一更新信息,确定全量更新信息,包括:
基于得到的每个第一更新信息中所述多个算子的梯度值,确定所述多个算子的全量梯度值,将所述多个算子的全量梯度值构成梯度值集合;
将所述处理节点在上一次训练过程中得到的所述多个算子的算子参数构成算子参数集合;
基于所述梯度值集合,对所述算子参数集合进行调整,得到调整后的算子参数集合;
将所述调整后的算子参数集合,确定为所述全量更新信息。
12.一种文本处理装置,其特征在于,所述装置包括:
获取模块,用于获取多个样本文本和多个参考长度,所述多个参考长度不同;
集合确定模块,用于将对应于同一参考长度的样本文本构成样本集合,所述样本文本对应的参考长度是:不小于所述样本文本的长度、且在所述多个参考长度中与所述样本文本的长度最接近的参考长度;
第一填充模块,用于将每个样本集合中,小于所述样本集合对应的参考长度的样本文本填充至所述样本集合对应的参考长度;
训练模块,用于通过多个处理节点中的每个所述处理节点,基于分配到的样本集合,并行训练文本处理模型,所述文本处理模型用于对任一文本进行处理。
13.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条计算机程序,所述至少一条计算机程序由所述处理器加载并执行,以实现如权利要求1至11任一项所述的文本处理方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条计算机程序,所述至少一条计算机程序由处理器加载并执行,以实现如权利要求1至11任一项所述的文本处理方法。
15.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序由处理器加载并执行,以实现如权利要求1至11任一项所述的文本处理方法。
CN202210139990.1A 2022-02-16 2022-02-16 文本处理方法、装置、计算机设备及存储介质 Active CN114510911B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210139990.1A CN114510911B (zh) 2022-02-16 2022-02-16 文本处理方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210139990.1A CN114510911B (zh) 2022-02-16 2022-02-16 文本处理方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN114510911A true CN114510911A (zh) 2022-05-17
CN114510911B CN114510911B (zh) 2024-07-12

Family

ID=81551571

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210139990.1A Active CN114510911B (zh) 2022-02-16 2022-02-16 文本处理方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN114510911B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116661856A (zh) * 2023-08-01 2023-08-29 上海合见工业软件集团有限公司 Eda软件的数据拼接***

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160062985A1 (en) * 2014-08-26 2016-03-03 Google Inc. Clustering Classes in Language Modeling
CN107766324A (zh) * 2017-09-25 2018-03-06 浙江大学 一种基于深度神经网络的文本一致性分析方法
CN108305612A (zh) * 2017-11-21 2018-07-20 腾讯科技(深圳)有限公司 文本处理、模型训练方法、装置、存储介质和计算机设备
CN109492233A (zh) * 2018-11-14 2019-03-19 北京捷通华声科技股份有限公司 一种机器翻译方法和装置
CN110728317A (zh) * 2019-09-30 2020-01-24 腾讯科技(深圳)有限公司 决策树模型的训练方法、***、存储介质及预测方法
CN110909164A (zh) * 2019-11-22 2020-03-24 科大国创软件股份有限公司 一种基于卷积神经网络的文本增强语义分类方法及***
CN111143551A (zh) * 2019-12-04 2020-05-12 支付宝(杭州)信息技术有限公司 文本预处理方法、分类方法、装置及设备
CN111444721A (zh) * 2020-05-27 2020-07-24 南京大学 一种基于预训练语言模型的中文文本关键信息抽取方法
US20210073340A1 (en) * 2019-09-09 2021-03-11 Adobe Inc. Design suggestion techniques for documents to-be-translated
CN112883724A (zh) * 2021-02-03 2021-06-01 虎博网络技术(上海)有限公司 文本数据增强处理方法、装置、电子设备和可读存储介质
CN113011602A (zh) * 2021-03-03 2021-06-22 中国科学技术大学苏州高等研究院 一种联邦模型训练方法、装置、电子设备和存储介质
CN113254215A (zh) * 2021-06-16 2021-08-13 腾讯科技(深圳)有限公司 数据处理方法和装置、存储介质及电子设备
CN113315604A (zh) * 2021-05-25 2021-08-27 电子科技大学 一种联邦学习自适应梯度量化方法
CN113468322A (zh) * 2021-05-31 2021-10-01 北京达佳互联信息技术有限公司 关键词识别模型的训练、提取方法、装置、设备及介质
CN113823322A (zh) * 2021-10-26 2021-12-21 武汉芯昌科技有限公司 一种基于精简改进的Transformer模型的语音识别方法

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160062985A1 (en) * 2014-08-26 2016-03-03 Google Inc. Clustering Classes in Language Modeling
CN107766324A (zh) * 2017-09-25 2018-03-06 浙江大学 一种基于深度神经网络的文本一致性分析方法
CN108305612A (zh) * 2017-11-21 2018-07-20 腾讯科技(深圳)有限公司 文本处理、模型训练方法、装置、存储介质和计算机设备
CN109492233A (zh) * 2018-11-14 2019-03-19 北京捷通华声科技股份有限公司 一种机器翻译方法和装置
US20210073340A1 (en) * 2019-09-09 2021-03-11 Adobe Inc. Design suggestion techniques for documents to-be-translated
CN110728317A (zh) * 2019-09-30 2020-01-24 腾讯科技(深圳)有限公司 决策树模型的训练方法、***、存储介质及预测方法
CN110909164A (zh) * 2019-11-22 2020-03-24 科大国创软件股份有限公司 一种基于卷积神经网络的文本增强语义分类方法及***
CN111143551A (zh) * 2019-12-04 2020-05-12 支付宝(杭州)信息技术有限公司 文本预处理方法、分类方法、装置及设备
CN111444721A (zh) * 2020-05-27 2020-07-24 南京大学 一种基于预训练语言模型的中文文本关键信息抽取方法
CN112883724A (zh) * 2021-02-03 2021-06-01 虎博网络技术(上海)有限公司 文本数据增强处理方法、装置、电子设备和可读存储介质
CN113011602A (zh) * 2021-03-03 2021-06-22 中国科学技术大学苏州高等研究院 一种联邦模型训练方法、装置、电子设备和存储介质
CN113315604A (zh) * 2021-05-25 2021-08-27 电子科技大学 一种联邦学习自适应梯度量化方法
CN113468322A (zh) * 2021-05-31 2021-10-01 北京达佳互联信息技术有限公司 关键词识别模型的训练、提取方法、装置、设备及介质
CN113254215A (zh) * 2021-06-16 2021-08-13 腾讯科技(深圳)有限公司 数据处理方法和装置、存储介质及电子设备
CN113823322A (zh) * 2021-10-26 2021-12-21 武汉芯昌科技有限公司 一种基于精简改进的Transformer模型的语音识别方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
周朴雄;: "用于WEB文档分类的并行KNN算法", 计算机工程与应用, no. 25 *
周朴雄;: "用于WEB文档分类的并行KNN算法", 计算机工程与应用, no. 25, 1 September 2008 (2008-09-01) *
陆超红;: "基于多通道循环卷积神经网络的文本分类方法", 计算机应用与软件, no. 08 *
陆超红;: "基于多通道循环卷积神经网络的文本分类方法", 计算机应用与软件, no. 08, 12 August 2020 (2020-08-12) *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116661856A (zh) * 2023-08-01 2023-08-29 上海合见工业软件集团有限公司 Eda软件的数据拼接***
CN116661856B (zh) * 2023-08-01 2023-10-20 上海合见工业软件集团有限公司 Eda软件的数据拼接***

Also Published As

Publication number Publication date
CN114510911B (zh) 2024-07-12

Similar Documents

Publication Publication Date Title
CN111414736B (zh) 故事生成模型训练方法、装置、设备及存储介质
CN113254684B (zh) 一种内容时效的确定方法、相关装置、设备以及存储介质
CN114356540A (zh) 一种参数更新方法、装置、电子设备和存储介质
CN111753498A (zh) 文本处理方法、装置、设备及存储介质
CN116724316A (zh) 模型处理方法和装置
CN114510911B (zh) 文本处理方法、装置、计算机设备及存储介质
CN114677350A (zh) 连接点提取方法、装置、计算机设备及存储介质
CN113822084A (zh) 语句翻译方法、装置、计算机设备及存储介质
CN111414737B (zh) 故事生成模型训练方法、装置、设备及存储介质
CN111915689B (zh) 用于生成目标函数的方法、装置、电子设备和计算机可读介质
CN115098262B (zh) 一种多神经网络任务处理方法及装置
CN114360528B (zh) 语音识别方法、装置、计算机设备及存储介质
CN116957006A (zh) 预测模型的训练方法、装置、设备、介质及程序产品
CN117671476A (zh) 图像分层方法、装置、电子设备及存储介质
CN115130456A (zh) 语句解析、匹配模型的训练方法、装置、设备及存储介质
CN114281937A (zh) 嵌套实体识别模型的训练方法、嵌套实体识别方法及装置
CN113537470A (zh) 模型量化方法及装置、存储介质及电子设备
CN114626551B (zh) 文本识别模型的训练方法、文本识别方法及相关装置
CN110969217A (zh) 基于卷积神经网络进行图像处理的方法和装置
CN117955811B (zh) 数据处理方法、装置、计算机设备及存储介质
CN114283060B (zh) 视频生成方法、装置、设备及存储介质
CN116797782A (zh) 一种图像的语义分割方法、装置、电子设备及存储介质
CN111582482B (zh) 用于生成网络模型信息的方法、装置、设备和介质
CN114611009B (zh) 资源推荐方法、装置、电子设备及存储介质
CN114297374A (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