CN120066523B - 基于封装大模型训练平台的自动学习引擎装置 - Google Patents

基于封装大模型训练平台的自动学习引擎装置

Info

Publication number
CN120066523B
CN120066523B CN202510543460.7A CN202510543460A CN120066523B CN 120066523 B CN120066523 B CN 120066523B CN 202510543460 A CN202510543460 A CN 202510543460A CN 120066523 B CN120066523 B CN 120066523B
Authority
CN
China
Prior art keywords
training
task
driver
yaml
fine
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
Application number
CN202510543460.7A
Other languages
English (en)
Other versions
CN120066523A (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.)
Whale Cloud Technology Co Ltd
Original Assignee
Whale Cloud Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Whale Cloud Technology Co Ltd filed Critical Whale Cloud Technology Co Ltd
Priority to CN202510543460.7A priority Critical patent/CN120066523B/zh
Publication of CN120066523A publication Critical patent/CN120066523A/zh
Application granted granted Critical
Publication of CN120066523B publication Critical patent/CN120066523B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00—Arrangements for software engineering
    • G06F8/40—Transformation of program code
    • G06F8/41—Compilation
    • G06F8/42—Syntactic analysis
    • G06F8/427—Parsing
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00—Arrangements for software engineering
    • G06F8/70—Software maintenance or management
    • G06F8/71—Version control; Configuration management
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; 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
    • G06N3/045—Combinations of networks
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; 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
    • G06N3/0499—Feedforward networks
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; 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
    • G06N3/084—Backpropagation, e.g. using gradient descent
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; 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
    • G06N3/092—Reinforcement learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供了基于封装大模型训练平台的自动学习引擎装置,包括:统一接入规范模块,通过YAML配置模板文件规范化训练和推理参数配置;多设备支持与并行计算框架模块,兼容CPU、GPU、NPU三种硬件设备,并且支持包括Accelerate、DeepSpeed两种并行计算框架;训练引擎模块,采用三层架构实现任务分配、状态监控和异常处理;训练算法框架模块,用于解析运行配置文件、进行数据集拆分、数据格式转换、支持多种微调训练方法并对模型进行评估。本发明整体方案降低了大模型微调的技术门槛,使非专业人员也能通过简单配置完成复杂的模型训练任务,促进了大模型技术的普及应用。

Description

