Skip to content

Commit de533ab

Browse files
authored
[Models] Improve iteration over layers (#19497)
Signed-off-by: Lukas Geiger <[email protected]>
1 parent 235c9db commit de533ab

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

65 files changed

+129
-83
lines changed

vllm/model_executor/models/arcee.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
# activation.
1010

1111
from collections.abc import Iterable
12+
from itertools import islice
1213
from typing import Any, Optional, Union
1314

1415
import torch
@@ -243,7 +244,7 @@ def forward(
243244

244245
aux_hidden_states: list[torch.Tensor] = []
245246
for idx, layer in enumerate(
246-
self.layers[self.start_layer:self.end_layer]):
247+
islice(self.layers, self.start_layer, self.end_layer)):
247248
if idx in self.aux_hidden_state_layers:
248249
aux_hidden_states.append(
249250
hidden_states +

vllm/model_executor/models/arctic.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
# SPDX-FileCopyrightText: Copyright contributors to the vLLM project
33
"""Inference-only Snowflake Arctic model."""
44
from collections.abc import Iterable
5+
from itertools import islice
56
from typing import Optional, Union
67

78
import torch
@@ -403,7 +404,7 @@ def forward(
403404
else:
404405
assert intermediate_tensors is not None
405406
hidden_states = intermediate_tensors["hidden_states"]
406-
for layer in self.layers[self.start_layer:self.end_layer]:
407+
for layer in islice(self.layers, self.start_layer, self.end_layer):
407408
hidden_states = layer(positions, hidden_states)
408409
if not get_pp_group().is_last_rank:
409410
return IntermediateTensors({"hidden_states": hidden_states})

vllm/model_executor/models/baichuan.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
"""Inference-only BaiChuan model compatible with HuggingFace weights."""
2323
import math
2424
from collections.abc import Iterable
25+
from itertools import islice
2526
from typing import Optional, Union
2627

2728
import torch
@@ -309,7 +310,7 @@ def forward(
309310
assert intermediate_tensors is not None
310311
hidden_states = intermediate_tensors["hidden_states"]
311312
residual = intermediate_tensors["residual"]
312-
for layer in self.layers[self.start_layer:self.end_layer]:
313+
for layer in islice(self.layers, self.start_layer, self.end_layer):
313314
hidden_states, residual = layer(
314315
positions,
315316
hidden_states,

vllm/model_executor/models/bailing_moe.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
# limitations under the License.
2525
"""Inference-only BailingMoE model compatible with HuggingFace weights."""
2626
from collections.abc import Iterable
27+
from itertools import islice
2728
from typing import Optional, Union
2829

2930
import torch
@@ -359,8 +360,7 @@ def forward(
359360
hidden_states = intermediate_tensors["hidden_states"]
360361
residual = intermediate_tensors["residual"]
361362

362-
for i in range(self.start_layer, self.end_layer):
363-
layer = self.layers[i]
363+
for layer in islice(self.layers, self.start_layer, self.end_layer):
364364
hidden_states, residual = layer(
365365
hidden_states,
366366
position_ids,

vllm/model_executor/models/bamba.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -345,8 +345,7 @@ def forward(
345345

346346
residual = None
347347
num_attn = 0
348-
for i in range(len(self.layers)):
349-
layer = self.layers[i]
348+
for i, layer in enumerate(self.layers):
350349
if isinstance(layer, BambaAttentionDecoderLayer):
351350
num_attn += 1
352351

vllm/model_executor/models/bloom.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
"""Inference-only BLOOM model compatible with HuggingFace weights."""
2121
import math
2222
from collections.abc import Iterable
23+
from itertools import islice
2324
from typing import Optional, Union
2425

2526
import torch
@@ -273,7 +274,7 @@ def forward(
273274
else:
274275
assert intermediate_tensors is not None
275276
hidden_states = intermediate_tensors["hidden_states"]
276-
for layer in self.h[self.start_layer:self.end_layer]:
277+
for layer in islice(self.h, self.start_layer, self.end_layer):
277278
hidden_states = layer(position_ids, hidden_states)
278279
if not get_pp_group().is_last_rank:
279280
return IntermediateTensors({"hidden_states": hidden_states})

vllm/model_executor/models/chameleon.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33

44
from collections.abc import Iterable, Mapping, Sequence
55
from functools import cached_property
6+
from itertools import islice
67
from typing import Annotated, Any, Literal, Optional, Union
78

89
import torch
@@ -914,7 +915,7 @@ def forward(
914915
assert intermediate_tensors is not None
915916
hidden_states = intermediate_tensors["hidden_states"]
916917
residual = intermediate_tensors["residual"]
917-
for layer in self.layers[self.start_layer:self.end_layer]:
918+
for layer in islice(self.layers, self.start_layer, self.end_layer):
918919
hidden_states, residual = layer(
919920
positions,
920921
hidden_states,

vllm/model_executor/models/chatglm.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
"""Inference-only ChatGLM model compatible with THUDM weights."""
66
import json
77
from collections.abc import Iterable
8+
from itertools import islice
89
from typing import Optional, Union
910

1011
import torch
@@ -281,7 +282,7 @@ def forward(
281282
hidden_states: torch.Tensor,
282283
position_ids: torch.Tensor,
283284
) -> Union[torch.Tensor, IntermediateTensors]:
284-
for layer in self.layers[self.start_layer:self.end_layer]:
285+
for layer in islice(self.layers, self.start_layer, self.end_layer):
285286
hidden_states = layer(hidden_states=hidden_states,
286287
position_ids=position_ids)
287288

vllm/model_executor/models/commandr.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
# This file is based on the LLama model definition file in transformers
2424
"""PyTorch Cohere model."""
2525
from collections.abc import Iterable
26+
from itertools import islice
2627
from typing import Optional, Union
2728

2829
import torch
@@ -322,7 +323,7 @@ def forward(
322323
assert intermediate_tensors is not None
323324
hidden_states = intermediate_tensors["hidden_states"]
324325
residual = intermediate_tensors["residual"]
325-
for layer in self.layers[self.start_layer:self.end_layer]:
326+
for layer in islice(self.layers, self.start_layer, self.end_layer):
326327
hidden_states, residual = layer(
327328
positions,
328329
hidden_states,

vllm/model_executor/models/dbrx.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
# SPDX-FileCopyrightText: Copyright contributors to the vLLM project
33

44
from collections.abc import Iterable
5+
from itertools import islice
56
from typing import Optional, Union
67

78
import torch
@@ -359,7 +360,7 @@ def forward(
359360
else:
360361
assert intermediate_tensors
361362
hidden_states = intermediate_tensors["hidden_states"]
362-
for block in self.blocks[self.start_layer:self.end_layer]:
363+
for block in islice(self.blocks, self.start_layer, self.end_layer):
363364
hidden_states = block(position_ids, hidden_states)
364365
if not get_pp_group().is_last_rank:
365366
return IntermediateTensors({"hidden_states": hidden_states})

0 commit comments

Comments
 (0)