Support official VibeVoice 1.5B checkpoint - #726
Conversation
Resolve the official legacy checkpoint against pinned Transformers-native config and processor sidecars while retaining official weights and provenance. Reject distinct unimplemented VibeVoice collection architectures explicitly. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Signed-off-by: Justin Chu <justinchuby@users.noreply.github.com>
Performance Comparison
|
There was a problem hiding this comment.
🟢 Approval recommended
The change is well-scoped, heavily tested across builder/CLI/weight-alignment paths, and only minor nits remain.
Pull request overview
Adds first-class support for the official microsoft/VibeVoice-1.5B checkpoint while preserving official checkpoint identity/weights and pinning only the required Transformers-native sidecar assets (config/processor) from the HF conversion mirror. This integrates the new provenance model into both the Transformers builder and the CLI runtime-asset selection so exports remain reproducible and fail-closed for unimplemented VibeVoice collection entries.
Changes:
- Introduces a pinned VibeVoice source resolver + official→native weight key conversion path, and threads it through the Transformers build flow (config probing, metadata, and weight preprocessing).
- Updates CLI/runtime config emission to optionally download processor assets from the pinned sidecar source without changing the requested checkpoint provenance.
- Expands unit/integration/golden coverage to validate identity preservation, sidecar pinning behavior, unsupported-ID rejection, and official index key mapping.
File summaries
| File | Description |
|---|---|
| tests/weight_alignment_test.py | Adds an integration test ensuring the official safetensors index keys map 1:1 onto the pinned HF-native conversion layout. |
| tests/vibevoice_golden_test.py | Routes config/processor resolution through the pinned sidecar source for golden/parity runs while building from the official checkpoint target. |
| tests/cli_test.py | Verifies CLI build preserves requested model identity and that runtime assets can be sourced from the pinned processor sidecar. |
| src/mobius/models/vibevoice.py | Adds VibeVoiceSources, resolves official vs executable sources, and implements official weight key conversion + collision protection. |
| src/mobius/models/vibevoice_test.py | Adds unit tests for source resolution, revision pinning, unsupported model rejection, and key conversion correctness. |
| src/mobius/integrations/transformers/_builder.py | Uses resolve_vibevoice_sources to separate checkpoint provenance from executable sidecars and passes layout info into preprocess_weights. |
| src/mobius/integrations/transformers/_builder_test.py | Adds regression tests ensuring official VibeVoice uses pinned sidecars while downloading official weights; validates fail-closed behavior. |
| src/mobius/main.py | Pins the early Diffusers probe for official VibeVoice and introduces _runtime_asset_source to select processor downloads from metadata. |
| docs/model-catalog.md | Updates catalog entry and documents the official checkpoint + pinned sidecar behavior and explicit rejection of unimplemented collection IDs. |
Review details
- Files reviewed: 9/9 changed files
- Comments generated: 1
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Reference the follow-up issue for replacing the temporary community sidecar dependency when Microsoft publishes pinned HF-native sidecars. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 000b46be-a743-47cb-a063-dc3e16cc03d4 Signed-off-by: Justin Chu <justinchuby@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Signed-off-by: Justin Chu <justinchuby@users.noreply.github.com>
Summary
microsoft/VibeVoice-1.5B@c00898da pinned direct build target while retaining its official weights and model identityvibevoice/VibeVoice-1.5B-hf@edc39f8Validation