Files
YG_FT/docs/2026-07-23-development-summary.md
wuyongtao b28cfbc6fa feat: 更新后端平台模块、Compute引擎、前端组件及构建产物
- 更新 backend 平台 API、platform_store、compute_gateway sync
- 更新 compute agent/engine/adapter 及 API
- 更新 Docker 部署配置(app/compute)
- 新增 frontend/src/utils/ 工具模块
- 新增 scripts/ops_diagnostics.py 运维诊断脚本
- 新增 docs/2026-07-23-development-summary.md 开发总结
- 重构 frontend/dist 构建产物(新 hash)
- 更新前端多个视图组件及 API 模块

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-23 19:32:42 +08:00

15 KiB
Raw Blame History

2026-07-23 开发总结

本文档汇总 2026-07-23 当天围绕模型微调平台完成的系统开发内容。当前开发不再按临时 Demo 口径处理,以下能力均按后续可继续演进到生产系统的代码和数据结构推进。

1. 今日完成内容

1.1 模型训练最小闭环增强

功能点 作用 对应页面/模块 用户如何操作
训练任务创建前预检 在任务进入运行前校验模型、数据集、算力节点、路径和 LLaMA-Factory 参数,减少任务启动后才失败的情况 模型微调列表、创建模型微调、训练日志 在“模型微调”页面创建任务并提交,系统自动执行预检;失败时页面提示具体原因
训练数据同步到算力节点 将应用侧选择的数据集文件同步到目标 Compute 节点本地磁盘,保证 LLaMA-Factory 能读取到真实训练文件 创建模型微调、训练日志、算力节点/资源副本 用户选择数据集后提交训练任务,系统自动同步数据集到算力节点,无需手工进入容器复制
动态生成训练参数 根据用户在页面选择的训练数据、基座模型、训练方法、输出目录等动态生成 LLaMA-Factory 训练参数 创建模型微调、训练日志 用户在创建任务表单中选择模型和数据集,启动训练后可在训练日志中查看实际执行命令
训练日志和状态轮询 应用侧主动轮询 Compute API 获取训练状态、进度、日志、指标和 checkpoint 训练日志详情页 用户进入训练日志页,可查看任务状态、日志输出、指标和 checkpoint 信息
训练失败信息回传 训练命令失败后将失败状态和日志内容回传应用侧,便于定位数据格式、模型路径或参数问题 模型微调列表、训练日志详情页 任务失败后,用户进入训练日志页查看失败日志和错误堆栈

1.2 B. 模型资产、训练与 LLaMA-Factory 任务能力

功能点 作用 对应页面/模块 用户如何操作
训练模型产物 artifact 展示 展示训练/合并产生的 Adapter、合并模型、量化模型等产物路径、大小、checksum 模型管理 -> 训练模型列表 用户进入“模型管理”,切换到“训练模型”,展开某个模型行查看“模型产物”
模型血缘 lineage 展示 记录和展示基座模型、训练模型、合并产物之间的来源关系 模型管理 -> 训练模型列表 用户展开训练模型行,在“模型血缘”区域查看父资源、子资源和对应 Compute Job
模型导出任务 export job 状态展示 展示模型合并/导出的任务状态、输出目录和创建时间 模型管理 -> 训练模型列表 用户展开训练模型行,在“导出任务”区域查看导出任务状态
export 完成后回填 checksum Compute export 完成后扫描产物文件,回填大小和 checksum_sha256,为后续一致性校验和制品治理做准备 后端模型资产模块、模型管理页面 用户无需手工操作,任务完成后页面自动展示产物大小和 checksum
合并模型任务接入 Compute 模型合并不再只是生成模拟任务,而是通过 Compute 节点调用模型合并任务并记录导出任务 模型管理 -> 合并权重 用户在训练模型列表点击“合并权重”,提交后系统创建 Compute 合并任务

1.3 D. 算力平台、部署与运维能力