基于封装大模型训练平台的自动学习引擎装置
技术领域
本发明涉及人工智能技术领域,具体涉及基于封装大模型训练平台的自动学习引擎装置。
背景技术
在当前人工智能领域,尤其是自然语言处理(NLP)技术迅猛发展的态势下,大型语言模型(LLM)已成为推动技术创新和产业变革的核心引擎。随着GPT、LLaMA、Qwen等开源或半开源大语言模型的涌现,这些具备强大语言理解与生成能力的模型正被广泛应用于各行各业。然而,这些预训练模型往往是通用型的,需要针对特定领域或任务进行微调才能发挥最佳效能。微调过程的复杂性、资源消耗及技术门槛成为制约大模型广泛落地的关键因素。市场上各类开源大模型皆具有独特的接口设计、参数配置和训练要求,这种多样性使得在企业私有化环境中高效接入和适配这些模型变得极为困难。与此同时,大模型训练所需的计算资源往往十分庞大,如何在有限的硬件条件下实现高效训练也是亟待解决的问题。
传统的大模型微调部署方案通常采用针对单个模型进行专门代码开发与适配的方式,技术团队需要深入研究每个模型的架构特性、接口设计和训练方法,编写大量定制化代码来实现模型的加载、训练和推理。这种方法不仅导致开发周期冗长,还造成代码重复和维护困难等问题。当需要支持新模型或更新现有模型时,往往需要重新编写或大幅修改代码,缺乏统一标准的配置方式使得模型间难以实现平滑切换。在训练资源调度方面,现有方案普遍缺乏灵活的多设备支持能力,难以根据任务特性和硬件条件自动选择最优的并行计算策略。此外,微调训练过程中的异常处理、状态监控和结果评估等关键环节也缺乏系统化和标准化的解决方案,依赖大量人工干预和经验判断。
这些技术难题造成了严重后果:首先,大模型技术的应用门槛居高不下,中小企业和研究机构难以承担高昂的技术研发成本,导致人工智能技术的普及受阻;其次,开发效率低下和维护成本高企,技术团队需要投入大量时间和精力在重复性的工程适配工作上,而非业务创新;第三,计算资源无法得到充分利用,训练效率低下不仅延长了模型开发周期,还增加了硬件投入成本;第四,模型质量难以保证,缺乏标准化的评估流程导致微调效果不稳定;最后,系统可靠性不足,频繁的训练任务失败降低了大模型项目的落地成功率。这些问题共同构成了制约人工智能技术深入应用和产业化的瓶颈。
发明内容
为克服现有技术的不足,本发明提出基于封装大模型训练平台的自动学习引擎装置,通过统一的YAML配置模板定义训练参数,标准化了不同大模型的接入流程,使开发人员无需针对每个模型编写专门的代码,显著简化了开发工作流程。
为实现上述目的,本发明提出基于封装大模型训练平台的自动学习引擎装置,包括:
统一接入规范模块,所述统一接入规范模块通过YAML配置模板文件规范化训练和推理参数配置,所述YAML配置模板文件遵循"ai.config.train.<模型名称编码>.<场景名>.yaml"的命名规则,其中模型名称编码为用户选择的大模型对应的编码,场景名为微调(sft)、预训练(pt)或奖励模型训练(rm);
多设备支持与并行计算框架模块,所述多设备支持与并行计算框架模块兼容CPU、GPU、NPU三种硬件设备,并且支持包括Accelerate、DeepSpeed两种并行计算框架,根据用户选择的运行类型和并行框架自动生成对应的训练启动命令;
训练引擎模块,所述训练引擎模块采用Master-Driver-Work三层架构实现任务分配、状态监控和异常处理,其中Master负责接收任务消息并启动容器,Driver负责监听Work状态并回写结果,Work负责执行微调训练任务;
训练算法框架模块,所述训练算法框架模块用于解析ai.envs.train.yaml运行配置文件、进行数据集拆分、数据格式转换、支持多种微调训练方法并对模型进行评估。
进一步地,统一接入规范模块中的YAML配置模板文件包括以下五个部分:
runtime部分,用于描述算法运行环境配置,具体包括:
type字段,表示运行类型,可为单机单卡(SMSG)、单机多卡(SMMG)或多机多卡(MMMG);
parallel_framework字段,表示并行计算框架,可为accelerate或deepspeed;
workspace字段,表示工作目录路径;
cmd字段,表示算法运行命令列表;
options部分,用于描述算法运行超参数,包含多个超参数对象,每个对象具有:
code字段,表示超参数代码;
name字段,表示超参数显示名称;
type字段,表示超参数数据类型;
display字段,表示超参数是否显示;
default字段,表示超参数默认值;
desc字段,表示超参数描述;
rule字段,用于定义超参数的枚举值或取值范围;
inputs部分,用于定义算法需要的输入资源,包括训练数据、评估数据和基础模型,每个输入资源具有:
name字段,表示资源名称;
code字段,表示资源编码;
oid字段,表示原始编码/ID;
type字段,表示资源类型,值为dataset、datasource或model;
label字段,表示资源标签;
accessType字段,表示访问类型,值为本地或远程;
uri字段,表示统一资源标识符;
evalScale字段,表示评估数据比例;
outputs部分,用于定义训练过程中的输出结果,包括模型(main)、tensorboard可视化结果、checkpoint检查点和task_result任务结果,每个输出项具有name、code、oid、type、accessType和uri字段;
logs部分,用于定义日志的存储信息,包括name、code、type、accessType和uri字段。
进一步地,统一接入规范模块还包括YAML配置模板文件解析器,所述解析器具体用于:
读取YAML文件并通过Python的yaml库将其解析为嵌套的字典和列表结构,逐层解析runtime、options、inputs、outputs和logs五个部分;
对每个参数进行数据类型和取值范围验证,确保参数符合预期,包括确保runtime.type必须为SMSG、SMMG或MMMG之一,parallel_framework必须为accelerate或deepspeed;
为未在YAML文件中明确指定的参数自动填充默认值,包括options中的超参数默认值;
当用户创建微调任务时,根据用户选择的模型和场景,读取对应的YAML模板文件,并动态生成运行态YAML文件ai.envs.train.yaml,将用户自定义的超参数与模板文件中的其他配置项合并;
确保生成的运行态YAML文件在任务启动时通过挂载方式被正确加载到容器内部供微调算法使用。
进一步地,多设备支持与并行计算框架模块具体包括:
设备适配组件,用于针对CPU、GPU、NPU三种不同硬件设备构建对应的容器镜像,并将该镜像地址配置在YAML模板文件中,确保在不同运行环境下高效运行;
并行计算支持组件,具体支持:
Accelerate框架,提供设备管理、混合精度训练、分布式训练和梯度累积四项功能;
DeepSpeed框架,提供设备管理、混合精度训练、梯度累积、零冗余优化器(ZeRO)、模型并行和检查点六项功能;
运行类型选择器,用于根据用户选择的运行类型和并行框架,自动构建相应的训练启动命令:
当选择单机单卡(SMSG)时,直接使用Python运行微调任务;
当选择单机多卡(SMMG)或多机多卡(MMMG)时,根据parallel_framework参数选择使用accelerate或deepspeed来构建启动命令。
进一步地,所述训练引擎模块的Master-Driver-Work三层架构具体包括:
Master组件,具体负责:
接收管理端的任务消息,将任务ID添加到Redis消息队列中等待消费;
消费时根据任务ID查询任务配置明细,并生成Kubernetes标准yaml文件;
调用Kubernetes API创建Driver容器和Work容器;
接收Driver的服务注册事件,并按照配置的时间间隔和超时时间设置启动监听事件;
监控Driver是否存活,在监听事件超时时重启Driver;
任务完成后销毁Driver和Work容器以释放资源;
Driver组件,具体负责:
启动成功后调用Master服务注册API进行注册;
接收Work的服务注册事件,并启动监听事件监控Work是否存活;
当某个Work出现故障时,重新分配任务并启动新的Work;
接收Work发送的训练完成通知,并回写训练结果;
Work组件,具体负责:
启动成功后调用Driver服务注册API进行注册;
通过挂载方式动态加载数据集、大模型以及配置文件;
执行微调训练任务;
训练完成后调用Driver端事件监听API回写训练结果。
进一步地,所述训练引擎模块的任务通信机制具体实现为:
任务分配机制:
用户启动任务后,后端调用Master的启动任务API接口,将任务ID添加到Redis消息队列;
Master从消息队列获取任务ID,查询任务配置明细并生成Kubernetes标准yaml文件;
Master先调用Kubernetes API创建Driver容器,Driver容器启动成功后再创建Work容器;
容器创建使用Kubernetes API,与现有容器编排系统兼容;
状态监控机制:
Driver容器启动成功后调用Master服务注册API进行注册,Master接收到注册事件后启动监听事件;
Work容器启动成功后调用Driver服务注册API进行注册,Driver接收到注册事件后启动监听事件;
Master通过定时发送心跳包检测Driver是否存活,若超时未响应则认为Driver宕机并进行重启;
Driver通过定时发送心跳包检测Work是否存活,若超时未响应则认为Work宕机并进行重启;
结果回写机制:
Work完成训练后,调用Driver提供的事件监听API回写训练结果;
Driver接收到训练结果后,将结果保存并更新任务状态;
Master定期检查任务状态,当所有Work都完成后,标记任务为完成状态并释放资源。
进一步地,训练引擎模块的异常处理机制具体包括:
任务失败重试机制:
当微调训练任务失败时,系统自动重试该任务,重试次数由YAML配置文件中的retry_count参数指定;
重试间隔时间由YAML配置文件中的retry_interval参数指定,单位为秒;
若任务在配置的重试次数后仍然失败,系统将该任务标记为失败状态,并记录错误日志;
容器健康检查与自动重启机制:
Master和Driver容器定期进行健康检查,健康检查的频率由health_check_interval参数指定;
若容器在指定时间(由health_check_timeout参数指定)内未响应,系统自动重启该容器;
重启容器时,系统会保留原容器的配置和状态信息,确保重启后的容器能够继续执行原有任务;
任务状态监控与恢复机制:
Master实时监控Driver和Work容器的状态,当检测到异常时触发相应的恢复流程;
若Work容器出现故障,Driver会重新分配任务并启动新的Work容器接管未完成的训练;
若Driver宕机,Master检测到后会启动新的Driver容器,新Driver会重新注册到Master并接管未完成的任务;
若Master宕机,系统会自动启动新的Master容器,并从最近的检查点恢复任务执行状态;
所有恢复操作都基于最近的检查点,确保任务能够从中断点继续执行,减少重复计算。
进一步地,所述训练算法框架模块具体包括:
配置解析组件,用于解析运行配置ai.envs.train.yaml文件,提取各项参数值并转换为Llama-Factory微调所需的参数格式,包括学习率、批处理大小、训练轮数三种超参数;
数据集拆分组件,用于对数据集进行随机拆分,具体实现为:
根据ai.envs.train.yaml文件中的evalScale参数值确定训练集和评估集的比例;
使用随机拆分算法确保数据分布的均匀性,防止数据偏差;
将拆分后的数据集分别保存为训练集和评估集两个文件;
数据格式转换组件,用于将各种格式的数据集转换为Llama-Factory标准格式,具体实现为:
解析原始数据格式,提取关键字段;
根据Llama-Factory要求的格式重组数据;
确保转换后的数据与Llama-Factory完全兼容;
微调训练组件,支持三种微调训练方法,具体由ai.envs.train.yaml文件中的train_method参数决定;
评估组件,用于对模型进行评估,输出四种评估指标;
中间过程监听组件,用于实时监听任务迭代进度,并将实时结果以JSON文件格式写入到ai.envs.train.yaml文件output.task_result指定的路径下,支持客户端通过WebSocket协议接收并展示实时训练状态。
进一步地,,微调训练组件具体支持以下三种微调方法:
LoRA微调方法,其具体实现为:
通过低秩分解来近似模型权重的更新,为每个需要更新的权重矩阵添加一对可训练的低秩分解矩阵;
假设原始权重矩阵为W,维度为d×k,引入秩为r的矩阵A(维度为d×r)和B(维度为r×k),微调后的权重矩阵变为W+AB;
训练过程中仅训练A和B这两个低秩矩阵,原始权重矩阵W保持固定不变;
该方法特别适用于计算资源有限的场景,适用于在消费级GPU上进行微调,适用于需要快速尝试不同微调方向的场景;
全量微调方法,其具体实现为:
将预训练模型的所有参数都作为可训练参数,包括嵌入层、多头注意力层、前馈神经网络层三种类型的参数;
使用反向传播算法更新模型中的每一个参数,更新步长由优化算法(Adam或SGD两种算法)根据学习率控制;
该方法适用于有大量高质量标注数据且计算资源充足的场景,能够最大程度地使模型适应特定任务;
冻结微调方法,其具体实现为:
仅调整预训练模型中的一部分层,而其他层的参数保持固定;
选择冻结靠近输入端的早期层,仅对靠近输出端的后期层进行微调;
该方法适用于任务与预训练任务较为相似但又有一定差异的场景,能够在保留预训练知识的同时适应特定任务需求;
微调方法自动机制,其具体为:
根据用户的任务需求、数据集规模和硬件资源选择微调方法;
当计算资源有限或需要快速尝试不同微调方向时,使用LoRA微调;
当有大量高质量标注数据且计算资源充足时,使用全量微调;
当任务与预训练任务较为相似但又有一定差异时,使用冻结微调;
1、LoRA微调(低秩适应)推荐条件
适用场景:计算资源有限或需要快速迭代实验。
判定条件:
硬件资源:
GPU显存 ≤ 32GB
可用训练时间<4小时(需快速验证效果)。
数据规模:
标注数据量 ≤ 10万条。
数据质量中等或存在噪声(LoRA对噪声敏感度较低)。
任务需求:
任务与预训练任务差异度中等(如文本分类→情感分析)。
2、全量微调(Full Fine-Tuning)推荐条件
适用场景:资源充足且数据质量高。
判定条件:
硬件资源:
GPU显存>32GB(如A100、H100)。
可用训练时间>4小时。
数据规模:
标注数据量>50万条且标注一致性高(如人工审核通过率 ≥ 95%)。
任务需求:
任务与预训练任务差异显著(如预训练为通用文本→下游为医疗实体识别)。
需调整全部模型参数以最大化性能。
3、冻结微调(Freeze-Tuning)推荐条件
适用场景:任务与预训练任务相似但需小幅适配。
判定条件:
硬件资源:
GPU显存 ≤ 24GB。
可用训练时间<1小时。
数据规模:
标注数据量 ≤ 5万条(小样本适配)。
任务需求:
预训练任务与下游任务的领域重叠度 ≥ 70%(如BERT预训练→新闻分类)
用户可在创建微调任务时手动选择微调方法,也可由系统根据规则自动选择。
进一步地,评估组件具体用于计算以下四种评估指标:
困惑度、精确率、召回率和损失值;
评估过程具体实现为:
使用ai.envs.train.yaml文件options中指定的迭代次数(num_train_epochs)进行模型训练;
训练完成后,将模型保存至ai.envs.train.yaml文件outputs.main指定的路径;
评估时读取该路径下的模型,使用拆分出的测试集进行评估;
将评估结果以JSON文件格式写入ai.envs.train.yaml文件output.task_result指定的路径。
进一步地,中间过程监听组件具体实现为:
采用回调函数机制,在模型训练的每个迭代步骤结束时触发回调函数;
回调函数实时收集训练信息,包括当前迭代次数、训练损失值、学习率三项参数;
将收集到的信息以JSON格式写入ai.envs.train.yaml文件output.task_result指定的路径;
JSON文件结构包含任务ID、当前迭代次数、总迭代次数、训练损失值、学习率五个字段;
后端服务使用文件监听机制,检测JSON文件的变化,当文件更新时读取最新内容;
后端服务通过WebSocket协议将最新训练状态推送给已连接的客户端;
客户端收到推送数据后实时更新训练进度条和损失曲线图两个可视化组件,提供直观的训练过程监控体验。
进一步地,该装置的实施过程包括以下步骤:
用户在管理界面选择基础大模型和训练场景,系统根据选择读取对应的YAML配置模板文件;
系统解析YAML配置模板文件,提取options部分展示在界面上,用户可根据需要调整超参数;
用户上传或选择已有的训练数据集,并指定评估数据比例;
用户提交任务后,系统生成运行态YAML文件ai.envs.train.yaml,将其与训练数据集、基础模型一起通过启动任务API发送给Master;
Master将任务添加到队列,启动Driver和Work容器执行训练任务;
训练过程中,系统实时监控训练状态,并通过WebSocket协议将状态推送给客户端;
训练完成后,系统对模型进行评估,输出评估指标,并将训练得到的模型保存到指定路径;
用户在管理界面查看训练结果、评估指标和训练过程的可视化图表,也可下载训练得到的模型用于推理。
与现有技术相比,本发明的有益效果是:
1.本发明提供了基于封装大模型训练平台的自动学习引擎装置,支持CPU、GPU、NPU等多种硬件设备,结合Accelerate和DeepSpeed等并行计算框架,在单机单卡、单机多卡和多机多卡等不同场景下都能高效利用计算资源。
2.本发明提供了基于封装大模型训练平台的自动学习引擎装置,Master-Driver-Work架构提供了完善的异常处理机制,包括任务失败重试、容器健康检查与自动重启、任务状态监控与恢复,大幅提高了系统的可靠性和容错能力。
3.本发明提供了基于封装大模型训练平台的自动学习引擎装置,根据任务需求、数据集规模和硬件资源自动选择最合适的微调方法(LoRA、全量或冻结微调),避免了人工选择的不确定性,提高了训练效果。
4.本发明提供了基于封装大模型训练平台的自动学习引擎装置,通过配置解析、数据集自动拆分、数据格式自动转换等功能,减少了人工干预,显著缩短了从数据准备到模型部署的全流程周期;整体方案降低了大模型微调的技术门槛,使非专业人员也能通过简单配置完成复杂的模型训练任务,促进了大模型技术的普及应用。
5.本发明提供了基于封装大模型训练平台的自动学习引擎装置,采用回调函数方式实时监听训练进度,及时反馈状态变化,使用户能够随时掌握训练情况,必要时提前调整策略,通过困惑度、精确率、召回率、损失值等标准指标,建立了规范的模型性能评估体系,便于不同模型间的比较和评价。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是装置流程示意图;
图2是引擎训练流程图;
图3为界面展示效果图。
具体实施方式
下面将结合附图、通过对本发明的优选实施方式的描述,更加清楚、完整地阐述本发明的技术方案。
术语解释:
大模型训练平台技术专业术语解释
Llama-Factory:一个开源的大模型训练工具箱;
YAML配置:一种人类可读的数据序列化格式,在本系统中用于定义训练参数、环境配置和资源分配;
微调(SFT):通过在预训练模型基础上使用特定任务数据进行进一步训练,使模型适应特定领域或任务;
预训练(PT):模型在大规模通用语料上进行初始训练的过程,学习语言的基本规律和知识;
奖励模型训练(RM):强化学习中用于评估生成内容质量的模型训练过程;
LoRA微调:一种参数高效的微调方法;
Accelerate:轻量级分布式训练库;
DeepSpeed:深度学习优化库;
混合精度训练:同时使用不同数值精度进行计算,平衡训练速度和精度;
梯度累积:在多个小批次上累积梯度后再更新模型;
零冗余优化器(ZeRO):DeepSpeed中的关键技术,通过分层优化减少内存占用;
Master-Driver-Work架构:一种分层任务管理架构,Master负责全局调度,Driver监控工作进度,Work执行具体计算任务;
Kubernetes:容器编排平台,用于自动化部署、扩展和管理容器化应用程序;
MLflow/Kubeflow:MLOps工具,用于管理机器学习实验和模型部署;
困惑度:评估语言模型预测能力的指标,值越低表示模型预测越准确;
精确率:被预测为正类的样本中实际为正类的比例,反映预测准确性;
召回率:实际为正类的样本中被正确识别出的比例,反映模型捕获能力;
损失值:量化模型预测错误程度的数值,通常使用交叉熵损失函数计算。
如图1所示,最顶层是MaaS平台作为整体系统的管控中心,通过任务消息机制将工作下发给Master组件;Master组件接收到任务后负责启动Driver容器;Driver容器随后启动Work容器,形成容器编排链;Work容器作为实际工作负载的执行者,处理各种计算任务,它会执行存储在代码框架、配置框架或大模型配置文件中的具体业务逻辑;任务执行完成后发送完成信号,同时系统具有完善的资源释放机制,通过右侧的曲线反馈路径表示,确保Driver容器和Work容器在完成各自职责后能将计算资源及时归还到资源池,避免资源浪费,整体形成了一个高效的任务处理和资源管理闭环。
作为一种具体实施方式,基于Llama-Factory封装大模型训练平台的自动学习引擎装置的具体实施方式
本发明提供了一种基于Llama-Factory封装大模型训练平台的自动学习引擎装置,该装置主要包括统一接入规范模块、多设备支持与并行计算框架模块、训练引擎模块和训练算法框架模块四个主要部分,能够实现大模型训练的高效管理、部署和执行。
本实施方式中,YAML配置模板文件是系统的核心配置单元,用于规范化训练和推理的参数配置。这些文件遵循特定命名规则:ai.config.train.<模型名称编码>.<场景名>.yaml。其中,模型名称编码为用户选择的大模型对应的编码(如千问7B大模型对应的编码为Qwen-7B-Chat),场景名为微调(sft)、预训练(pt)或奖励模型训练(rm)。
例如,对于千问7B大模型的微调场景,模板文件名为ai.config.train.Qwen-7B-Chat.sft.yaml。此文件的作用是:当用户新增微调任务并选择千问7B基础模型时,系统后端将根据模型编码和场景读取该yaml模板文件,并解析出超参(options)部分展示在前端页面,供用户自定义调整参数。任务启动时,除超参(options)部分获取用户自定义配置外,其它配置项均从yaml模板获取,生成运行态ai.envs.train.yaml文件给任务运行使用。
YAML配置模板文件主要分为5个部分:runtime部分、options部分、inputs部分、outputs部分和logs部分。runtime部分用于描述算法运行环境配置,包括类型字段(type)表示运行类型,可为单机单卡(SMSG)、单机多卡(SMMG)或多机多卡(MMMG);并行计算框架字段(parallel_framework)表示并行计算框架,可为accelerate或deepspeed;工作空间字段(workspace)表示工作目录路径;命令字段(cmd)表示算法运行命令列表。options部分用于描述算法运行超参数,包含多个超参数对象,每个对象具有代码字段(code)、名称字段(name)、类型字段(type)、显示字段(display)、默认值字段(default)、描述字段(desc)和规则字段(rule)用于定义超参数的枚举值或取值范围。inputs部分用于定义算法需要的输入资源,包括训练数据、评估数据和基础模型,每个输入具有名称字段(name)、代码字段(code)、原始ID字段(oid)、类型字段(type)表示资源类型如dataset、datasource或model、标签字段(label)、访问类型字段(accessType)表示本地或远程访问、统一资源标识符字段(uri)和评估比例字段(evalScale)用于训练数据。outputs部分用于定义训练过程中的输出结果,如模型(main)、tensorboard可视化结果、checkpoint检查点和task_result任务结果,每个输出项包含name、code、oid、type、accessType和uri字段。logs部分用于定义日志的存储信息,包括name、code、type、accessType和uri字段。
YAML配置模板文件的解析通过自定义解析器实现,该解析器能够根据YAML文件的层次结构逐层解析,并将其转换为内部数据结构。系统首先读取YAML文件,并使用Python的yaml库将其加载为字典对象,解析器根据YAML文件的层次结构,逐层解析runtime、options、inputs、outputs和logs五个部分。解析器对每个参数进行验证,确保其数据类型和取值范围符合预期,如某些参数未在YAML文件中明确指定,解析器会自动填充默认值。当用户创建微调任务时,系统会根据用户选择的模型和场景,读取对应的YAML模板文件,并动态生成运行态YAML文件ai.envs.train.yaml,将用户自定义的超参数与模板文件中的其他配置项合并。
当用户创建微调任务时,系统会根据选择的大模型和场景,读取对应的YAML模板文件,并动态展示超参配置(options部分)。用户可按需修改超参数,保存任务时,系统会生成运行态YAML文件ai.envs.train.yaml。该文件在任务启动时动态挂载到容器内部给微调算法使用。运行态YAML文件包含与模板文件相同的五个部分(runtime、options、inputs、outputs和logs),但其中options部分会包含用户自定义的参数值。
本实施方式全面兼容三种硬件设备,包括CPU、GPU和NPU,确保在不同运行环境下高效运行。根据不同硬件环境构建对应镜像,并将该镜像地址配置在yaml模板文件中。同时支持两种并行计算框架:Accelerate和DeepSpeed,以大幅提高训练效率。Accelerate框架提供设备管理功能(自动管理设备分配,支持CPU、GPU和NPU)、混合精度功能(支持自动混合精度训练,减少内存占用并加速训练)、分布式训练功能(支持多GPU和多节点分布式训练,自动处理数据并行和模型并行)和梯度累积功能(支持梯度累积,可在有限GPU内存下训练更大模型)。DeepSpeed框架提供设备管理功能(支持多GPU和多节点分布式训练,自动管理设备分配)、混合精度功能(支持自动混合精度训练,减少内存占用并加速训练)、梯度累积功能(支持梯度累积,可在有限GPU内存下训练更大模型)、零冗余优化器功能(ZeRO)(通过分层优化技术,减少内存占用,支持更大规模模型训练)、模型并行功能(支持模型并行,可将大型模型分割到多个GPU上训练)和检查点功能(支持自动保存和恢复训练状态,方便中断和恢复训练)。
在本实施方式中,当用户选择单机单卡时,ai.envs.train.yaml文件runtime.type参数为SMSG,runtime.parallel_framework参数无效(页面会隐藏选项),直接使用Python运行微调任务;当用户选择单机多卡或多机多卡时,ai.envs.train.yaml文件runtime.type参数为SMMG或MMMG,runtime.parallel_framework参数可选择accelerate或deepspeed,启动任务时根据parallel_framework配置构建启动命令进行启动。
训练引擎架构采用Master-Driver-Work三层结构,各组件职责如下:Master负责接收管理端的任务消息,然后依据配置启动一个Driver容器和一个或多个Work容器,同时对Driver端状态进行监听,在任务完成后销毁Driver和Work容器以释放资源;Driver容器负责监听Work容器的状态,并将训练结果回写;Work容器具体负责执行微调训练任务,其所需的数据集、大模型以及配置文件均通过挂载的方式动态加载到容器内部,任务完成后,会调用Driver回写训练结果和状态。
Master、Driver和Work之间的通信机制具体实现为:用户启动任务后,后端调用Master的启动任务API接口,随后将任务ID添加到Redis消息队列中等待消费;消费时,会根据任务ID查询任务配置明细并生成Kubernetes标准yaml(包括Driver yaml和Work yaml),接着调用Kubernetes API传入Driver yaml创建Driver容器;Driver容器启动成功后,再传入Work yaml创建Work容器;Driver端服务启动成功后,会调用Master服务注册API进行注册,Master接收到注册事件后,会按照配置文件中的时间间隔和超时时间设置启动监听事件,以监听Driver是否存活;同样地,Work容器创建成功后也会调用Driver端服务注册API进行注册,Driver接收到注册事件后,也会按照配置文件中的设置启动监听事件监听Work是否存活,Work注册成功后便开始启动微调任务进行训练,训练完成后会发送通知调用Driver端事件监听API回写训练结果。
训练引擎的异常处理机制具体包括:任务失败重试机制,当某个任务失败时,系统会自动重试该任务,重试次数和间隔时间可以通过YAML配置文件中的retry_count和retry_interval参数进行配置,如果任务在多次重试后仍然失败,系统会将该任务标记为失败,并记录详细的错误日志;容器健康检查与自动重启,Master和Driver容器会定期进行健康检查,如果某个容器在指定时间内未响应,系统会自动重启该容器,健康检查的频率和超时时间可以通过YAML配置文件中的health_check_interval和health_check_timeout参数进行配置;任务状态监控与恢复,Master会实时监控Driver和Work容器的状态,如果某个Work容器出现故障,Driver会重新分配任务并启动新的Work容器来接管未完成的训练,如果Master或Driver宕机,系统会自动启动新的Master或Driver容器,并从最近的检查点恢复任务执行。
如图2所示,为训练引擎流程图,系统启动后Master组件接收来自MaaS管理端的任务消息;接着Master根据任务优先级和管理端任务列表进行智能调度分析;随后系统会判断任务是否可调度,这是一个关键决策点,若不可调度则将任务标记为无效并终止处理,若可调度则按照既定策略继续执行;对于可调度的任务,系统启动专用的Driver容器并触发任务处理逻辑;Driver容器会根据任务需求动态启动一个或多个Work容器以实现任务的并行处理;Work容器接管并执行具体的调度任务,完成实际业务处理;任务执行完毕后,系统记录完成结果并进入资源回收阶段,依次销毁不再需要的Driver和Work容器;最后系统释放所有相关资源,标志着整个任务处理周期的完成,形成一个从任务接收、调度、执行到资源回收的完整闭环流程。
训练算法框架的配置解析组件能够解析运行配置ai.envs.train.yaml文件,构建Llama-Factory微调所需的参数;数据集拆分组件支持对数据集进行随机拆分,将原始微调文本数据集按照比例拆分为训练集和评估集,拆分比例以ai.envs.train.yaml配置文件中的evalScale参数为准;数据格式转换组件将数据集格式转换为Llama-Factory标准格式,确保数据的一致性和兼容性,对模型的输入输出格式无影响。
微调训练组件支持三种微调训练方法,分别是LoRA微调、全量微调和冻结微调,具体使用哪种方法由用户在新增任务时选择的微调训练方法(train_method值lora/full/freeze)决定,选择结果会写入ai.envs.train.yaml文件train_method参数。LoRA微调的核心思想是通过低秩分解来近似模型权重的更新,在原始的预训练模型基础上,为每个需要更新的权重矩阵添加一对可训练的低秩分解矩阵,假设原始权重矩阵为W,其维度为d×k,通过引入秩为r的矩阵A(维度为d×r)和B(维度为r×k),微调后的权重矩阵变为W+AB,在训练过程中,只训练A和B这两个低秩矩阵,而原始的权重矩阵W保持固定。全量微调是最直接的微调方法,在预训练模型的基础上,将所有模型的参数都作为可训练参数,在训练过程中,根据任务的损失函数,使用反向传播算法更新模型中的每一个参数,包括嵌入层、多头注意力层、前馈神经网络层等所有层的参数。冻结微调是指只调整预训练模型中的一部分层,而其他层的参数则保持固定,一般而言,靠近输入端的层会更多地捕获通用特征,而靠近输出端的层则更侧重于任务特定的信息,因此,通常会选择冻结早期层,仅对后期层进行微调。系统还具备微调方法自动机制,根据用户的任务需求、数据集规模和硬件资源自动选择合适的微调方法:当用户的计算资源有限或希望快速尝试不同的微调方向时,系统会使用LoRA微调;当用户有大量的高质量标注数据,并且计算资源允许对整个模型进行长时间的训练时,系统会使用全量微调;当用户的任务与预训练任务较为相似,但又有一定差异时,系统会使用冻结微调。
评估组件具备对模型进行评估的功能,能够输出四种评估指标:困惑度(Perplexity)是衡量一个概率模型预测样本的好坏程度,在NLP中通常用来评价语言模型的质量,计算方法为,其中 N 是句子中的词数,是整个序列的概率,理想值越低越好,理想情况下接近于1;精确率(Precision)是指所有被预测为正类的样本中实际为正类的比例,计算方法为,其中 TP 是真阳性数量,FP 是假阳性数量,精确率高意味着模型在预测某类别时具有较高的准确性;召回率(Recall)是指所有实际为正类的样本中被正确识别出的比例,计算方法为 ,其中FN是假阴性数量,召回率高表示模型能够捕捉到更多的真实正例;损失值(Loss)是对模型预测错误程度的一种量化方式,在本系统中使用交叉熵损失函数计算,公式为,其中N 是样本数量,是样本i的真实标签(0或1), 是模型预测样本i为1的概率,训练过程中,损失值应逐渐下降,表明模型正在学习并改进其性能。评估流程是:使用ai.envs.train.yaml文件options中迭代次数(num_train_epochs)进行迭代训练,训练完成后根据ai.envs.train.yaml文件outputs.main中模型输出路径将模型写入该路径,评估时读取输出模型使用测试集进行评估,并将评估结果以JSON文件格式写入到ai.envs.train.yaml文件output.task_result指定的路径下。
中间过程监听组件采用回调函数方式,实时监听任务迭代进度,及时反馈训练状态,并根据ai.envs.train.yaml文件output.task_result配置,将实时结果以JSON文件格式写入到对应路径下,管理客户端使用WebSocket协议连接后端服务,后端服务监听结果文件变化,并将数据推送到客户端展示,使用户能够实时监控训练进度,如图3所示。
系统运行流程具体为:用户在管理界面选择基础大模型和训练场景,系统根据选择读取对应的YAML配置模板文件;系统解析YAML配置模板文件,提取options部分展示在界面上,用户可根据需要调整超参数;用户上传或选择已有的训练数据集,并指定评估数据比例;用户提交任务后,系统生成运行态YAML文件ai.envs.train.yaml,将其与训练数据集、基础模型一起通过启动任务API发送给Master;Master将任务添加到队列,启动Driver和Work容器执行训练任务;训练过程中,系统实时监控训练状态,并通过WebSocket协议将状态推送给客户端;训练完成后,系统对模型进行评估,输出困惑度、精确率、召回率和损失值四种评估指标,并将训练得到的模型保存到指定路径;用户可在管理界面查看训练结果、评估指标和训练过程的可视化图表,也可下载训练得到的模型用于推理。
本实施方式通过统一接入规范、多设备支持与并行计算框架、Master-Driver-Work三层架构的训练引擎、完善的异常处理机制、支持多种微调方法和实时监控等创新设计,构建了一个易用、稳定、高效的大模型训练平台,适用于多种大模型训练场景,大幅提升了大模型训练的效率和成功率。该装置与现有MLOps方案相比,具有更强的灵活性、可扩展性和自动化程度,能更好地满足复杂多变的大模型训练需求。
上述具体实施方式仅仅对本发明的优选实施方式进行描述,而并非对本发明的保护范围进行限定。在不脱离本发明设计构思和精神范畴的前提下,本领域的普通技术人员根据本发明所提供的文字描述、附图对本发明的技术方案所作出的各种变形、替代和改进,均应属于本发明的保护范畴。本发明的保护范围由权利要求确定。

