Files
YG_FT/docs/2026-07-24-work-plan.md
wuyongtao 2b10c013ce feat: 更新后端平台模块、前端组件及构建产物,新增工作计划文档
- 更新 backend 平台 API endpoints 及 platform_store
- 更新前端 ComputeNodesView、DataProcessCreateView、FineTuneCreateView 等组件
- 更新前端 API 模块(compute、fineTune)
- 重构 frontend/dist 构建产物(新 hash)
- 新增 docs/2026-07-24-work-plan.md 工作计划文档

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-24 10:27:52 +08:00

282 lines
11 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 2026-07-24 工作计划
本文基于 `docs/2026-07-23-development-summary.md`、当前 B+D 开发进度,以及 2026-07-24 已完成的训练预检、失败诊断、资源修复异步化能力整理。后续开发仍按正式系统演进推进,不以临时演示能力作为交付标准。
## 1. 当前完成基线
### 1.1 训练创建与预检
- 对应页面:`模型微调 / 创建训练任务`
- 已完成能力:
- 创建训练前调用训练预检接口。
- 展示真实 LLaMA-Factory 命令预览。
- 展示预检节点、错误、警告和中文诊断建议。
- 后端预检不创建任务、不落库、不占用调度锁。
- 后端兼容 `base_model/train_dataset_id``model_id/dataset_id` 两套字段。
- 对应接口:
- `POST /modelTF/fine-tune/preflight`
- `POST /modelTF/fine-tune/command-preview`
### 1.2 训练日志与失败诊断
- 对应页面:`系统日志 / 训练日志`
- 已完成能力:
- 训练失败或停止后可查询诊断建议。
- 根据训练日志和失败原因识别模型路径、数据集字段、CUDA/GPU、LLaMA-Factory 命令等常见问题。
- 页面以中文展示失败诊断。
- 对应接口:
- `GET /modelTF/fine-tune/{task_id}/diagnostics`
### 1.3 算力节点与资源修复
- 对应页面:`算力平台 / 算力节点`
- 已完成能力:
- 算力节点可配置、可测试连接、可查看 GPU 与健康状态。
- 资源副本 repair 改为异步提交。
- 页面展示资源同步任务进度,避免长请求阻塞页面。
- 对应接口:
- `POST /modelTF/compute/nodes/{node_id}/replicas/repair`
- `GET /modelTF/compute/sync-jobs/{sync_id}`
## 2. 未完成任务清单
### P0真实训练成功闭环
- 对应页面:
- `模型管理 / 新增模型`
- `数据集管理 / 上传数据集`
- `模型微调 / 创建训练任务`
- `系统日志 / 训练日志`
- 未完成内容:
- 基座模型必须支持算力服务器本地路径校验,避免选择 API 模型或应用侧路径后进入训练。
- 数据集必须支持上传后格式校验,提前发现 Alpaca、ShareGPT、DPO、CPT 字段不匹配问题。
- 训练成功后需要完成模型产物扫描、产物入库、训练任务状态回填。
- 训练失败时需要强制拉取最后日志片段,保证失败原因可见。
- 后端开发:
- 增强模型路径校验,明确区分 `本地训练模型``API 模型``已训练模型`
- 增加数据集格式校验服务,支持字段级错误返回。
- 完善训练任务完成后的 artifact 回填逻辑。
- Compute 开发:
- 训练结束后扫描输出目录。
- 返回产物列表、文件大小、目录结构、训练日志路径。
- 验收标准:
- 使用算力节点可访问的本地模型路径和合法数据集,可以完成一次真实 LLaMA-Factory 训练。
- 训练成功后页面能看到完成状态、输出目录、模型产物。
- 训练失败时页面能看到中文诊断和最后错误日志。
### P0LLaMA-Factory 参数映射完善
- 对应页面:`模型微调 / 创建训练任务`
- 未完成内容:
- SFT、DPO、CPT 参数映射仍需细化。
- LoRA、Full、QLoRA、量化导出参数需要按训练方式校验。
- 不同模板与数据集格式之间的兼容关系需要预检。
- 后端开发:
- 建立训练参数标准化层。
- 建立训练方式到 LLaMA-Factory 参数的映射表。
- 对无效组合返回中文错误,例如 DPO 缺少 rejected 字段、CPT 不应使用 instruction/output 格式等。
- 验收标准:
- 页面选择不同训练方式时,预检能返回准确命令。
- 无效参数组合不能启动训练。
### P1资源副本 repair 自动重同步
- 对应页面:`算力平台 / 算力节点`
- 未完成内容:
- repair 当前已异步化,但还需要基于权威源路径自动重同步。
- 修复完成后需要重新校验副本状态。
- 后端开发:
- 为模型、数据集、训练产物定义权威源路径。
- repair job 根据权威源自动发起重传或重新扫描。
- 修复完成后更新 replica 状态、checksum、错误原因。
- Compute 开发:
- 支持接收重同步请求。
- 支持按资源类型写入目标路径并返回校验信息。
- 验收标准:
- 将副本标记为异常后,点击修复可自动完成重同步并恢复为正常。
### P1artifact checksum 与 manifest
- 对应页面:
- `模型管理 / 已训练模型`
- `模型管理 / 模型详情`
- `算力平台 / 资源副本`
- 未完成内容:
- artifact checksum 目前仍是预留字段。
- 大目录需要 manifest 文件,避免每次递归扫描成本过高。
- 后端开发:
- 增加 artifact checksum 回填逻辑。
- 增加 manifest 解析和存储字段。
- Compute 开发:
- export 或训练完成后扫描文件并生成 checksum。
- 对大模型目录生成 manifest。
- 验收标准:
- 模型产物列表能展示 checksum、大小、文件数、生成时间。
- 副本校验可以基于 checksum 判断一致性。
### P1模型导出闭环
- 对应页面:
- `模型管理 / 已训练模型`
- `模型管理 / 导出任务`
- `模型管理 / 合并权重`
- 未完成内容:
- 导出任务、量化导出、导出日志、失败重试、产物下载仍需完善。
- 后端开发:
- 完善 export job 创建、查询、取消、重试接口。
- 导出完成后登记 artifact 和 lineage。
- Compute 开发:
- 支持 LoRA 合并、GGUF/量化导出、导出日志回传。
- 验收标准:
- 已训练模型可发起导出。
- 导出状态、日志、产物可在页面查看。
### P1多算力节点调度增强
- 对应页面:`算力平台 / 算力节点`
- 未完成内容:
- 当前已有节点配置和基础调度,但生产级调度策略仍需增强。
- 需要支持节点标签、权重、启用状态、容量、手动指定节点。
- 后端开发:
- 增强调度策略标签匹配、权重、当前任务数、GPU 占用、显存约束。
- 增加任务排队和等待原因。
- 增加 GPU 分配释放的异常恢复。
- 前端开发:
- 创建训练时支持可选手动指定节点。
- 算力节点页展示容量、排队数、当前任务。
- 验收标准:
- 多节点时可以自动选择合适节点。
- 节点不可用时页面能明确展示不可调度原因。
### P2训练日志实时性优化
- 对应页面:`系统日志 / 训练日志`
- 未完成内容:
- 当前依赖应用侧轮询,日志实时性和失败最后日志仍需增强。
- 后端开发:
- 支持日志 offset/tail 增量读取。
- 任务失败时强制同步最后日志片段。
- 日志接口返回来源、偏移量、是否截断。
- 前端开发:
- 日志页按 offset 增量刷新。
- 失败时自动跳到底部并展示最后错误。
- 验收标准:
- 训练过程中日志持续刷新。
- 失败后无需手动刷新即可看到最后错误。
### P2权限、审计和治理落点补齐
- 对应页面:
- `用户中心`
- `项目管理`
- `模型管理`
- `数据集管理`
- `模型微调`
- `算力平台`
- 未完成内容:
- 训练链路中的租户、项目、用户权限校验还需要细粒度补齐。
- 审计事件需要覆盖训练创建、启动、停止、删除、导出、资源修复。
- 后端开发:
- 接口增加项目/租户上下文校验。
- 增加审计事件写入。
- 删除和高风险操作进入审批流。
- 验收标准:
- 用户只能访问授权项目内的模型、数据集和训练任务。
- 关键操作可以在审计日志中查询。
### P2模型评测页面真实闭环
- 对应页面:`模型评测`
- 未完成内容:
- 评测任务创建、运行、日志、指标、结果对比仍需接入真实后端。
- 后端开发:
- 评测任务表、评测指标表、评测日志接口。
- 支持指定模型、数据集、评测模板和指标。
- Compute 开发:
- 支持评测任务执行器。
- 返回指标结果和日志。
- 验收标准:
- 可创建评测任务并看到运行状态、指标结果和失败原因。
### P2模型推理页面真实闭环
- 对应页面:
- `模型推理 / 推理服务`
- `模型推理 / 对话测试`
- `模型对比`
- 未完成内容:
- 推理服务启动、停止、健康检查、会话请求、资源释放仍需完善。
- 后端开发:
- 推理服务实例管理接口。
- 对话请求代理接口。
- 推理日志和资源占用查询。
- Compute 开发:
- 支持启动本地模型推理服务。
- 支持停止服务和释放 GPU。
- 验收标准:
- 可从页面启动一个已训练模型的推理服务。
- 可进行对话测试并查看服务状态。
## 3. 推荐开发顺序
1. 完成真实训练成功闭环。
2. 完成数据集格式校验和 LLaMA-Factory 参数映射。
3. 完成 artifact、checksum、manifest 和模型导出闭环。
4. 完成资源副本 repair 自动重同步。
5. 完成多算力节点调度增强。
6. 完成训练日志实时性优化。
7. 补齐权限、审批、审计治理落点。
8. 启动模型评测真实闭环开发。
9. 启动模型推理真实闭环开发。
## 4. 下一轮优先执行任务
### 任务 1训练模型路径治理
- 页面:`模型管理 / 新增模型``模型微调 / 创建训练任务`
- 内容:
- 新增模型时区分是否可用于训练。
- API 模型不能作为 LLaMA-Factory 本地训练基座。
- 本地模型路径必须是算力节点可访问路径。
- 验收:
- 选择不可训练模型时,训练创建页预检直接给出中文错误。
### 任务 2数据集格式校验
- 页面:`数据集管理 / 上传数据集``模型微调 / 创建训练任务`
- 内容:
- 上传后扫描样本字段。
- 支持 Alpaca、ShareGPT、DPO、CPT 校验。
- 返回字段缺失、类型错误、空样本等问题。
- 验收:
- `111.json` 这类数据可以明确判断是否满足当前训练模板。
### 任务 3训练完成产物入库
- 页面:`模型微调 / 任务列表``模型管理 / 已训练模型`
- 内容:
- Compute 训练成功后返回输出目录。
- 应用侧轮询后创建 trained model 记录。
- 写入 artifact、lineage、export job 初始状态。
- 验收:
- 训练完成后无需手动登记,模型管理中自动出现新模型。
### 任务 4失败日志最后片段拉取
- 页面:`系统日志 / 训练日志`
- 内容:
- 任务失败时立即拉取最后 N 行日志。
- 页面展示最后错误、诊断建议和原始日志。
- 验收:
- 训练失败后页面不再只看到“失败”,可以直接看到失败原因。
## 5. 当前测试注意事项
- 当前环境中已有算力节点可访问,但 GPU 为 2GB 显存,预检会提示显存不足,这是符合预期的生产校验结果。
- 若要验证真实训练成功,需要提前准备:
- 算力节点可访问的本地基座模型目录。
- 合法训练数据集文件。
- 足够显存的 GPU。
- Compute 容器内可用的 LLaMA-Factory 和 `llamafactory-cli`
- 当前前端 `dist` 已按要求参与构建更新,后续修改前端页面后需要重新执行 `npm run build`