mirror of
https://github.com/hpcaitech/ColossalAI.git
synced 2025-09-15 22:19:38 +00:00
[utils] remove lazy_memory_allocate from ColoInitContext (#1844)
This commit is contained in:
@@ -1,20 +1,25 @@
|
||||
import pytest
|
||||
from functools import partial
|
||||
|
||||
import pytest
|
||||
import torch
|
||||
import torch.multiprocessing as mp
|
||||
|
||||
from colossalai.tensor.colo_parameter import ColoParameter
|
||||
import colossalai
|
||||
from colossalai.testing import rerun_if_address_is_in_use
|
||||
from colossalai.utils.cuda import get_current_device
|
||||
from colossalai.utils import free_port
|
||||
from colossalai.utils.model.colo_init_context import ColoInitContext
|
||||
from colossalai.tensor import ColoTensor, ProcessGroup
|
||||
from colossalai.nn.optimizer import ColossalaiOptimizer
|
||||
|
||||
from colossalai.tensor import ColoTensor, ProcessGroup
|
||||
from colossalai.tensor.colo_parameter import ColoParameter
|
||||
from colossalai.testing import rerun_if_address_is_in_use
|
||||
from colossalai.utils import free_port
|
||||
from colossalai.utils.cuda import get_current_device
|
||||
from colossalai.utils.model.colo_init_context import ColoInitContext
|
||||
from tests.components_to_test.registry import non_distributed_component_funcs
|
||||
from tests.test_tensor.common_utils import tensor_shard_equal, check_equal, set_seed, \
|
||||
split_param_row_tp1d, split_param_col_tp1d
|
||||
from tests.test_tensor.common_utils import (
|
||||
check_equal,
|
||||
set_seed,
|
||||
split_param_col_tp1d,
|
||||
split_param_row_tp1d,
|
||||
tensor_shard_equal,
|
||||
)
|
||||
|
||||
|
||||
def run_1d_hybrid_tp(model_name):
|
||||
@@ -169,7 +174,7 @@ def test_colo_optimizer():
|
||||
get_components_func = non_distributed_component_funcs.get_callable('simple_net')
|
||||
model_builder, train_dataloader, test_dataloader, optimizer_class, criterion = get_components_func()
|
||||
set_seed(1)
|
||||
with ColoInitContext(lazy_memory_allocate=False, device=get_current_device()):
|
||||
with ColoInitContext(device=get_current_device()):
|
||||
model = model_builder(checkpoint=True)
|
||||
|
||||
colo_optimizer = ColossalaiOptimizer(torch.optim.SGD(model.parameters(), lr=0.1))
|
||||
@@ -266,7 +271,7 @@ def _run_pretrain_load():
|
||||
from transformers import BertForMaskedLM
|
||||
set_seed(1)
|
||||
model_pretrained = BertForMaskedLM.from_pretrained('bert-base-uncased')
|
||||
with ColoInitContext(lazy_memory_allocate=False, device=get_current_device()):
|
||||
with ColoInitContext(device=get_current_device()):
|
||||
model = BertForMaskedLM.from_pretrained('bert-base-uncased')
|
||||
|
||||
model_pretrained = model_pretrained.cuda()
|
||||
|
@@ -1,24 +1,28 @@
|
||||
from copy import deepcopy
|
||||
import pytest
|
||||
from functools import partial
|
||||
|
||||
import pytest
|
||||
import torch
|
||||
import torch.multiprocessing as mp
|
||||
|
||||
from colossalai.tensor import ColoTensor, ComputePattern, ComputeSpec, ShardSpec, ColoTensorSpec
|
||||
from colossalai.nn.parallel.layers import init_colo_module, check_colo_module
|
||||
from tests.test_tensor.common_utils import tensor_equal, tensor_shard_equal, set_seed
|
||||
|
||||
import colossalai
|
||||
from colossalai.utils.cuda import get_current_device
|
||||
from colossalai.utils.model.colo_init_context import ColoInitContext
|
||||
|
||||
from colossalai.tensor import distspec, ProcessGroup, ReplicaSpec
|
||||
|
||||
from colossalai.nn.parallel.layers import check_colo_module, init_colo_module
|
||||
from colossalai.tensor import (
|
||||
ColoTensor,
|
||||
ColoTensorSpec,
|
||||
ComputePattern,
|
||||
ComputeSpec,
|
||||
ProcessGroup,
|
||||
ReplicaSpec,
|
||||
ShardSpec,
|
||||
distspec,
|
||||
)
|
||||
from colossalai.testing import rerun_if_address_is_in_use
|
||||
from colossalai.utils import free_port
|
||||
|
||||
from colossalai.utils.cuda import get_current_device
|
||||
from colossalai.utils.model.colo_init_context import ColoInitContext
|
||||
from tests.components_to_test.registry import non_distributed_component_funcs
|
||||
from tests.test_tensor.common_utils import set_seed, tensor_equal, tensor_shard_equal
|
||||
|
||||
|
||||
def run_model_with_spec(mode, model_name):
|
||||
@@ -134,7 +138,7 @@ def run_linear_with_spec(mode):
|
||||
|
||||
|
||||
def run_check_shared_param():
|
||||
from transformers import BertForMaskedLM, BertConfig
|
||||
from transformers import BertConfig, BertForMaskedLM
|
||||
hidden_dim = 8
|
||||
num_head = 4
|
||||
sequence_length = 12
|
||||
@@ -153,7 +157,7 @@ def run_check_shared_param():
|
||||
num_hidden_layers=num_layer,
|
||||
hidden_dropout_prob=0.,
|
||||
attention_probs_dropout_prob=0.)
|
||||
with ColoInitContext(lazy_memory_allocate=False, device=get_current_device()):
|
||||
with ColoInitContext(device=get_current_device()):
|
||||
model = BertForMaskedLM(config)
|
||||
|
||||
model = model.cuda()
|
||||
|
Reference in New Issue
Block a user