Claims (8)

1.基于封装大模型训练平台的自动学习引擎装置,其特征在于,包括:
统一接入规范模块,所述统一接入规范模块通过YAML配置模板文件规范化训练和推理参数配置,所述YAML配置模板文件遵循"ai.config.train.<模型名称编码>.<场景名>.yaml"的命名规则,其中模型名称编码为用户选择的大模型对应的编码,场景名为微调、预训练或奖励模型训练;
多设备支持与并行计算框架模块,所述多设备支持与并行计算框架模块兼容CPU、GPU、NPU三种硬件设备,并且支持包括Accelerate、DeepSpeed两种并行计算框架,根据用户选择的运行类型和并行框架自动生成对应的训练启动命令;
训练引擎模块,所述训练引擎模块采用Master-Driver-Work三层架构实现任务分配、状态监控和异常处理,其中Master负责接收任务消息并启动容器,Driver负责监听Work状态并回写结果,Work负责执行微调训练任务;训练引擎模块的Master-Driver-Work三层架构具体包括:
Master组件,具体负责:
接收管理端的任务消息,将任务ID添加到Redis消息队列中等待消费;
消费时根据任务ID查询任务配置明细,并生成Kubernetes标准yaml文件;
调用Kubernetes API创建Driver容器和Work容器;
接收Driver的服务注册事件,并按照配置的时间间隔和超时时间设置启动监听事件;
监控Driver是否存活,在监听事件超时时重启Driver;
任务完成后销毁Driver和Work容器以释放资源;
Driver组件,具体负责:
启动成功后调用Master服务注册API进行注册;
接收Work的服务注册事件,并启动监听事件监控Work是否存活;
当某个Work出现故障时,重新分配任务并启动新的Work;
接收Work发送的训练完成通知,并回写训练结果;
Work组件,具体负责:
启动成功后调用Driver服务注册API进行注册;
通过挂载方式动态加载数据集、大模型以及配置文件;
执行微调训练任务;
训练完成后调用Driver端事件监听API回写训练结果;
训练引擎模块的任务通信机制具体为:
任务分配机制:
用户启动任务后,后端调用Master的启动任务API接口,将任务ID添加到Redis消息队列;
Master从消息队列获取任务ID,查询任务配置明细并生成Kubernetes标准yaml文件;
Master先调用Kubernetes API创建Driver容器,Driver容器启动成功后再创建Work容器;
容器创建使用Kubernetes API,与现有容器编排系统兼容;
状态监控机制:
Driver容器启动成功后调用Master服务注册API进行注册,Master接收到注册事件后启动监听事件;
Work容器启动成功后调用Driver服务注册API进行注册,Driver接收到注册事件后启动监听事件;
Master通过定时发送心跳包检测Driver是否存活,若超时未响应则认为Driver宕机并进行重启;
Driver通过定时发送心跳包检测Work是否存活,若超时未响应则认为Work宕机并进行重启;
结果回写机制:
Work完成训练后,调用Driver提供的事件监听API回写训练结果;
Driver接收到训练结果后,将结果保存并更新任务状态;
Master定期检查任务状态,当所有Work都完成后,标记任务为完成状态并释放资源;
训练算法框架模块,所述训练算法框架模块用于解析ai.envs.train.yaml运行配置文件、进行数据集拆分、数据格式转换、支持多种微调训练方法并对模型进行评估。
2.根据权利要求1所述的基于封装大模型训练平台的自动学习引擎装置,其特征在于,统一接入规范模块中的YAML配置模板文件包括以下五个部分:
runtime部分,用于描述算法运行环境配置,具体包括:
type字段,表示运行类型;
parallel_framework字段,表示并行计算框架;
workspace字段,表示工作目录路径;
cmd字段,表示算法运行命令列表;
options部分,用于描述算法运行超参数,包含多个超参数对象,每个对象具有:
code字段,表示超参数代码;
name字段,表示超参数显示名称;
type字段,表示超参数数据类型;
display字段,表示超参数是否显示;
default字段,表示超参数默认值;
desc字段,表示超参数描述;
rule字段,用于定义超参数的枚举值或取值范围;
inputs部分,用于定义算法需要的输入资源,包括训练数据、评估数据和基础模型,每个输入资源具有:
name字段,表示资源名称;
code字段,表示资源编码;
oid字段,表示原始编码/ID;
type字段,表示资源类型;
label字段,表示资源标签;
accessType字段,表示访问类型,值为本地或远程;
uri字段,表示统一资源标识符;
evalScale字段,表示评估数据比例;
outputs部分,用于定义训练过程中的输出结果,包括模型、tensorboard可视化结果、checkpoint检查点和task_result任务结果,每个输出项具有name、code、oid、type、accessType和uri字段;
logs部分,用于定义日志的存储信息,包括name、code、type、accessType和uri字段。
3.根据权利要求1所述的基于封装大模型训练平台的自动学习引擎装置,其特征在于,统一接入规范模块还包括YAML配置模板文件解析器,模板文件解析器具体用于:
读取YAML文件并通过Python的yaml库将其解析为嵌套的字典和列表结构,逐层解析runtime、options、inputs、outputs和logs五个部分;
对每个参数进行数据类型和取值范围验证,确保参数符合预期;
为未在YAML文件中明确指定的参数自动填充默认值,包括options中的超参数默认值;
当用户创建微调任务时,根据用户选择的模型和场景,读取对应的YAML模板文件,并动态生成运行态YAML文件ai.envs.train.yaml,将用户自定义的超参数与模板文件中的runtime部分、inputs部分、outputs部分和logs部分的配置项合并;
确保生成的运行态YAML文件在任务启动时通过挂载方式被正确加载到容器内部供微调算法使用。
4.根据权利要求1所述的基于封装大模型训练平台的自动学习引擎装置,其特征在于,多设备支持与并行计算框架模块具体包括:
设备适配组件,用于针对CPU、GPU、NPU三种不同硬件设备构建对应的容器镜像,并将镜像地址配置在YAML模板文件中,确保在不同运行环境下高效运行;
并行计算支持组件,具体支持:
Accelerate框架,提供设备管理、混合精度训练、分布式训练和梯度累积四项功能;
DeepSpeed框架,提供设备管理、混合精度训练、梯度累积、零冗余优化器、模型并行和检查点六项功能;
运行类型选择器,用于根据用户选择的运行类型和并行框架,自动构建相应的训练启动命令:
当选择单机单卡时,直接使用Python运行微调任务;
当选择单机多卡或多机多卡时,根据parallel_framework参数选择使用accelerate或deepspeed来构建启动命令。
5.根据权利要求1所述的基于封装大模型训练平台的自动学习引擎装置,其特征在于,训练引擎模块的异常处理机制具体包括:
任务失败重试机制:
当微调训练任务失败时,系统自动重试该任务,重试次数由YAML配置文件中的retry_count参数指定;
重试间隔时间由YAML配置文件中的retry_interval参数指定,单位为秒;
若任务在配置的重试次数后仍然失败,系统将任务标记为失败状态,并记录错误日志;
容器健康检查与自动重启机制:
Master和Driver容器定期进行健康检查,健康检查的频率由health_check_interval参数指定;
若容器在指定时间内未响应,系统自动重启该容器;
重启容器时,系统会保留原容器的配置和状态信息,确保重启后的容器能够继续执行原有任务;
任务状态监控与恢复机制:
Master实时监控Driver和Work容器的状态,当检测到异常时触发相应的恢复流程;
若Work容器出现故障,Driver会重新分配任务并启动新的Work容器接管未完成的训练;
若Driver宕机,Master检测到后会启动新的Driver容器,新Driver会重新注册到Master并接管未完成的任务;
若Master宕机,系统会自动启动新的Master容器,并从最近的检查点恢复任务执行状态;
所有恢复操作都基于最近的检查点,确保任务能够从中断点继续执行,减少重复计算。
6.根据权利要求1所述的基于封装大模型训练平台的自动学习引擎装置,其特征在于,训练算法框架模块具体包括:
配置解析组件,用于解析运行配置ai.envs.train.yaml文件,提取各项参数值并转换为Llama-Factory微调所需的参数格式,包括学习率、批处理大小、训练轮数三种超参数;
数据集拆分组件,用于对数据集进行随机拆分,具体为:
根据ai.envs.train.yaml文件中的evalScale参数值确定训练集和评估集的比例;
使用随机拆分算法确保数据分布的均匀性,防止数据偏差;
将拆分后的数据集分别保存为训练集和评估集两个文件;
数据格式转换组件,用于将各种格式的数据集转换为Llama-Factory标准格式,具体实现为:
解析原始数据格式,提取关键字段;
根据Llama-Factory要求的格式重组数据;
确保转换后的数据与Llama-Factory完全兼容;
微调训练组件,支持三种微调训练方法,具体由ai.envs.train.yaml文件中的train_method参数决定;
评估组件,用于对模型进行评估,输出四种评估指标;
中间过程监听组件,用于实时监听任务迭代进度,并将实时结果以JSON文件格式写入到ai.envs.train.yaml文件output.task_result指定的路径下,支持客户端通过WebSocket协议接收并展示实时训练状态。
7.根据权利要求6所述的基于封装大模型训练平台的自动学习引擎装置,其特征在于,微调训练组件具体支持以下三种微调方法:
LoRA微调方法,其具体为:
通过在原始权重矩阵的基础上增加低秩矩阵的乘积来实现参数更新,为每个需要更新的权重矩阵添加一对可训练的低秩分解矩阵;
假设原始权重矩阵为W,维度为d×k,d为输入特征维度,k为输出特征维度,引入秩为r的矩阵A(维度为d×r)和B(维度为r×k),微调后的权重矩阵变为W+AB;
训练过程中仅训练A和B这两个低秩矩阵,原始权重矩阵W保持固定不变;
全量微调方法,其具体为:
将预训练模型的所有参数都作为可训练参数,包括嵌入层、多头注意力层、前馈神经网络层三种类型的参数;
使用反向传播算法更新模型中的每一个参数,更新步长由优化算法根据学习率控制;
冻结微调方法,其具体为:
仅对预训练模型输出端的最后Q层进行参数更新,其中Q由用户设定,取值范围为1到模型总层数减1,而输入端的前P层参数保持固定,其中P等于模型总层数减Q;
选择冻结靠近输入端的早期层,仅对靠近输出端的后期层进行微调;
微调方法自动推荐机制,其具体为:
根据用户的任务需求、数据集规模和硬件资源自动推荐合适的微调方法;
当计算资源的GPU显存小于16GB或需要快速验证微调效果时,推荐LoRA微调;
当训练数据集样本数量大于10万条且GPU显存大于32GB时,推荐全量微调;
当微调任务的目标领域与预训练数据的领域相同,仅需调整输出格式或风格时,推荐冻结微调;
用户能够在创建微调任务时手动选择微调方法,或者由系统根据推荐规则自动选择。
8.根据权利要求6所述的基于封装大模型训练平台的自动学习引擎装置,其特征在于,评估组件具体用于计算以下四种评估指标:
困惑度、精确率、召回率和损失值;
评估过程具体实现为:
使用ai.envs.train.yaml文件options中指定的迭代次数进行模型训练;
训练完成后,将模型保存至ai.envs.train.yaml文件outputs.main指定的路径;
评估时读取路径下的模型,使用拆分出的测试集进行评估;
将评估结果以JSON文件格式写入ai.envs.train.yaml文件output.task_result指定的路径。
CN202510543460.7A 2025-04-28 2025-04-28 基于封装大模型训练平台的自动学习引擎装置 Active CN120066523B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202510543460.7A CN120066523B (zh) 2025-04-28 2025-04-28 基于封装大模型训练平台的自动学习引擎装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202510543460.7A CN120066523B (zh) 2025-04-28 2025-04-28 基于封装大模型训练平台的自动学习引擎装置