功能点 作用 对应页面/模块 用户如何操作
算力节点动态配置 支持维护 Compute API、File Gateway、权重、标签、启用状态、调度状态等信息 算力节点 -> 节点 用户进入“算力节点”,点击“新增节点”或“编辑”,填写节点地址和调度参数
节点连通性测试 验证应用服务器是否能访问 Compute API并返回 GPU 发现结果和延迟 算力节点 -> 节点 用户在节点列表点击“测试”,查看连接成功或失败提示
GPU 状态展示 展示每个算力节点的 GPU 利用率、显存、温度、功耗、进程信息 算力节点 -> GPU 用户进入“算力节点”切换到“GPU”页签查看
训练队列展示 展示 Compute 侧任务队列、状态、进度、节点和 GPU 分配 算力节点 -> 队列 用户切换到“队列”页签查看当前运行或等待任务
资源副本列表 展示数据集、模型、训练产物在算力节点本地磁盘上的副本路径和同步状态 算力节点 -> 资源副本 用户切换到“资源副本”页签,选择目标节点查看本地副本
资源副本漂移检测 检查副本路径是否仍存在、大小是否可读取,并将异常副本标记为漂移 算力节点 -> 资源副本 用户点击“漂移检测”,系统调用 Compute API 检查节点本地路径
资源副本 repair 重同步 对漂移、失败、待修复副本执行真实重同步,而不只是标记状态 算力节点 -> 资源副本 用户点击“修复副本”,系统从权威源重新上传或导入到目标算力节点
应用侧轮询模式 应用服务主动轮询 Compute API避免需要 Compute 侧反向访问应用侧 后端 Compute Gateway、部署架构 用户无感知,部署时只需保证应用侧能访问各 Compute 节点
本地磁盘挂载约定 基座模型、训练数据、训练产物、训练日志均通过宿主机目录挂载到 Compute 容器 docker/compute 部署 运维人员在启动 Compute 服务前准备并挂载 docker/compute/data/yg-ft/* 目录

1.4 前端状态中文化

功能点 作用 对应页面/模块 用户如何操作
统一状态字典 pendingrunningcompletedfailedonlinesynceddrifted 等状态统一展示为中文 通用前端组件 ModelStatusTag、状态工具 status.ts 用户在各列表页看到中文状态,不再直接看到英文状态值
模型管理状态中文化 合并状态、导出任务状态、产物状态使用中文展示 模型管理 用户查看训练模型列表和展开详情时看到“未合并/合并中/已合并/已完成/失败”等中文
算力节点状态中文化 节点状态、GPU 状态、队列状态、副本同步状态使用中文展示 算力节点 用户查看“节点/GPU/队列/资源副本”时看到中文状态标签
推理/对比/评测/用户状态中文化 将推理任务、对比模型加载、评测任务、用户状态统一为中文标签 模型推理、模型对比、模型评测、用户设置 用户查看相关页面时看到“启动中/已就绪/已完成/启用”等中文状态

1.5 前端构建产物更新

功能点 作用 对应页面/模块 用户如何操作
刷新 frontend/dist 保证 Docker 前端 nginx 容器可以直接加载最新页面代码 前端部署 用户重新访问前端服务即可看到最新页面
重启前后端服务验证 验证源码挂载和 dist 挂载方式下服务可正常加载最新代码 docker/app、docker/compute 开发人员重启 backend-apifrontendcompute-api 后验证页面和接口

2. 今日涉及的主要代码位置

文件 说明
backend/app/api/v1/endpoints/platform.py 新增/完善训练预检、资源同步、模型 artifact/lineage/export job 接口、资源副本漂移检测和 repair
backend/app/db/platform_store.py 新增模型产物、血缘、导出任务、副本同步结果、artifact 查询等数据访问能力
compute/agent/process_manager.py export/artifact 扫描时补充文件大小和 checksum
frontend/src/api/modules/model.ts 增加训练模型 artifact、lineage、export job API
frontend/src/api/modules/compute.ts 增加副本漂移检测、repair API 和副本字段
frontend/src/views/model/ModelManageView.vue 增加训练模型展开详情:产物、血缘、导出任务
frontend/src/views/compute/ComputeNodesView.vue 增加资源副本页签、漂移检测、repair 操作和状态中文化
frontend/src/utils/status.ts 新增统一状态中文映射和标签类型映射
frontend/src/components/ModelStatusTag.vue 改为复用统一状态字典
frontend/src/components/DataTablePage.vue 增加表格展开事件支持
frontend/dist/* 前端生产构建产物已更新

3. 今日验证结果

验证项 结果
Python 编译检查 通过:python -m compileall backend compute scripts
前端生产构建 通过:npm run build
前端入口 通过:http://127.0.0.1:16801/ 返回 200
后端健康检查 通过:/modelTF/health 返回正常
Compute 健康检查 通过:/modelTF/health 返回正常
模型导出任务接口 通过:/modelTF/model-manage/export-jobs 返回正常
算力节点列表接口 通过:/modelTF/compute/nodes 返回正常
资源副本漂移检测 通过:当前节点副本检测返回 drifted: 0

4. 当前仍需注意的问题

问题 影响 建议
训练数据格式仍依赖 LLaMA-Factory 约定 如果用户上传的数据字段不符合模板要求,训练仍会失败 下一步增加数据集格式校验和模板转换预检
单机 MX350 显存较小 真实训练大模型时容易因显存不足失败 当前环境用于链路验证;真实训练应使用高显存 GPU 节点
resource replica repair 对大型模型仍是同步调用 大模型重同步可能耗时较长 下一步将 repair 完整异步化,并展示 sync job 进度
artifact checksum 目前在 Compute 扫描阶段计算 对超大目录递归扫描可能较慢 下一步支持分文件 checksum、manifest 文件和后台扫描
模型评测、模型推理仍未形成完整生产闭环 目前页面已有基础能力,但后端表结构、任务运行、日志、治理能力还需补齐 下一步将评测和推理纳入正式开发计划

5. 下一步开发计划

5.1 B. 模型资产、训练与 LLaMA-Factory 任务

优先级 开发任务 目标页面/模块 交付结果
P0 数据集格式预检 创建模型微调、数据集管理 提交训练前校验 Alpaca/ShareGPT/OpenAI Messages 等格式,提示缺失字段
P0 训练参数可视化确认 创建模型微调 提交前展示最终 LLaMA-Factory 参数预览,减少参数不一致问题
P0 训练任务失败诊断 训练日志详情 识别常见错误:数据字段缺失、模型路径不存在、显存不足、依赖缺失,并生成中文诊断
P1 checkpoint 管理 训练日志详情、模型管理 展示 checkpoint 列表、大小、路径、保留策略,支持标记最佳 checkpoint
P1 模型产物 manifest 模型管理 为每个训练/导出产物生成 manifest记录文件清单、大小、checksum、来源任务
P1 合并/导出任务详情页 模型管理、训练日志 展示合并任务日志、状态、产物、失败原因
P2 模型版本治理 模型管理 支持版本号、标签、发布状态、归档状态、审批状态
P2 训练模板管理 系统设置或训练配置 将 LLaMA-Factory 模板、数据格式、默认超参做成可维护配置

5.2 D. 算力平台、部署与运维

优先级 开发任务 目标页面/模块 交付结果
P0 repair 异步化 算力节点 -> 资源副本 repair 创建 sync job 后后台执行,页面展示进度和失败原因
P0 多算力节点调度策略 算力节点、创建模型微调 支持按标签、权重、空闲 GPU、显存要求选择节点
P1 节点资源水位告警 算力节点、硬件监控 展示磁盘、GPU、显存、训练日志目录水位和告警状态
P1 节点维护窗口 算力节点 支持维护中节点不再调度新任务,已有任务可继续或迁移
P1 文件副本治理 算力节点 -> 资源副本 支持副本清理、重建、过期策略和跨节点一致性检查
P2 部署健康巡检脚本 部署运维 一键检查 app、backend、redis、pg、compute、GPU、挂载目录、端口连通
P2 Compute Agent 插件标准 算力平台 抽象 LLaMA-Factory 接入规范,预留其他训练框架

5.3 模型评测页面开发计划

优先级 开发任务 目标页面/模块 交付结果
P0 评测任务表结构和接口补齐 模型评测列表、创建评测、评测详情 建立 eval_taskseval_dimensionseval_sample_results 等运行表和接口
P0 创建评测任务真实提交 创建评测 支持选择模型、数据集、评测维度、GPU/节点,提交后生成评测任务
P0 评测任务运行闭环 评测详情 支持状态、进度、日志、样本级结果回传
P1 评测维度管理 评测维度创建/编辑 支持规则、Prompt、评分器、权重、适用数据集配置
P1 样本级评分展示 评测详情 展示每条样本的输入、模型输出、评分、原因、人工复核状态
P1 综合报告生成 评测详情、排行榜 生成维度汇总、综合分、问题样本、改进建议
P2 评测审批和审计 审批流、审计日志 评测任务创建、发布报告、删除报告纳入治理

5.4 模型推理页面开发计划

优先级 开发任务 目标页面/模块 交付结果
P0 推理任务表结构和接口补齐 模型推理列表、新建推理 建立 inference_tasksinference_task_modelschat_sessionschat_messages
P0 模型加载/卸载真实闭环 模型推理列表 支持选择训练产物加载推理服务,展示加载状态、端口、进程和错误
P0 单模型对话持久化 模型对话 保存会话、消息、参数、响应耗时、token 统计
P1 多模型对比任务 模型对比 支持多模型同时加载、同一问题并发请求、结果对比展示
P1 推理资源管控 模型推理、算力节点 支持 GPU 选择、并发限制、空闲自动卸载、异常进程清理
P1 推理日志和调用审计 日志、审计中心 记录加载、卸载、对话请求、失败原因、用户和租户信息
P2 推理服务发布 模型管理、模型推理 支持将某个训练模型发布为内部推理服务,并配置访问权限

6. 建议的下一阶段顺序

  1. 先完成 B+D 的训练稳定性增强数据格式预检、训练参数预览、失败诊断、repair 异步化。
  2. 再补齐模型评测的真实任务闭环:任务表、创建任务、运行状态、样本结果。
  3. 然后补齐模型推理闭环:加载/卸载、对话持久化、多模型对比。
  4. 最后统一治理能力:审批、审计、租户隔离、资源配额、保留策略和运维巡检。