Skip to content

Minimax H3 lora training with clip dataset - #30

Merged
imprsnst merged 3 commits into
mainfrom
minimax-lora-training-clip-dataset
Aug 7, 2026
Merged

Minimax H3 lora training with clip dataset#30
imprsnst merged 3 commits into
mainfrom
minimax-lora-training-clip-dataset

Conversation

@imprsnst

@imprsnst imprsnst commented Aug 7, 2026

Copy link
Copy Markdown
Collaborator

MiniMax H3 clip LoRA training

Extends H3 LoRA training from stills to short video clips

First clip LoRA trained end to end: 500 steps over 167 pixel art clips, adapter saved.

Training

  • Clip training for MiniMax H3. A Clip length (seconds) setting switches a run from
    stills to motion. Clips snap onto H3's 17n+5 frame grid at 24fps, so the floor is 22
    frames (0.92s). Stills and clips write the same adapter and can share one dataset.
  • A short clip no longer kills the run. One 14 frame file used to abort the whole
    precache, discarding 20 minutes of work. Too short clips are now skipped and named
    individually. _encode_pixels returns the pairs it kept, so captions stay aligned with
    latents. Without that, every caption after a skip would attach to the wrong clip and
    nothing would error.
  • Preflight check for the checkpoint mmap. safetensors maps the 62GB file in one call,
    and vm.overcommit_memory=0 refuses any mapping larger than RAM plus swap. The kernel
    error names the checkpoint, so it reads as a corrupt download, and it fired after the
    precache. Now checked in milliseconds before it, with the exact fix in the message. Fails
    open when the machine cannot be read.
  • Precache reports progress. It was silent for 20 minutes. Turns out logger.info was
    being discarded entirely: the trainer subprocess installs no logging handler, so anything
    below WARNING went nowhere. Progress now goes over the JSON protocol, which is the only
    channel that reaches the UI.
  • A lora port on all four H3 nodes, so a trained adapter is actually loadable.

Trainer UI

  • Load from path, so a folder of media imports without a file picker, NNNN.txt
    caption sidecars included.
  • Clips render. Poster generation is deferred, so an un-postered clip drew black from
    <video preload="metadata"> and broken from an <img>. Fixed in the dataset grid, the
    canvas ThumbStrip, and the Load Dataset node.
  • Load Dataset shows what fits. It was hardcoded to 6 thumbnails; it now measures itself
    and fills as the node is resized.
  • Hover to play, double click to open on dataset tiles, through the existing lightbox.
  • Copy logs, whole or a single line, with text selection enabled (React Flow sets
    user-select: none on nodes). Log buffer raised 400 to 3000 so a failed run's setup lines
    survive to be copied.

Project lifecycle

  • The open project survives a refresh and a Core restart. It lived only in memory, so a
    reload dropped you on the launcher and a Core restart left an open tab failing every call
    with "No project is open". Core now records it and reopens on start; closing clears it.

Measured

Config Step time Peak VRAM
512px stills, RTX PRO 4500 (32GB) 0.72s 20.49GB
512px 1s clips, RTX PRO 4500 (32GB) 3.01s 20.9GB

Clips cost about 4x per step and essentially nothing extra in VRAM, because the caption
pass sets the peak either way.

Tests

804 passing. New coverage for the clip frame floor, the skip path, the mmap preflight
across all three overcommit modes, project restore across a restart, and the log channel
(the failure mode there was silence, not an error).

Docs

TRAINING.md and README.md updated. Landing page changes are in the separate
inline-studio-landing-page repo: a rewritten MiniMax guide with a seven step how to, the
settings spelled out, the trojblue/test-HunyuanVideo-pixelart-videos example dataset, and
the measured clip numbers.

@imprsnst imprsnst changed the title Minimax lora training with clip dataset Minimax H3 lora training with clip dataset Aug 7, 2026
@imprsnst
imprsnst merged commit 66d57d4 into main Aug 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant