LOCAL MODEL LAB / REFERENCE 0004

画布、训练、服务

同一个到手价助手,三个进程。查端口、节点与产物怎样连接。

下列 PriceLab 节点与 worker 是待实现接口。设计 blueprint 不是可导入的 ComfyUI 图;当前没有执行这条训练链路。

进程分工

8188 · ComfyUI

现有 Python 环境。图、参数、提交、查询与显示。

8091 · worker

拟定课程环境。持久化任务,运行 MLX SFT/GRPO 子进程。

8088 · 模型服务

课程环境。加载最终权重,接受聊天推理请求。

桥接节点通过 HTTP/JSON 调用 worker。图里传小型引用,权重在文件系统中保存;MLX 训练不放进现有 ComfyUI 的 PyTorch 环境。同机仍共享内存,训练设备需由 MLX 进程自行核验。这个三进程分工是本课程设计。

本机 2026-10-10 只读探测:ComfyUI 0.35.0、MPS、8188。注册的 TrainLoraNode 输入为 MODEL/LATENT/CONDITIONING,不能直接用于本课文本模型 SFT/GRPO。当前未注册 PriceLab 桥接节点。

节点连接速查(待实现)

节点 / 输入输出 / 下一步
Experiment:ID、seed、配置PRICE_EXPERIMENT;供准备与提交使用
PrepareData / PrepareModel:experiment、request_idPRICE_JOB;异步返回 accepted
JobReadback:job_id、refreshPRICE_JOB_REPORT + STRING;查询真实状态
DataRead:成功的数据 job、artifact_idPRICE_DATA_ARTIFACT + STRING;数据 hash、分区检查
ArtifactRead:成功的模型 job、artifact_idPRICE_MODEL_ARTIFACT + STRING;权重、parent、重载检查
Submit:operation、model/data 引用、request_idPRICE_JOB;sft / grpo / eval / fuse
ServiceStart:最终 model 引用、port、request_idPRICE_SERVICE_REF;只表示 starting
ServiceReadback:service_id、refreshPRICE_SERVICE_REPORT + STRING;版本、健康、真实暖机后 ready
PriceRequest:ready report、订单、request_idPRICE_RECEIPT + STRING;完整回包与严格评分
JobCancel / ServiceStop:对应 IDPRICE_CONTROL_RESULT;各自回读终止结果
Preview:STRING JSONOUTPUT_NODE;把报告写入 ui/history

表中类名均带 PriceLab 前缀。专用类型用于逻辑连接,额外 STRING 输出连接 Preview;类型名称不能替代字段检查。自定义类型、INPUT_TYPES、RETURN_TYPES、OUTPUT_NODE 的定义见 官方数据类型 与 节点属性。

四段路线,分次 Queue

  1. A · 准备:提交数据/模型准备 → 查 job → 读数据/原始模型引用 → 基线 eval。
  2. B · SFT:原始模型 + SFT 数据 → 提交 5 步冒烟 → 查 job → 检查 adapter/融合产物 → 验证集 eval。
  3. C · GRPO:已验证 SFT + RL 数据 → 提交 5 步冒烟 → 查真实采样/奖励/更新 → 融合与重载 → 对照评估。
  4. D · 服务:最终 artifact → 启动 → 查 ready → 在独立查询图中发订单 → 保存 receipt。

提交节点不会等整个训练完成。成功后再运行产物读取图;订单查询图不接训练节点。先冒烟,再决定正式步数。完整参数与实现顺序见 运行设计手册。

两个不可混用的引用

数据 artifact
seed、oracle 版本、各分区路径/数量/hash、无交叉检查、producer_job_id。
模型 artifact
stage、representation、parent/base_artifact_id、权重/tokenizer/config hash、数据 hash、producer_job_id、重载证据。

representation 区分 full、adapter、fused;adapter 需与指定 base 组合。Submit/ServiceStart 根据 stage 与 representation 检查前置条件,不凭路径命名决定训练阶段。

GRPO 的 parent 和固定参考模型都指向已核验的 SFT 产物。原始模型、SFT 和 GRPO 的模型路径不能混用。原课程验收继续适用。