Skip to content

test: add Krea NFT async OCR e2e - #243

Draft
zhihengy wants to merge 3 commits into
feat/async-trainingfrom
ci/krea2-nft-async-e2e
Draft

test: add Krea NFT async OCR e2e#243
zhihengy wants to merge 3 commits into
feat/async-trainingfrom
ci/krea2-nft-async-e2e

Conversation

@zhihengy

@zhihengy zhihengy commented Sep 9, 2026

Copy link
Copy Markdown
Collaborator

Adds the Krea-2-Raw DiffusionNFT OCR e2e and its four-rollout metric standard, stacked on #232 (feat/async-training). The canonical async recipe uses two FSDP training GPUs and two separate rollout GPUs; four rollouts cover the initial EMA batches, updated rollouts, and training against lagged EMA references. Registered in stage-c-5-gpu-h200 with the existing e2e label and strict metrics registry. The test launches scripts/run_diffusion_nft_krea2_async.py --reward ocr --num-rollout 4.

Recorded locally on four H200 GPUs, then independently rerun through the normal e2e check: all 10 metric series / 40 values matched exactly, both commands exited 0. Each rollout contains 64 samples; the recipe retains 1024px, 10 denoising steps, BF16, and LoRA rank 32. Pre-commit and registry discovery passed; GitHub pre-commit passed too.

The local run used cached model snapshot 4ad9f4b627a647fad78b3dfeebb09f2654aeb494, overriding only its location via MILES_SCRIPT_EXTRA_ARGS. Environment: PyTorch 2.11.0+cu129, CUDA 12.9, NCCL 2.28.9, FA3 3.0.0b1, Python 3.11.15, Ray 2.53.0, PaddleOCR 2.9.1, diffusers f53d552036a0d1bd5570782a39cd40cfabf112bc.

CI runner verification remains pending: the runner recording attempt failed before training with Hugging Face 403 / GatedRepoError. The runner needs Krea access or a pre-provisioned matching snapshot; cross-host agreement is not yet verified. PR CI also requires the repository's trusted approval or a maintainer-applied run-ci-* label.

The unchanged standard was also validated against the consolidated async + NCCL implementation in #232 (34209bedfbc500abedf043529bb8b40e2eb48b17) with SGLang #38540 (f25d5bba56a20bb80f606bc58424d1fc845f327b): all four full rollouts completed and all 40 values matched exactly. The CI override below selects the NCCL-capable runtime required by the updated base.

The test now uses the standalone async launcher from #232. CI discovery and mocked registry-to-CLI dispatch passed, as did pre-commit. Its training arguments match the previously validated async launcher; the metric standard is unchanged. GPU training was not rerun for this launcher extraction.

ci-sglang-pr: #38540

@zhihengy
zhihengy marked this pull request as ready for review September 11, 2026 18:11
@zhihengy
zhihengy marked this pull request as draft September 11, 2026 18:23
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