Signed-off-by: Lucas Wilkinson <lwilkins@redhat.com> Signed-off-by: Matthew Bonanni <mbonanni@redhat.com> Co-authored-by: Martin Kukla <martin.kukla@cantab.net> Co-authored-by: Matthew Bonanni <mbonanni@redhat.com> Co-authored-by: Dipika Sikka <dsikka@redhat.com> Co-authored-by: NickLucche <nlucches@redhat.com> Co-authored-by: jiahanc <173873397+jiahanc@users.noreply.github.com> Co-authored-by: Alec Kohlhoff <134344302+aleckohlhoff@users.noreply.github.com> Co-authored-by: Porras Huang <20535584+porrashuang@users.noreply.github.com> Co-authored-by: Claude <noreply@anthropic.com> Co-authored-by: scoootscooob <167050519+scoootscooob@users.noreply.github.com>
27 lines
1007 B
Python
27 lines
1007 B
Python
# SPDX-License-Identifier: Apache-2.0
|
|
# SPDX-FileCopyrightText: Copyright contributors to the vLLM project
|
|
"""Configuration for discrete diffusion (dLLM) models."""
|
|
|
|
from pydantic import Field
|
|
|
|
from vllm.config.utils import config
|
|
|
|
|
|
@config
|
|
class DiffusionConfig:
|
|
"""Configuration for discrete diffusion language models (dLLMs).
|
|
|
|
dLLMs generate tokens via iterative denoising over a fixed-length canvas
|
|
rather than left-to-right autoregressive decoding. They reuse the
|
|
speculative-decoding data path (draft token ids, scheduled spec decode
|
|
tokens) with overloaded semantics for block-based generation.
|
|
"""
|
|
|
|
canvas_length: int = Field(default=None, gt=0) # type: ignore[assignment]
|
|
"""Length of the denoising canvas (block). Also determines the number of
|
|
speculative tokens scheduled per step."""
|
|
|
|
max_denoising_steps: int | None = None
|
|
"""Maximum number of denoising iterations per canvas block.
|
|
If not set, read from the model's generation_config.json."""
|