Publications (2)

Publication Number Publication Date
CN120066523A CN120066523A (zh) 2025-05-30
CN120066523B true CN120066523B (zh) 2025-08-22

Family

ID=95806226

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202510543460.7A Active CN120066523B (zh) 2025-04-28 2025-04-28 基于封装大模型训练平台的自动学习引擎装置

Country Status (1)

Country Link
CN (1) CN120066523B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN120339924B (zh) * 2025-06-20 2025-09-16 河北师范大学 一种用于教学的多模态视觉分析系统
CN120743478B (zh) * 2025-09-01 2025-12-23 上海云简软件科技有限公司 一种基于多线程公平调度的电子档案归档方法和装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114003248A (zh) * 2021-10-29 2022-02-01 深圳萨摩耶数字科技有限公司 一种模型管理方法、装置、电子设备及存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110659741A (zh) * 2019-09-03 2020-01-07 浩鲸云计算科技股份有限公司 一种基于分片式自动学习的ai模型训练系统和方法
US20210397482A1 (en) * 2020-06-17 2021-12-23 Ephemerai, Llc Methods and systems for building predictive data models
CN112418438B (zh) * 2020-11-24 2022-08-26 国电南瑞科技股份有限公司 基于容器的机器学习流程化训练任务执行方法及系统
CN116450156A (zh) * 2022-01-07 2023-07-18 马上消费金融股份有限公司 模型训练方法及装置
CN119005356A (zh) * 2024-08-01 2024-11-22 暗物智能科技(广州)有限公司 一种模型训练部署系统与方法
CN119536931A (zh) * 2024-10-17 2025-02-28 北京航天晨信科技有限责任公司 一种智能体开发平台、方法、介质及设备
CN119861908A (zh) * 2024-12-26 2025-04-22 远光软件股份有限公司 模型设计的规范性检查方法、装置、存储介质及终端设备

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114003248A (zh) * 2021-10-29 2022-02-01 深圳萨摩耶数字科技有限公司 一种模型管理方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN120066523A (zh) 2025-05-30

