用于多模态模型训练中的数据调度方法、装置、设备、介质和产品与流程

摘要: 本公开涉及大语言模型和人工智能,更具体地,涉及一种用于多模态模型训练中的数据调度方法、装置、设备、介质和产品。背景技术:1、多模态大语言模型(multimoda...
用于多模态模型训练中的数据调度方法、装置、设备、介质和产品与流程

本公开涉及大语言模型和人工智能,更具体地,涉及一种用于多模态模型训练中的数据调度方法、装置、设备、介质和产品。

背景技术:

1、多模态大语言模型(multimodal large language model,简称mllm)广泛应用于自动驾驶、具身智能、视觉问答与电商搜索推荐等场景中,通过将大语言模型的推理能力与多模态模型的多模态处理能力相结合,实现了视觉特征与语言特征之间的对齐。

2、在实现本公开构思的过程中,发明人发现相关技术中针对多模态模型的训练,至少存在如下问题:模块异构和数据异构限制了多模态大语言模型训练的资源利用率与适配性。

技术实现思路

1、有鉴于此,本公开提供了一种用于多模态模型训练中的数据调度方法、装置、设备、介质和产品。

2、本公开的一个方面提供了一种多模态模型训练中的数据调度方法,多模态模型包括相互独立部署在不同设备组中的编码器和解码器,该方法包括:将利用编码器对多模态样本进行编码得到的多个样本嵌入表示写入存储池,并将指示各样本嵌入表示在存储池中存储位置的寻址标识写入样本池,寻址标识的数据量小于样本嵌入表示的数据量;基于寻址标识,利用调度器从存储池中读取与寻址标识对应的样本嵌入表示;将打包样本嵌入表示得到的多个数据包发送至解码器进行处理,得到处理结果,以基于处理结果与真实标签之间的损失训练多模态模型。

3、根据本公开的实施例,将利用编码器对多模态样本进行编码得到的多个样本嵌入表示写入存储池,并将指示各样本嵌入表示在存储池中存储位置的寻址标识写入样本池,包括:在利用张量管理工具将多个样本嵌入表示分别封装为张量对象、并为各张量对象分配完成寻址标识的情况下,分别将样本嵌入表示写入存储池中与寻址标识对应的物理地址、将寻址标识写入样本池;其中,编码器将样本嵌入表示写入存储池后继续处理在后多模态样本,无需等待解码器对样本嵌入表示完成读取操作。

4、根据本公开的实施例,基于寻址标识,利用调度器从存储池中读取与寻址标识对应的样本嵌入表示,包括:由包含样本池的调度器从样本池中读取寻址标识,寻址标识包含样本嵌入表示在存储池中的虚拟地址;根据虚拟地址查询存储池中的全局页表,获取样本嵌入表示在物理存储介质中的物理地址,全局页表用于指示各训练进程中虚拟地址与跨节点的物理地址之间的映射关系;根据样本嵌入表示的物理地址和异步调度器当前训练进程的物理位置,选择传输路径;通过传输路径从物理地址读取样本嵌入表示,以对读取到的样本嵌入进行打包处理。

5、根据本公开的实施例,存储池维护由各训练进程的本地页表组成的全局页表;方法还包括:为各训练进程分别分配连续的多个虚拟地址;从存储池中分配与多个虚拟地址各自对应的物理地址,得到虚拟地址与物理地址之间的映射关系;将各训练进程的映射关系同步至其他进程,并更新其他进程中用于存储各进程的虚拟地址到物理地址之间映射关系的本地页表,以基于更新后的本地页表更新全局页表。

6、根据本公开的实施例,用于多模态模型训练中的数据调度方法还包括:对编码器和解码器分别进行预运行,得到编码器的第一吞吐量和解码器的第二吞吐量;根据第一吞吐量与第二吞吐量的比值,确定编码器的第一配卡数和解码器的第二配卡数,使单位时间内编码器产出数据量与解码器消费的数据量相匹配;基于第一配卡数和第二配卡数,分别独立部署编码器的第一设备组和解码器的第二设备组。

7、根据本公开的实施例,用于多模态模型训练中的数据调度方法还包括:将部署有编码器和解码器的各计算节点的显存或内存映射到虚拟地址空间;将虚拟地址空间中的虚拟地址作为指示各样本嵌入表示在存储池中存储位置的寻址标识。

8、根据本公开的实施例,用于多模态模型训练中的数据调度方法还包括:解码器通过寻址标识发起对存储池中数据包的访存请求;根据寻址标识中的存储位置和解码器所在设备组的物理位置,选择与存储位置和物理位置相匹配的传输路径,并将数据包传输至解码器。

9、根据本公开的实施例,选择与存储位置和物理位置相匹配的传输路径,包括:在存储位置与物理位置为同一节点中不同设备的情况下,将节点内高速互连传输路径作为传输路径;在存储位置与物理位置为跨节点的情况下,将远程直接内存访问路径作为传输路径。

10、根据本公开的实施例,用于多模态模型训练中的数据调度方法还包括:利用调度器获取由编码器提供的元数据,并存入样本池,元数据包含寻址标识和序列长度;在检测到样本池中元数据的数目大于数目阈值、或者解码器的处理状态指示当前无待处理数据包的情况下,对样本池中的元数据进行打包,得到多个数据包,以将多个数据包发送至解码器进行处理。

11、根据本公开的实施例,对样本池中的元数据进行打包,得到多个数据包,包括:基于元数据中多个序列各自的序列长度,构建包含预设整数区间的段树,段树用于管理多个候选打包序列,段树中的各叶子节点为调度器中用于对元数据中序列进行处理的打包处理节点;在段树中查找到与各候选打包序列长度所需资源相匹配的叶子节点的情况下,利用叶子节点对候选打包序列进行打包,得到多个数据包,以将多个数据包发送至解码器进行处理。

12、根据本公开的实施例,用于多模态模型训练中的数据调度方法还包括:确定各打包处理节点对候选打包序列执行打包的执行代价,执行代价包括第一分量和第二分量,第一分量与微批次内所有样本嵌入表示的有效令牌总数成正相关,第二分量与打包处理节点内各样本嵌入表示的序列长度中的上限值正相关;根据各打包处理节点的执行代价,将执行代价相似的打包处理节点聚类至相同代价等级数组中,以使相同代价等级数组的打包处理节点的执行延迟的时长保持一致;在相同代价等级数组中按照执行代价降序排列各数据包,并采用交替反向遍历的方式将各数据包依次分配至解码器的各计算节点进行处理,使各计算节点的执行代价相一致。

13、根据本公开的实施例,将打包样本嵌入表示得到的多个数据包发送至解码器进行处理,得到处理结果,包括:利用与调度器关联的打包工具根据寻址标识从存储池中读取对应的样本嵌入表示,并执行打包处理,生成多个数据包;将多个数据包发送至解码器的各计算节点进行解码处理,得到多模态样本的处理结果;其中,样本池的写入操作与打包工具的读取操作异步并行执行。

14、本公开的另一个方面提供了一种用于多模态模型训练中的数据调度装置,多模态模型包括相互独立部署在不同设备组中的编码器和解码器,装置包括:写入模块,用于将利用编码器对多模态样本进行编码得到的多个样本嵌入表示写入存储池,并将指示各样本嵌入表示在存储池中存储位置的寻址标识写入样本池,寻址标识的数据量小于样本嵌入表示的数据量;读取模块,用于基于寻址标识,利用调度器从存储池中读取与寻址标识对应的样本嵌入表示;发送模块,用于将打包样本嵌入表示得到的多个数据包发送至解码器进行处理,得到处理结果,以基于处理结果与真实标签之间的损失训练多模态模型。

15、本公开的另一个方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上所述的方法。

16、本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。

17、本公开的另一方面提供了一种计算机程序产品,所述计算机程序产品包括计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。

18、根据本公开的实施例,通过将编码器产生的样本嵌入表示写入存储池,并将轻量级寻址标识存入样本池,调度器基于该寻址标识从存储池中异步读取对应的样本嵌入表示并打包发送给解码器,从而实现编码器与解码器在时间上的解耦执行,编码器“写入即返回”实现无需等待解码器处理完毕,解码器“按需取用”实现无需等待编码器整批完成,避免传统异构模块之间的批级同步屏障;由于编码器与解码器相互独立部署在不同设备组,各自可采用最优并行度,避免了模块异构带来的并行度错配;此外,调度器基于轻量级寻址标识而非大张量样本嵌入表示进行进程间通信,大幅降低了异构模块之间的通信开销,提升了多模态大语言模型训练的资源利用率与可扩展性。