[Bugfix] Fix Fish Speech startup on vLLM 0.18.0 - missing architectures#2166
[Bugfix] Fix Fish Speech startup on vLLM 0.18.0 - missing architectures#2166linyueqian wants to merge 2 commits into
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 0fe68c8da6
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| from vllm.transformers_utils.config import get_config | ||
|
|
||
| try: | ||
| hf_cfg = get_config(self.model, trust_remote_code=self.trust_remote_code) |
There was a problem hiding this comment.
Avoid loading Hugging Face config twice during startup
This new pre-check calls get_config(...) before super().create_model_config(), and EngineArgs.create_model_config() will load the HF config again when constructing the vLLM ModelConfig. For stages that set model_arch and have no hf_overrides, this adds an extra remote/local config load per stage, which increases startup time and can introduce avoidable transient fetch failures for multi-stage pipelines. Prefer reusing a single loaded config or injecting/merging architectures without a second fetch path.
Useful? React with 👍 / 👎.
|
@Sy0307 is this patch necessary? strange that i need to add this for fish speech. |
When a model's config.json lacks the `architectures` field (e.g. Fish Speech s2-pro), vLLM 0.18.0's ModelConfig.__init__ raises "No model architectures are specified". The stage config already specifies `model_arch` but it was only used after ModelConfig creation, which is too late. Now injects `model_arch` via `hf_overrides` before calling super().create_model_config(). No extra config load needed — hf_overrides merges cleanly when architectures already exists. Tested with Fish Speech s2-pro and Qwen3-TTS. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Signed-off-by: linyueqian <linyueqian@outlook.com>
0fe68c8 to
dd0f833
Compare
|
Please see #1898. Looks like we don't need it? |
When I am checking out vllm 0.18.0, the same issue occured. This PR is necessary for me. |
|
cc @princepride |
|
I will check it later. |
|
I believe this fix may not solve the real problem, because when we already give the model's architecture, there is no sense we need |
|
The model_arch in the YAML does not take effect during vLLM's base ModelConfig.init phase. Timing issue:
model_arch only takes effect after step 5 (via the OmniModelConfig.architectures property override + the hf_config.architectures write-back), but because the |
|
Closing in favor of #2178 which was already merged with an equivalent fix. |
Pull request was closed
Summary
Fix Fish Speech (and other models without
architecturesin config.json) failing to start on vLLM 0.18.0.vLLM 0.18.0 now requires
architecturesin the model config. Fish Speech s2-pro's config.json doesn't have this field, but the stage config already specifiesmodel_arch. This fix auto-injectsmodel_archintohf_overridesbeforeModelConfigcreation.Test plan
Tested with s2-pro on A100, offline inference produces valid 1.02s audio @ 44.1kHz.