Similar Documents

Publication Publication Date Title
US11036483B2 (en) Method for predicting the successfulness of the execution of a DevOps release pipeline
CN120066523A (zh) 基于封装大模型训练平台的自动学习引擎装置
CN111400011B (zh) 一种实时任务调度方法、系统、设备及可读存储介质
CN120780437A (zh) 一种基于大语言模型的流程自动化执行方法
CN121280877B (zh) 一种基于多智能体协同优化的视觉算法自训练方法
CN119292752B (zh) 一种基于sac的运载火箭软件控制方法与决策装置
CN120430200B (zh) 一种大模型驱动的航空复杂薄壁构件加工工艺参数自适应闭环优化方法
CN121070951A (zh) 基于自然语言的数据查询分析方法
CN119960937A (zh) 一种面向容器云的任务流柔性编排系统及方法
Cunha et al. Context-aware execution migration tool for data science jupyter notebooks on hybrid clouds
CN119271382A (zh) 一种Linux内核调度器参数优化系统及方法
CN116610082A (zh) 基于深度强化学习的rpa作业工作流冗余调度方法及系统
CN121212278A (zh) 一种基于大语言模型的智能体自动编排方法及系统
CN114781648B (zh) 面向机器学习任务的自动化编排、构建、执行方法及系统
CN120407808A (zh) 一种工作流程集成的思维链系统的实现方法
CN119005356A (zh) 一种模型训练部署系统与方法
Testas Scalable Deep Learning Pipelines with Apache Airflow
CN120563942B (zh) 一种基于容器技术的图像自动化分类封装系统及方法
CN119621045B (zh) 一种面向深度学习模型训练的工具系统
Li Efficiently Scheduling Remote And Local Resources in ML Data Input Pipeline
US20250245216A1 (en) Machine learning model prompt hydration via prompt registry and context store
JP7833558B2 (ja) 複合イベント処理を最適化するIoTオペレーションのための構成可能なモジュール式インテリジェントデジタルツインアーキテクチャ
CN121478760A (zh) 支持大规模数据处理的集成式人工智能分析与建模平台
CN120929236A (zh) 计算服务方法、装置、设备、存储介质及程序产品
CN120872825A (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