Skip to content

Commit 0674d1f

Browse files
Wangbei25Wangbei25
andauthored
[PluggableLayer][MM] Add PluggableLayer for CustomQwen2Decoder (vllm-project#37293)
Signed-off-by: Wangbei25 <wangbei41@huawie.com> Signed-off-by: Wangbei25 <wangbei41@huawei.com> Co-authored-by: Wangbei25 <wangbei41@huawie.com>
1 parent 30108fc commit 0674d1f

2 files changed

Lines changed: 17 additions & 4 deletions

File tree

docs/design/custom_op.md

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,11 +51,8 @@ For example:
5151
**1. Attention:**
5252

5353
```python
54-
--8<-- "vllm/model_executor/layers/attention/mm_encoder_attention.py:mm_encoder_attn"
55-
5654
--8<-- "vllm/model_executor/layers/mla.py:multi_head_latent_attention"
5755

58-
--8<-- "vllm/model_executor/models/deepencoder.py:rel_pos_attention"
5956
```
6057

6158
**2. Activation:**
@@ -170,6 +167,16 @@ For example:
170167
--8<-- "vllm/model_executor/layers/rotary_embedding/common.py:apply_rotary_emb"
171168
```
172169

170+
**12. Encoder:**
171+
172+
```python
173+
--8<-- "vllm/model_executor/models/deepencoder2.py:qwen2_decoder"
174+
175+
--8<-- "vllm/model_executor/layers/attention/mm_encoder_attention.py:mm_encoder_attn"
176+
177+
--8<-- "vllm/model_executor/models/deepencoder.py:rel_pos_attention"
178+
```
179+
173180
## Guidelines for Implementing a New CustomOp
174181

175182
### Implement a New CustomOp in vLLM

vllm/model_executor/models/deepencoder2.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,20 @@
1414
import torch.nn as nn
1515
import transformers
1616

17+
from vllm.model_executor.custom_op import PluggableLayer
1718

18-
class CustomQwen2Decoder(nn.Module):
19+
20+
# --8<-- [start:qwen2_decoder]
21+
@PluggableLayer.register("qwen2_decoder")
22+
class CustomQwen2Decoder(PluggableLayer):
1923
"""
2024
Qwen2 visual encoder
2125
non-causal attention + causal attention
2226
token_type_ids :0=non-causal, 1=causal
2327
"""
2428

29+
# --8<-- [end:qwen2_decoder]
30+
2531
def __init__(
2632
self,
2733
decoder_layer: int = 24,

0 commit comments

Comments
 (0)