Skip to content

Cosmos / H3: a first distributed training experiment

Research record · 2026-09-09 · Limited experiment

We split the language layers of a locally converted Cosmos-Reason2-2B model across two 16 GiB M4 Macs and ran three LoRA updates over Tailscale. On a separate AMD GPU, we tested backward computation through one pretrained MiniMax H3 block. These are working experiments, not a trained-model release or evidence of improved video quality.

Cosmos: forward, backward and recovery across two Macs

Each Mac handled 14 of 28 language layers. The base was frozen at 4 bits; rank-4 adapters trained the query and value projections. Visual features came from one synthetic 224×224 image: 145 tokens, with 15 supervised tokens. Loss across three updates was 3.766879 → 3.322206 → 2.630323. This single-sample reduction does not establish generalization.

Initial gradients differed from a single-node run of the same converted model by relative L2 errors of about 0.0039% and 0.0023%. After deliberately disconnecting the transport, we restored the last common checkpoint. Final adapter and Adam-state tensors matched the no-fault distributed run with zero numerical difference on both stages. Other failure points and global atomic checkpoint recovery remain unqualified.

For this short input only, steady updates took about 0.71–0.75 seconds and exchanged about 2.38 MB of activations and gradients. The measured MLX allocation peak was about 1.96 GB per rank; process RSS reached about 2.32 GB. GB here is decimal. These are not whole-system memory limits or video throughput estimates.

H3: one real block on AMD

We retrieved only the first block from the public MiniMax H3 checkpoint: 645,571,840 base parameters. Its frozen BF16 weights and 100,352 trainable LoRA parameters completed two updates on Radeon 8060S, with finite nonzero input and adapter gradients. The measured GPU allocation peak was 1.46 GB.

This used 32 synthetic hidden-state tokens, not video data. Its synthetic loss increased, so no quality improvement is claimed. H3 full-model distributed training, upstream numerical parity, and end-to-end inference on 16/32 GiB devices remain unverified.

What comes next

The Cosmos prototype still loads the entire 2B model on each node at startup. Before larger models, we need a loader that reads only assigned layers, stronger checkpoint identity and recovery, and a fixed holdout evaluation. H3 next requires block-level numerical parity, stage-gradient comparison and AMD/Mac operator qualification before real cached video latents and the full transformer.

The experiment used upstream MLX and PyTorch research harnesses. It does not establish a Kotoba-native training runtime or an always-on training service. Cosmos-Predict2.5 access remains a separate prerequisite; Reason2 results do not qualify Predict2.5 or Cosmos3 Edge.

Evidence

Method and detailed results · Evidence SHA-256 manifest

Cosmos numerical comparison · H3 block results

Recovery stage A · Recovery stage B

Cosmos research harness · H3 research harness