跳到主要内容

算法实验工作台

在数字车间工作空间中选择“算法实验与优化平台”,或访问前端地址下的 /training。

创建实验​

选择实验模式、数据集、算法及参数,再点击“校验”和“编译计划”。检查结果后提交执行。

模式用途
训练使用训练集学习模型参数,并保存模型与检查点
超参数探索在给定范围内搜索算法参数,用调优集选择候选,再用独立测试集评价
测试固定算法、参数及模型,在所选测试集上运行并保存结果

训练模式可选择 CTDE-PPO。测试默认采用“联合调度 MA + PIBT(有限缓冲)”,也可选择已训练的 CTDE-PPO。超参数探索提供网格、随机和遗传搜索;切换目标算法后,按页面显示重新设置参数范围。

MA + PIBT 同时安排工序、机器和运输车辆,在下发任务前检查缓冲容量,协调车辆让行。它使用 CPU,无需训练或加载模型;种群规模、迭代代数和局部搜索步数影响求解时间与搜索充分程度。比较算法时应保持场景、种子、扰动和步数上限一致,并同时查看全部订单完成率与完成时间。

训练、调优和最终 benchmark 使用分开的数据集。benchmark 不用于训练、选择模型或调整参数。

模板会读取当前数据集版本。训练模式可分别选择训练集和模型验证集;标准验证集默认使用 10 个固定代表性实例,覆盖不同订单量、工序数、机器数、AGV 数和地图规模。默认每例评估 3 次,一次模型验证共 30 回合;“评估轮数”可调整重复次数。其他验证集首次选择时使用前 10 个实例,不足 10 个时使用全部实例。重新生成或更新数据后,打开旧实验并点击“更新数据集引用”,保留参数和实例选择,再编译执行。如果原先选择的实例已不存在,需要重新选择相应数据集。

已保存的实验保留原验证实例。切换验证集需保存并启动新实验;正在运行的训练不会即时切换。可从检查点继续训练,并在新实验中更换验证实例。

载入已保存的实验时,平台会检查数据集引用。校验、编译和提交执行也会检查实际数据;引用过期时会提示更新,并在创建执行任务前拒绝提交。更新数据集引用会生成新的实验 ID,原实验和运行记录保留。

仓库包含已生成的数据文件,更新到包含新数据的版本后可直接使用。数据生成是训练前独立执行的操作,启动服务和训练不会自动重建数据。

完整配置可通过“查看完整配置”展开。手动修改完整配置时,内容改变需使用新的实验 ID。

算法参数按算法定义的顺序排列,从能力列表选择算法和打开已保存实验使用相同顺序。输入过程中保留正在编辑的内容,离开输入框后同步写入完整配置;随后可保存定义或提交执行。载入模板、实验或更新数据集期间若继续编辑,以后续编辑为准;如仍需载入,请重新选择。编译结果显示参数候选数与运行单元数。

查看进度与输出​

在执行监控中查看状态、运行单元、指标和消息。CTDE-PPO 显示采样回合、累计仿真步数、计算设备与网络更新阶段。输出文件区域提供模型、检查点和报告等结果。

事件日志按所选级别显示最近 200 条,可点击“更早日志”逐页浏览,再点击“返回最新”恢复实时查看。训练指标及同步记录保留完整历史。切换到其他页面或将浏览器放入后台时暂停监控轮询,回到执行监控后恢复。

“训练指标”显示每批更新的总损失 Loss、策略损失、价值损失、策略熵、近似 KL、裁剪比例、价值解释方差和平均累计奖励,以及按累计仿真步绘制的曲线。多运行单元可分别选择查看。首批更新后显示首个点,历史记录没有保存的指标显示为空。

累计奖励是一回合内所有奖励之和,越大越好;KL 和裁剪比例帮助观察策略更新幅度,价值解释方差帮助观察价值预测效果。不能单凭损失下降判断已经收敛,应同时查看验证奖励、作业完成率和是否超时。

采样、网络更新和模型选择评估分别显示进度。模型选择评估运行固定策略,不更新网络;保存最佳 checkpoint 时,后续训练可能已经继续进行。

“同步等待记录”按同步轮展示同时运行的采样和训练,包括回合范围、策略版本、保留与丢弃回合数、丢弃步数、双方完成时间和等待秒数。“采样等待训练”表示采样先完成,“训练等待采样”表示 GPU 先完成。首批只有采样,收尾只有训练。

网络更新期间,“训练”进度显示 epoch、小批编号、优化器更新次数及累计用时,便于区分历史计算、片段前向和反向传播阶段。进度按计算块边界定期刷新。graph_batch_size(默认 16)控制一次合并编码的图数量;input_cache_mb(默认 256 MiB)控制训练输入缓存,0 关闭缓存。显存紧张时可调小这两个值;输入缓存上限不包含模型、梯度和计算中间量。

模型选择评估在独立 CPU 核心上执行,不参与采样与训练的同步。保存的最佳检查点对应实际参与评估的模型。验证较慢时排队处理,不暂停后续训练;所有训练结束后,完成剩余验证再发布最终最佳模型。训练结果使用该最佳模型的验证指标;使用“用于测试”创建的测试任务会独立评估所选模型。

需要停止时点击取消。PPO 训练在当前小批次更新结束后响应;采样和验证按步响应。一次耗时较长的求解调用可能不会立即结束。

并行采样与计算设备​

