Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
OpenDAS
vllm_cscc
Commits
6a854c7a
Unverified
Commit
6a854c7a
authored
Feb 14, 2025
by
Nick Hill
Committed by
GitHub
Feb 14, 2025
Browse files
[V1][Sampler] Don't apply temp for greedy-only (#13311)
Signed-off-by:
Nick Hill
<
nhill@redhat.com
>
parent
e7eea5a5
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
15 additions
and
9 deletions
+15
-9
vllm/v1/sample/sampler.py
vllm/v1/sample/sampler.py
+15
-9
No files found.
vllm/v1/sample/sampler.py
View file @
6a854c7a
...
...
@@ -41,8 +41,6 @@ class Sampler(nn.Module):
logits
=
self
.
apply_logits_bias
(
logits
,
sampling_metadata
)
# Apply penalties (e.g., min_tokens, freq_penalties).
logits
=
self
.
apply_penalties
(
logits
,
sampling_metadata
)
# Apply temperature.
logits
=
self
.
apply_temperature
(
logits
,
sampling_metadata
.
temperature
)
# Sample the next token.
sampled
=
self
.
sample
(
logits
,
sampling_metadata
)
...
...
@@ -82,9 +80,21 @@ class Sampler(nn.Module):
)
->
torch
.
Tensor
:
assert
not
(
sampling_metadata
.
all_greedy
and
sampling_metadata
.
all_random
)
if
sampling_metadata
.
all_random
:
greedy_sampled
=
None
else
:
greedy_sampled
=
self
.
greedy_sample
(
logits
)
if
sampling_metadata
.
all_greedy
:
return
self
.
greedy_sample
(
logits
)
return
greedy_sample
d
# Apply temperature.
logits
=
self
.
apply_temperature
(
logits
,
sampling_metadata
.
temperature
)
# Apply min_p.
if
not
sampling_metadata
.
no_min_p
:
logits
=
self
.
apply_min_p
(
logits
,
sampling_metadata
.
min_p
)
# Apply top_k and/or top_p.
random_sampled
=
self
.
topk_topp_sampler
(
logits
,
sampling_metadata
.
generators
,
...
...
@@ -94,13 +104,9 @@ class Sampler(nn.Module):
sampling_metadata
.
top_p
,
)
if
not
sampling_metadata
.
no_min_p
:
logits
=
self
.
apply_min_p
(
logits
,
sampling_metadata
.
min_p
)
if
sampling_metadata
.
all_random
:
if
greedy_sampled
is
None
:
return
random_sampled
greedy_sampled
=
self
.
greedy_sample
(
logits
)
sampled
=
torch
.
where
(
sampling_metadata
.
temperature
<
_SAMPLING_EPS
,
greedy_sampled
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment