Skip to content

Conversation

@WoosukKwon
Copy link
Collaborator

This PR fixes a bug in supporting OPT-350m/OPT-6.7b/OPT-13b and OPT-IML models.

The bug happened because our model code didn't include some methods that were required to tie the input and output embeddings.

@WoosukKwon WoosukKwon merged commit cbf8779 into main Feb 25, 2023
@WoosukKwon WoosukKwon deleted the fix-opt branch February 25, 2023 00:29
CZT0 referenced this pull request in semedia-tech/vllm Sep 11, 2023
orangetin referenced this pull request in togethercomputer/vllm-ttgi Sep 14, 2023
add rope scaling as a cli arg so openai server can load rope scaled models
xiangyuT pushed a commit to xiangyuT/vllm that referenced this pull request Oct 18, 2023
bigPYJ1151 added a commit to bigPYJ1151/vllm that referenced this pull request Oct 30, 2023
l1cacheDell pushed a commit to CaspianFang/vllm that referenced this pull request Nov 15, 2023
hongxiayang referenced this pull request in hongxiayang/vllm Feb 13, 2024
ilya-lavrenov referenced this pull request in ilya-lavrenov/vllm Feb 19, 2024
Deterministic OpenVINO inference
daniel-geon-park added a commit to gmlwns2000/vllm-timber that referenced this pull request Apr 15, 2024
mzusman pushed a commit to mzusman/vllm that referenced this pull request Apr 16, 2024
BA-78554: Jurassic 2.5

* worked on jurasic2.5 configuration file, updated jurassic2_5 modeling file to support alternating experts/attn layers

* finished working the forward pass of jurassic3.py

* finished working the forward pass of jurassic3.py

* finished working the forward pass of jurassic3.py

* jurassic_3 modeling file works, uses dummy weights initialized by "dummy" flag. Tokenizer raises issues, for now copying the mixtral tokenizer

* changed default tokenizer vocab values, loading of custom .pt weight files works.

* removed notebook

* merging master to jurassic-2.5 to reset head

* Merge branch 'master' into jurassic-2.5

* align to master

Approved-by: Tomer Asida
Approved-by: Mor Zusman
Bellk17 added a commit to Bellk17/vllm that referenced this pull request May 10, 2024
ykim362 referenced this pull request in ykim362/vllm Jun 17, 2024
Group Gemm Version
bbartels pushed a commit to bbartels/vllm that referenced this pull request Aug 14, 2025
yuz207 referenced this pull request in IluvatarLabs/vllm Sep 27, 2025
Bug #1 (CRITICAL): Add missing begin() and stage() methods to KVWriteRouter
- Flash attention backend calls router.begin() and router.stage()
- KVWriteRouter only had write() and commit() methods
- Added begin() to store slot_mapping and initialize shadow buffer
- Added stage() to extract per-timestep slot and stage KV pairs
- Without these, no tokens were being staged → 0% acceptance rate

Bug #2 (MODERATE): Fix bonus token counting in accepted_lens
- valid_sampled_token_ids includes [accepted_draft_tokens..., bonus_token]
- Previous: len([bonus]) = 1, incorrectly counted as 1 accepted draft token
- Fixed: Use max(0, len(seq) - 1) to exclude bonus token from count
- Now correctly reports 0 accepted when only bonus token is present

Files modified:
- vllm/v1/kv_cache/write_router.py: Added begin() and stage() methods
- vllm/v1/worker/gpu_model_runner.py: Fixed accepted_lens calculation
yuz207 referenced this pull request in IluvatarLabs/vllm Sep 27, 2025
Bug #1: EAGLE tree proposal returned zeros for draft_logprobs
- Root cause: When using topk for tree branching, code set draft_logp_list=None,
  then created zeros tensor as fallback (lines 850-851)
- Fix: Compute actual log-probs from logits using log_softmax + gather
- Applied at 2 locations: root level (lines 698-704) and tree levels (lines 839-846)

Bug #2: Added diagnostic logging in rejection sampler
- Log draft_p (nonzero) min/med/max to detect zeros
- Log p_target min/med/max to detect degenerate softmax
- Helps identify if target logits are masked/filtered before sampling

Expected results after fix:
- draft_logp: -3.2/-1.6/-0.0 (real log-probs, all ≤ 0) instead of 0/0/0
- p_target: 1e-6/1e-3/0.7 (realistic distribution) instead of 1/1/1
- Acceptance rate: 30-70% instead of 0%

Files changed:
- vllm/v1/spec_decode/eagle.py: Fix draft_logp computation
- vllm/v1/sample/rejection_sampler.py: Add sanity logging
yuz207 referenced this pull request in IluvatarLabs/vllm Sep 30, 2025
CRITICAL FIX: tau_d was reading draft_temperature (0.05) instead of
target temperature from sampling_metadata (1.0).

This caused:
- tau_q = 0.05 + 0.3 = 0.35 (before)
- Logit gap = 10/0.35 = 28.6 → exp(-28.6) ≈ 0 (underflow!)
- q collapses to 0.98-1.0

After fix:
- tau_d = 1.0 (from sampling_metadata.temperature)
- tau_q = 1.0 + 0.3 = 1.3
- Logit gap = 10/1.3 = 7.7 → exp(-7.7) = 0.00045 (survives!)
- q should be in [0.5, 0.8] range

Changes:
- propose(): Store sampling_metadata as self._current_sampling_metadata
- _sample_draft_tokens(): Read tau_d from sampling_metadata, not opt_config
Pradyun92 pushed a commit to Pradyun92/vllm that referenced this pull request Oct 20, 2025
Enhanced documentation for plugin patches:

1. Patch vllm-project#1 (Usage Tracking Helper):
   - Clarified as OPTIONAL (has fallback in harmony streaming patch)
   - Changed from "REQUIRED" to "OPTIONAL"
   - Explained fallback mechanism in patched_stream_method.py
   - Marked as upstreamable (minor utility addition)

2. Patch vllm-project#3 (Harmony Token-by-Token Streaming):
   - Added detailed speculative decoding context
   - Explained Eagle draft model generates 5-10 tokens per step
   - Documented specific failures with batch processing:
     * Tool calling broken
     * Multi-channel content lost
     * Token truncation during channel transitions
   - Added before/after code examples
   - Linked to PR vllm-project#26291 (Eagle3 Multi-Channel Streaming Fix)
   - Documented upstream status and removal plan

Key insight: This patch exists because Eagle speculative decoding
returns multiple tokens per step, and upstream's batch processing
can't handle per-token channel switching.

Signed-off-by: Pradyun Ramadorai <[email protected]>
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