282 lines
11 KiB
Markdown
282 lines
11 KiB
Markdown
|
|
# 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 训练。
|
|||
|
|
- 训练成功后页面能看到完成状态、输出目录、模型产物。
|
|||
|
|
- 训练失败时页面能看到中文诊断和最后错误日志。
|
|||
|
|
|
|||
|
|
### P0:LLaMA-Factory 参数映射完善
|
|||
|
|
|
|||
|
|
- 对应页面:`模型微调 / 创建训练任务`
|
|||
|
|
- 未完成内容:
|
|||
|
|
- SFT、DPO、CPT 参数映射仍需细化。
|
|||
|
|
- LoRA、Full、QLoRA、量化导出参数需要按训练方式校验。
|
|||
|
|
- 不同模板与数据集格式之间的兼容关系需要预检。
|
|||
|
|
- 后端开发:
|
|||
|
|
- 建立训练参数标准化层。
|
|||
|
|
- 建立训练方式到 LLaMA-Factory 参数的映射表。
|
|||
|
|
- 对无效组合返回中文错误,例如 DPO 缺少 rejected 字段、CPT 不应使用 instruction/output 格式等。
|
|||
|
|
- 验收标准:
|
|||
|
|
- 页面选择不同训练方式时,预检能返回准确命令。
|
|||
|
|
- 无效参数组合不能启动训练。
|
|||
|
|
|
|||
|
|
### P1:资源副本 repair 自动重同步
|
|||
|
|
|
|||
|
|
- 对应页面:`算力平台 / 算力节点`
|
|||
|
|
- 未完成内容:
|
|||
|
|
- repair 当前已异步化,但还需要基于权威源路径自动重同步。
|
|||
|
|
- 修复完成后需要重新校验副本状态。
|
|||
|
|
- 后端开发:
|
|||
|
|
- 为模型、数据集、训练产物定义权威源路径。
|
|||
|
|
- repair job 根据权威源自动发起重传或重新扫描。
|
|||
|
|
- 修复完成后更新 replica 状态、checksum、错误原因。
|
|||
|
|
- Compute 开发:
|
|||
|
|
- 支持接收重同步请求。
|
|||
|
|
- 支持按资源类型写入目标路径并返回校验信息。
|
|||
|
|
- 验收标准:
|
|||
|
|
- 将副本标记为异常后,点击修复可自动完成重同步并恢复为正常。
|
|||
|
|
|
|||
|
|
### P1:artifact 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`。
|