太初玄鼎 · 下一代 Anima 扩散模型训练工作台

MonadForge 训练,由你掌控

anima_lora 的深度改进分支——把 PySide6 桌面 GUI 全面重写为 FastAPI + Vue 3 WebUI:本地 daemon 串行队列、 WebSocket 实时监控、Modulation Guidance 蒸馏、模型合并、MCP 桥与中英双语,训练更稳、更快、更可控。

Windows / Linux 一键安装 · 打开 http://127.0.0.1:8000 即用 · 中英双语界面

Overview

从数据准备到模型合并,一站式训练工作台。

MonadForge 完整保留上游核心训练与推理能力,并在此基础上补强工程体验: 可视化配置、实时监控、任务队列、预处理流水线、双语界面与系统管理。

0 核心 WebUI 页面,覆盖完整训练流程
0s RTX 5060 Ti 上 Fast LoRA 单步耗时,显存仅 13.4 GB
11–12bit AdamW 8-bit + Kahan 补偿求和的有效精度
0+ 内置优化器与训练算法扩展生态

实时训练仪表盘

WebSocket 流式推送 step、epoch、loss、lr、speed 与预览图;Canvas 实时绘制 Loss / LR 曲线,GPU 显存、利用率、温度条形图一览无余,sample 图点击即可放大。

本地训练守护进程

daemon 充当串行作业队列 + GPU 守卫,任务状态落盘到 output/daemon/; 浏览器与托盘关闭后训练继续,chain_train 让"预处理 → 训练"链路不中断。

MD3 主题与双语

Material Design 3 琥珀色品牌、JetBrains Mono 数值字体、深色模式优先;English / 简体中文即时切换。

系统托盘与 MCP 桥

Windows 托盘图标实时映射 daemon 状态;MCP 桥让 Claude Code 等 AI Agent 直接提交与监控训练。

数据集与预处理流水线

多目录浏览器、缩略图网格与标签编辑,内置 WD Tagger 一键打标;Preprocess 一键执行 resize / VAE cache / TE cache / PE cache / mask,支持同源图单 epoch 遍历多个分辨率档位。

WD Tagger ControlNet canny / depth / pose free-fit 多档位

蒸馏与模型合并

Distill 提供 Modulation Guidance 蒸馏完整配置与状态监控;Merge 支持文件树浏览与策略选择, 将多个 LoRA / HydraLoRA 检查点融合为独立 DiT,全程 WebUI 端到端完成。

Turbo DP-DMD 2 步蒸馏 多检查点融合
WebUI Pages

九个页面,一条完整训练链。

从配置、数据、预处理到监控、蒸馏、合并与系统管理,所有操作都整合在统一的浏览器界面中; 训练任务由本地 daemon 调度,提交者关闭浏览器后仍继续运行。

01

Config配置编辑器

方法 / 变体 / 预设选择,TOML 字段级编辑与实时帮助,支持创建自定义变体与硬件预设。

02

Dataset数据集浏览器

多目录管理、缩略图网格 / 列表视图、搜索筛选、排序、图片详情与标签编辑。

03

Preprocess预处理流水线

状态仪表盘一键执行 resize / VAE / TE / PE cache 与 mask,单 epoch 多分辨率档位。

04

Adapter适配器管理

浏览已训练 LoRA / HydraLoRA 检查点、版本信息与元数据。

05

Distill蒸馏配置

Modulation Guidance 蒸馏参数编辑、训练启动与状态监控一站式完成。

06

Merge模型合并

文件树浏览、合并策略选择,将多检查点融合为独立 DiT。

07

Dashboard训练仪表盘

实时进度环、损失曲线、学习率曲线、GPU / CPU / 内存监控与训练预览图流。

08

Tasks任务监控

所有后台任务状态、彩色分级实时日志流(INFO / WARN / ERROR)、取消与重试。

09

System系统管理

环境变量查看、硬件信息、模型路径配置与一键更新。

Workflow

三条命令,启动训练炉。

一键脚本自动完成 uv 包管理器、Python 3.13、PyTorch 2.12 + CUDA 13.2 环境与前端构建; 启动脚本一并拉起 daemon、WebUI 与系统托盘,并自动打开浏览器。

quick-start.sh
PS> git clone https://github.com/LingyeSoul/MonadForge.git
PS> cd MonadForge
PS> .\setup-win.bat          # uv + Python 3.13 + PyTorch 2.12 + CUDA 13.2
[setup] frontend built to webui/frontend/dist/
PS> .\start-webui-win.bat    # daemon + WebUI + 托盘,自动打开浏览器
[ready] http://127.0.0.1:8000
$ git clone https://github.com/LingyeSoul/MonadForge.git
$ cd MonadForge
$ chmod +x setup-linux.sh && ./setup-linux.sh
$ chmod +x start-webui-linux.sh && ./start-webui-linux.sh
[ready] http://127.0.0.1:8000
$ uv sync                              # Python 3.13 + 所有依赖
$ cd webui/frontend && npm install && npm run build
$ python tasks.py download-models      # DiT + Qwen3 TE + VAE
$ python tasks.py daemon               # 启动并自动拉起 WebUI sidecar
[daemon] queue @ 127.0.0.1:8765 · webui @ 127.0.0.1:8000
$ python tasks.py lora --queue --network_dim 32  # 提交到队列
01

