Skip to content

[V0 Deprecation] Drop V0 encoder-decoder runner#23300

Closed
WoosukKwon wants to merge 1 commit into
mainfrom
codex/remove-v0-encoder-decoder-model
Closed

[V0 Deprecation] Drop V0 encoder-decoder runner#23300
WoosukKwon wants to merge 1 commit into
mainfrom
codex/remove-v0-encoder-decoder-model

Conversation

@WoosukKwon
Copy link
Copy Markdown
Collaborator

Summary

  • remove encoder-decoder model runner and utils
  • delete encoder-decoder examples and tests
  • drop encoder-decoder models from registry and docs

Testing

  • pre-commit run --files docs/models/supported_models.md tests/core/block/test_block_manager.py tests/models/registry.py tests/models/test_registry.py tests/test_config.py tests/test_inputs.py vllm/model_executor/models/registry.py vllm/worker/worker.py (failed: command not found)
  • pip install pre-commit (failed: Tunnel connection failed: 403 Forbidden)
  • pytest tests/test_inputs.py::test_parse_single_batch_empty -q (failed: ModuleNotFoundError: No module named 'torch')

https://chatgpt.com/codex/tasks/task_b_68a521482e3c832db72d14979dc1ff68

@mergify mergify Bot added documentation Improvements or additions to documentation llama Related to Llama models multi-modality Related to multi-modality (#4194) new-model Requests to new models labels Aug 21, 2025
Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request effectively removes the generic encoder-decoder model runner and its associated utilities, tests, and documentation. The changes are consistent with the goal of dropping this functionality. My review focuses on ensuring the removal is clean and complete. I've identified one area where there might be leftover code that could be removed to improve maintainability.

Comment thread tests/test_config.py Outdated
Comment on lines 299 to 304
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

With the removal of the generic encoder-decoder runner, the is_encoder_decoder property on ModelConfig appears to be obsolete. Its primary user in vllm/worker/worker.py has been removed.

This test now only checks that two decoder-only models are not encoder-decoder models, which provides limited value.

If ModelConfig.is_encoder_decoder is no longer used throughout the codebase, it should be removed from ModelConfig to avoid confusion and dead code. Consequently, this test should also be removed. If the property is still used by specialized models (e.g., Whisper), this test should be updated to include positive test cases for those models to ensure its functionality is still correctly verified.

@WoosukKwon WoosukKwon changed the title chore: drop encoder-decoder runner [Chore] Drop V0 encoder-decoder runner Aug 21, 2025
@github-actions
Copy link
Copy Markdown

👋 Hi! Thank you for contributing to the vLLM project.

💬 Join our developer Slack at https://slack.vllm.ai to discuss your PR in #pr-reviews, coordinate on features in #feat- channels, or join special interest groups in #sig- channels.

Just a reminder: PRs would not trigger full CI run by default. Instead, it would only run fastcheck CI which starts running only a small and essential subset of CI tests to quickly catch errors. You can run other CI tests on top of those by going to your fastcheck build on Buildkite UI (linked in the PR checks section) and unblock them. If you do not have permission to unblock, ping simon-mo or khluu to add you in our Buildkite org.

Once the PR is approved and ready to go, your PR reviewer(s) can run CI to test the changes comprehensively before merging.

To run CI, PR reviewers can either: Add ready label to the PR or enable auto-merge.

🚀

@WoosukKwon WoosukKwon changed the title [Chore] Drop V0 encoder-decoder runner [V0 Deprecation] Drop V0 encoder-decoder runner Aug 21, 2025
Signed-off-by: Woosuk Kwon <woosuk@thinkingmachines.ai>
@WoosukKwon WoosukKwon force-pushed the codex/remove-v0-encoder-decoder-model branch from cef656e to 8b7946d Compare August 21, 2025 02:55
@DarkLight1337
Copy link
Copy Markdown
Member

This is one of the last use cases which V1 still doesn't support, so I think we should drop this last

@WoosukKwon
Copy link
Copy Markdown
Collaborator Author

@DarkLight1337 We don't plan to continue support these models.

@DarkLight1337
Copy link
Copy Markdown
Member

DarkLight1337 commented Aug 21, 2025

#21088 should enable it for Whisper at least, it is getting close to being ready

@WoosukKwon
Copy link
Copy Markdown
Collaborator Author

@DarkLight1337 Oh right. Whisper is the only exception. I can wait until the PR is merged.

@russellb
Copy link
Copy Markdown
Member

@DarkLight1337 Oh right. Whisper is the only exception. I can wait until the PR is merged.

bart will be a pretty small addition on top, i think. Maybe wait to see how it looks? I was going to look at it next.

@hmellor hmellor moved this to In Progress in V0 Deprecation Aug 25, 2025
@hmellor
Copy link
Copy Markdown
Member

hmellor commented Aug 25, 2025

With more progress on the Transformers backend side we may be able to run the encoder in Transformers (Transformers can handle any encoder caching) and then the decoder in vLLM (via Transformers backend) where we pass the embeddings from the encoder directly into the decoder in vLLM.

I can't say for certain exactly how this will work as there's a massive ongoing refactor to allow us to swap out the attention module for the vLLM attention module in encoder-decoder models. Unfortunately I don't have a timeline for when this will be ready.

@mergify
Copy link
Copy Markdown
Contributor

mergify Bot commented Aug 26, 2025

This pull request has merge conflicts that must be resolved before it can be
merged. Please rebase the PR, @WoosukKwon.

https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/syncing-a-fork

@mergify mergify Bot added the needs-rebase label Aug 26, 2025
@WoosukKwon
Copy link
Copy Markdown
Collaborator Author

@russellb please don't do it. We will not support any encoder decoder model besides Whisper. Whisper is the ONLY exception.

@russellb
Copy link
Copy Markdown
Member

@russellb please don't do it. We will not support any encoder decoder model besides Whisper. Whisper is the ONLY exception.

Got it - was just looking to close gaps for things I know people are using (unfortunately)

Copy link
Copy Markdown
Member

@NickLucche NickLucche left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think @russellb 's PR is still relying on a bunch of these tests to ensure correctness.
Can we factor them out to make sure the eventual whisper addition still has reasonable test coverage?

@WoosukKwon WoosukKwon closed this Sep 15, 2025
@github-project-automation github-project-automation Bot moved this from In Progress to Done in V0 Deprecation Sep 15, 2025
@hmellor hmellor deleted the codex/remove-v0-encoder-decoder-model branch September 15, 2025 20:18
@russellb
Copy link
Copy Markdown
Member

@WoosukKwon would you like me to pick this up?

@hmellor
Copy link
Copy Markdown
Member

hmellor commented Sep 16, 2025

Looks like this work was moved to a new PR (already merged) #24907

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation llama Related to Llama models multi-modality Related to multi-modality (#4194) needs-rebase new-model Requests to new models

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

6 participants