“并行采样环境数”默认 4,表示同时采集训练数据的环境数;“训练轮数”表示所有环境合计完成采样并参与训练的目标回合数。达到每回合步数上限也计为一个回合结束,不代表全部订单完成。设为 1 可减少同时运行的环境。

采样与验证使用 CPU,网络训练使用 GPU。“并行评估环境数”默认 2,表示同时运行的验证回合数,与每个实例重复运行的“评估轮数”不同。验证与采样分配不同 CPU 核心,可用核心不足时需减少并行环境数。

“动态采样”(dynamic_sampling)默认关闭:每批每个采样进程执行一个回合,然后等待同步。开启后,空闲进程继续领取新实例,直到本轮所有参与进程都至少完成一个回合,再触发采样同步。仍在运行的任务在当前仿真步结束后停止,其未完成轨迹丢弃;下一轮优先使用原实例和随机种子从头重跑。同步触发前已完成的回合保留,每批回合数因此不再固定。训练总回合预算用尽时不再派发新任务;最后一轮剩余实例较少时,只启用相应数量的进程。已有实验缺少此参数时默认关闭,参数编辑区显示默认值;修改后需启动新的执行。

首批采样结束后,采集下一批数据与训练上一批数据同时进行;两者都完成后,再开始下一同步轮。每批采样使用固定模型,训练开始时的样本策略最多落后当前模型一轮更新。

device=auto 使用可用 GPU,也可填写 cuda:0 等设备名;流水线训练需要 CUDA。GPU 卡号不填写时使用默认卡,填写多个卡号时当前训练使用第一张卡。联合调度模型的候选数量、场景数量和规划范围见 训练参数说明。

监控与记录管理​

执行详情自动刷新。切换到另一条执行时加载该执行的历史,后续只接收新增事件;Checkpoint 列表刷新期间保留当前内容。

最下方“标准事件与日志”可选择“信息及以上”“警告及以上”“仅错误”或“全部(含调试)”,默认显示信息及以上。逐步采样、验证进度、小批更新和逐回合完成消息归入调试级别。默认展示筛选后最近 200 条,点击“更早日志”继续展开。该设置只影响底部事件区,训练指标、曲线、阶段进度和同步等待记录仍完整显示。

已完成、失败或已取消的训练记录提供“删除记录”按钮;后台仍在收尾时需等其完全退出。确认后记录从执行列表移除,并存入平台数据目录的 trash/execution_records。实验定义、日志、Checkpoint 和已导出的模型文件保留,这个操作不用于释放训练数据占用的磁盘空间。需要恢复时,将回收目录中的记录 JSON 放回平台数据目录的 execution_state,再刷新列表。

保存与继续训练​

“Checkpoint 间隔”按所有环境累计仿真步数计算:

  • 0:保留最佳检查点。
  • 正数:另外保存中间检查点,在跨过间隔后的该批网络更新完成时写入。

每批至多保存一个中间检查点。PPO 最佳记录按验证平均累计奖励选择,与训练奖励保持一致,选模时不单独优先特急订单;场景中的优先级、预约和抢占机制仍按原配置运行。未设置验证集时使用训练集评估。首次完成更新、累计已训练回合数跨过验证间隔,以及训练结束时进行模型选择评估;动态批次跨过多个间隔时,评估该批更新后的模型。载入旧 PPO 实验或从检查点继续训练时,界面会生成采用当前选模目标的新实验定义,原记录保留。

在执行详情的“训练 Checkpoint”区域可下载、用于测试或继续训练。检查点保留模型、已训练回合计数与对应采样任务编号、累计步数、优化器和随机状态,不保存尚未训练的样本或未完成环境。累计步数仅计入实际用于训练的轨迹,丢弃步数单独显示。继续训练时,尚未参与训练的任务从头采样,已训练的任务编号不重复计入;目标总轮数必须大于已训练回合数。

服务重启后,可选择已经保存的检查点,新建继续训练任务。

操作步骤:

  1. 打开“执行监控”,选择要恢复的训练记录,失败的执行也可以选择。
  2. 在“训练 Checkpoint”中根据已训练回合和累计步数选择检查点,点击对应行的“继续训练”。无需先下载文件。
  3. 页面返回“定义实验”并载入检查点配置。确认“训练轮数”是希望达到的总轮数:例如检查点已完成 100 回合,填写 1000 表示从第 101 回合继续到第 1000 回合。
  4. 确认 GPU 卡号、采样和验证参数后,点击“开始训练”。平台会新建执行,原执行和检查点保留。

若要保留后续中间进度,将“Checkpoint 间隔”设为正数;仅保留最佳时,最近完成的训练进度可能晚于最佳检查点。

测试、比较和回放​

训练后点击输出模型或检查点的“用于测试”,选择测试数据集并提交。测试使用固定模型,不修改模型参数。

MA + PIBT 依据公开维修分布和已经停机的时间估计机器恢复时间,并随仿真推进重新决策。

统一比较页按数据集汇总已有测试结果。比较时同时查看实例覆盖、成功运行数、完成率和完工时间,区分未完成与已完成的运行。

回放页可以按数据集、实例和算法定位运行,也可从执行记录进入。记录回放查看已有事件与工厂画面;确定性复现使用保存的配置重新运行;快照分支从已保存状态切换算法继续运行。复现和分支需要源数据、对应算法及相关模型仍然可用。

训练过程主要保存学习所需的数据。查看模型的工厂行为时,先运行独立测试,再打开相应回放。