配置训练方案

在 Config 页面选择方法、变体与预设,编辑 TOML 字段,创建自定义训练配置与按 VRAM 档位的硬件预设。

02

准备数据集与预处理

Dataset 管理多组 source / resized / cache 路径,Preprocess 一键执行 resize / VAE / TE / PE cache 与 mask。

03

提交到 daemon 队列

训练进入串行队列,chain_train 让链路在终端关闭后继续;AI Agent 可通过 MCP 桥提交与监控。

04

监控、蒸馏、合并

Dashboard 实时查看 loss / lr 曲线、GPU 显存与预览图;Distill 执行蒸馏,Merge 将检查点融合为独立 DiT。

Daemon

一个守护进程,统筹一切。

WebUI 不再直接启动训练子进程——训练、预处理、合并统统交给本地 training daemon (127.0.0.1:8765),它既是串行作业队列,也是 WebUI 服务器的宿主。

daemon.log · live stream
$ python tasks.py daemon
[daemon] initializing local training queue @ 127.0.0.1:8765
[daemon] GPU guard enabled: single-job mode
[daemon] WebUI sidecar started at http://127.0.0.1:8000
[daemon] MCP bridge listening for AI agent connections
[task] job queued: lora_training_042 (chain_train)
[preprocess] resize / VAE cache / TE cache / PE cache
[monitor] WebSocket metrics stream connected
[train] step 128/8000 · loss 0.0321 · lr 1.2e-5 · 1.08s/step
[preview] sample image refreshed
[tray] status amber · job "lora_training_042" · step 128
[mcp] claude-code subscribed · progress feed ready
[queue] next job waiting · GPU memory stable
01

串行作业队列 + GPU 守卫

同时只运行一个训练任务,避免多任务抢占显存导致 OOM;作业逐个出队,GPU 始终处于受控状态。

single-job modeOOM guard
02

状态持久化与 chain_train

任务状态落盘到 output/daemon/,WebUI 与托盘关闭重启后任务继续跑;"预处理 → 训练"可串联,提交者关闭终端链路仍继续。

output/daemon/chain_trainresume
03

托管 WebUI sidecar

daemon 启动时拉起 uvicorn WebUI 子进程,崩溃自动重启、daemon 关闭时一并退出;sidecar 不计入串行队列,不影响训练调度。

uvicorn sidecarauto restart
04

系统托盘与 MCP 桥

托盘图标颜色映射 daemon 状态(空闲 / 运行中 / 出错 / 未运行),右键即可暂停队列、重启 daemon、切换语言;MCP 桥让 AI Agent 直接提交、监控与停止任务。

tray: idle / running / errorMCP bridgedaemon-status JSON
Compare

不只是换皮——从架构到算法的重写。

对照 sorryhyun/anima_lora 上游版本,MonadForge 重构了 GUI、通信与任务调度,并补齐大量 WebUI 侧功能。

维度
MonadForge
upstream anima_lora
架构层面
GUI 框架Vite + TypeScript + Sass
FastAPI + Vue 3 + Vuetify 3 WebUI
PySide6 Qt 桌面应用
通信方式全量流式
HTTP REST + WebSocket 实时流
本地 IPC / 文件系统轮询
任务调度调度中心化
本地 daemon 串行队列 + TaskService 适配层
外部 Python daemon 进程
跨平台体验一致性
浏览器统一体验,Windows / Linux 完全一致
Qt 平台差异(Linux 字体渲染等)
安装体积依赖瘦身
移除 PySide6,减重约 200MB
需完整 Qt 运行时
功能增强
实时训练仪表盘
完整 Loss / LR / GPU / 预览图流
仅基础日志输出
双语界面
EN / CN 内置,托盘语言独立
仅英文
蒸馏与合并 UI
Modulation Guidance 完整配置界面
仅命令行
WD Tagger / ControlNet
WebUI 一键打标;canny / depth / pose 预处理
仅命令行 / 实验性缺失
单 epoch 多分辨率
free-fit 档位分别缓存,全部参与训练
每张图只使用一个就近档位
自定义预设
图形化创建硬件预设(VRAM 档位)
仅内置预设
ConvRot int8 底模训练
实验性 W8A16 / W8A8 冻结底模 + block-swap
不支持
Algorithms

来自 lora-rescripts 的算法优化,全部可选激活。

