Skip to content

QVAC-26894 feat(audiogen): add experimental full MiniMax Core ML replay - #364

Merged
freddy311082 merged 2 commits into
masterfrom
QVAC-26894/minimax-full-coreml-validation
Oct 23, 2026
Merged

freddy311082 merged 2 commits into
masterfrom
QVAC-26894/minimax-full-coreml-validation

Conversation

@freddy311082

@freddy311082 freddy311082 commented Oct 22, 2026 •

Copy link
Copy Markdown

MiniMax-Music3 has an experimental full Core ML replay route in C++/Objective-C++. The LM, depth decoder, feedback, conditioner, DiT and vocoder use the native Core ML API, with one selected configuration applied to all 90 resident programs: CPU_ONLY, CPU_AND_GPU, CPU_AND_NE or ALL.

The route is explicitly compiled with MM3_ANE_VALIDATION. Standard builds keep their existing native execution and optional conditioner sidecar. The replay writes stage timings separately from model loading, generated WAV/codes/latents, and initial AR probes.

The exporter preserves the original F16 weights, uses stable RMS/SiLU and an unscaled gated down projection, and supports separate conversion profiles and two-block LM experiments. Compiled vocoder reuse now validates the requested precision; mismatched or unknown cached precision fails visibly. Both README levels and the validation guide document build commands, profile composition and numerical limitations.

Measured on the same caption, original weights, seed 7, eight flow steps and 150 AR frames, producing 5.99-second stereo PCM16 WAVs at 44.1 kHz:

Core ML configuration M1 Ultra load M1 Ultra generation M3 Ultra load M3 Ultra generation
CPU_ONLY 148.645 s 105.214 s 53.588 s 89.125 s
CPU_AND_GPU 120.593 s 2435.390 s 17.860 s 48.779 s
CPU_AND_NE 403.591 s 898.795 s 132.476 s 47.201 s
ALL 283.587 s 948.067 s 134.236 s 62.435 s

Each configuration used a fresh process and its first generation, sequentially per Mac; OS/file/compiler caches could be reused. macOS and SDK versions differ between Macs. The final M3 CPU_ONLY run was repeated after disk-cache cleanup; the earlier disk-full attempt is excluded. The detailed measurements are checked into engines/audiogen/docs/minimax-coreml-20261022.csv.

Validation:

  • All eight full runs completed with finite latents and no nonfinite candidate logits.
  • CPU_AND_GPU passed the existing initial hidden-state and semantic-logit thresholds against native Metal on both Macs: relative RMS <= 0.002 and cosine >= 0.9999.
  • 15 model tests, 8 exporter/conversion/cache tests, and 3 CLI tests passed. The CLI tests cover all four accepted options, the existing default, and invalid input.
  • Fresh standard CMake library/replay build and separate experimental C++/Objective-C++ build passed; four native MiniMax CTests passed.
  • pr-self-review completed with the confirmed vocoder-cache finding fixed and no new High/Medium findings in the fresh pass. vcpkg baselines are preserved.

Remaining experimental limitations: CPU_ONLY and the ANE configurations fail the initial numerical comparison. Full waveform equivalence and perceptual quality are unconfirmed. M1 GPU/ANE generation remains slow. The M3 CPU_AND_NE and ALL runs emitted ANE compiler diagnostics after generation; the permitted compute-unit configuration alone does not prove actual ANE placement or exclusive GPU execution.

Monorepo validation: On PR Trigger (nx), AudioGen. The workflow selects AudioGen prebuilds, C++ tests and desktop integration from the exact monorepo source commit.

All three CI branches use QVAC-26894/minimax-full-coreml-validation:

  • Fabric: 6e3f0d76aa9c7dfa294cd66bcd5ce73580d0a3c3 (this PR).
  • Registry: c45cc9cda3f25fc155bd106269d66d3a0e485cfa; speech-cpp version 2026-10-21#3 pins that Fabric commit and its verified archive SHA512.
  • Monorepo: 02171c091522f01a6ac657af32481a1bf0fa9cbf; AudioGen selects the registry branch and exact port version, preserving every vcpkg-configuration.json baseline.

Registry and monorepo currently have CI branches; their PRs follow the dependency merge sequence.

@freddy311082
freddy311082 requested review from a team as code owners October 22, 2026 20:23
@github-actions

github-actions Bot commented Oct 22, 2026 •

Copy link
Copy Markdown

Review Status

Current Status: ✅ APPROVED
Approvals so far: Team Lead: 1, Member: 1

@freddy311082
freddy311082 merged commit faed3c8 into master Oct 23, 2026
25 checks passed
@freddy311082
freddy311082 deleted the QVAC-26894/minimax-full-coreml-validation branch October 23, 2026 11:58
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.

3 participants