[Core] Registry for processing model inputs (#5214)
Co-authored-by: ywang96 <ywang@roblox.com>
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
.. _input_processing_pipeline:
|
||||
|
||||
Input Processing Pipeline
|
||||
=========================
|
||||
|
||||
1. Input data is passed to :class:`~vllm.LLMEngine` (or :class:`~vllm.AsyncLLMEngine`).
|
||||
|
||||
2. Tokenize the data if necessary.
|
||||
|
||||
3. Process the inputs using :meth:`INPUT_REGISTRY.process_input <vllm.inputs.registry.InputRegistry.process_input>`.
|
||||
|
||||
- For example, add placeholder tokens to reserve KV cache for multi-modal embeddings.
|
||||
|
||||
4. Send the processed inputs to :class:`~vllm.executor.executor_base.ExecutorBase`.
|
||||
|
||||
5. Distribute the inputs via :class:`~vllm.worker.worker_base.WorkerBase` to :class:`~vllm.worker.model_runner_base.ModelRunnerBase`.
|
||||
|
||||
6. If the data contains multi-modal data, convert it into keyword arguments using :meth:`MULTIMODAL_REGISTRY.map_input <vllm.multimodal.MultiModalRegistry.map_input>`.
|
||||
|
||||
- For example, convert a :class:`PIL.Image.Image` input to its pixel values for a vision language model.
|
||||
39
docs/source/dev/input_processing/model_inputs_index.rst
Normal file
39
docs/source/dev/input_processing/model_inputs_index.rst
Normal file
@@ -0,0 +1,39 @@
|
||||
.. _input_processing:
|
||||
|
||||
Input Processing
|
||||
================
|
||||
|
||||
.. currentmodule:: vllm.inputs
|
||||
|
||||
vLLM provides a mechanism for defining input processors for each model so that the inputs are processed
|
||||
in :class:`~vllm.LLMEngine` before they are passed to model executors.
|
||||
|
||||
Currently, this mechanism is only utilized in **multi-modal models** for preprocessing multi-modal input
|
||||
data in addition to input prompt, but it can be extended to text-only language models when needed.
|
||||
|
||||
Guides
|
||||
++++++
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
input_processing_pipeline
|
||||
|
||||
Module Contents
|
||||
+++++++++++++++
|
||||
|
||||
LLM Engine Inputs
|
||||
-----------------
|
||||
|
||||
.. autoclass:: vllm.inputs.LLMInputs
|
||||
:members:
|
||||
:show-inheritance:
|
||||
|
||||
Registry
|
||||
--------
|
||||
|
||||
.. autodata:: vllm.inputs.INPUT_REGISTRY
|
||||
|
||||
.. automodule:: vllm.inputs.registry
|
||||
:members:
|
||||
:show-inheritance:
|
||||
Reference in New Issue
Block a user