以下训练优化移植自 WhitecrowAurora/lora-rescriptskohya-ss/sd-scripts 的维护分支,AGPL-3.0),默认训练行为不变,通过 CLI 参数或配置文件启用。

AdamW 8-bit + Kahan 补偿

8-bit 量化 AdamW 叠加 Kahan 补偿求和,将舍入误差回注下一步,有效精度从 8-bit 提升至约 11–12 bit,显著改善长训练 run 的收敛稳定性。

library/training/adamw_8bit_kahan.py

分阶段混合分辨率训练

单进程课程学习:按全局步切换预处理完成的数据行,模型、优化器和调度器状态连续;每个阶段使用独立的图片与缓存目录。

library/training/stage_schedule.py

自适应噪声偏移

基于 latent 通道统计量的自适应噪声偏移,替代固定噪声偏移,改善生成图像的动态范围。

library/runtime/noise.py

对比流匹配损失

在 Rectified Flow 目标上叠加对比损失项,通过正 / 负流方向对比提升 latent 表征质量。

library/training/losses.py

VeRA · 向量随机矩阵适配

跨层共享冻结随机投影矩阵,仅学习对角缩放向量;参数量比标准 LoRA 低 10–100 倍。

networks/lora_modules/vera.py

DyLoRA · 动态 LoRA

每次前向随机选择 rank,同时训练多个 rank 级别;训练后可提取任意 rank 不超过 max_rank 的适配器。

networks/lora_modules/dylora.py

金字塔多分辨率噪声

多尺度噪声叠加(6 层,discount = 0.4),让模型同时接触多频段噪声模式。

library/runtime/noise.py

优化器状态 CPU 卸载 + 步计时分析

Adam 系优化器的 momentum / variance 卸载到 CPU RAM,节省约 50% 优化器显存;窗口化分析器按 forward / backward / optimizer / save 分段计时。

optimizer_offload · profiler
Optimizers

50+ 优化器,随训练场景切换。

从默认 AdamW 到 8-bit Kahan、Prodigy、Adafactor、CAME 与 Schedule-Free 全家桶, 覆盖低显存、自动学习率与无调度器等所有训练场景。

Upstream Capabilities

上游核心能力,完整继承。

sorryhyun/anima_lora 同步所有训练与推理能力——从 Fast LoRA 训练到 Spectrum 推理加速、采样器修正与多种实验方法,一行不改即可用。

Fast LoRA Training 恒定 token 分桶 + 逐块 torch.compile,RTX 5060 Ti 上 13.4GB VRAM / 1.1s per step。
LoRA / OrthoLoRA / T-LoRA 三种变体可叠加,无损合并为独立 DiT 检查点。
GLoKr (BoRA) Kronecker 分解 ΔW + BoRA 双维度权重分解,行 / 列可训练幅值。
Spectrum 推理加速 训练无关的约 1.75 倍加速,支持 ComfyUI 节点。
DCW / SMC-CFG 采样器级 SNR 校正与滑模 CFG 修正。
HydraLoRA / ChimeraHydra MoE 多专家路由与双池加法架构。
EasyControl 扩展自注意力图像条件控制。
Turbo (DP-DMD) 2 步蒸馏生成。
DirectEdit 流反演图像编辑。
Soft Tokens / SPD / Embedding Inversion 完整实验方法支持。
ConvRot int8 底模训练 实验性 W8A16 / W8A8 冻结底模路径,数值探针与 block-swap 支持。
WD Tagger / ControlNet 内置 timm-based WD 标签器一键打标;canny / depth / pose 预处理与数据集生成。
Requirements

系统要求。

默认环境面向 Ampere 及以上架构;老显卡走 SM 7.x 兼容脚本,一键切换。

GPU
NVIDIA Volta+ 推荐 Ampere+(RTX 3000 / A100 / RTX 5060 Ti),老显卡走兼容脚本。
Driver · CUDA
≥ 595 · CUDA 13.2 用于 torch.compile / Triton;SM 7.x 切到 torch 2.10.0+cu129。
Python · OS
3.13 · Win / Linux 由 uv 自动管理;Windows 10/11 与主流 Linux 发行版。
Memory · VRAM
16GB+ · 8GB+ 16GB+ VRAM 体验完整功能;SM 7.x 不装 flash-attn 避免 NaN。

V100 / T4 / RTX 20 系列兼容方案: 使用 setup-v100-win.bat / setup-v100-linux.sh 创建 SM 7.x 兼容环境—— bf16 自动切换 fp16,训练器自动启用 lora_fp32_compute,注意力后端使用 SDPA。

Start Training

以简驭繁,启动你的下一次训练。

克隆仓库,运行 setup-win.batsetup-linux.sh,环境与前端自动就绪; 再执行 start-webui-win.bat,daemon + 训练任务 + Windows 托盘一键拉起, 浏览器打开 http://127.0.0.1:8000 即可开炉。

云端开箱即用:AutoDL 镜像 · 优云智算镜像