def METHOD_NAME(self):
    with init_empty_weights_with_disk_offload(ignore_tie_weights=False):
        model = MyModel(5, self.embed_dim)
        for name, params in model.named_parameters():
            self.assertTrue(params.device.type == "cpu")
        for _, p in model.layers.mods[0].named_parameters():
            p.requires_grad_(False)
    for _, p in model.layers.mods[0].named_parameters():
        self.assertFalse(p.requires_grad)
    device2name = defaultdict(list)
    self.assertEqual(3, len(list(model.ffn.layers[0].modules())))  # self,A,B
    for name, params in model.named_parameters():
        device2name[params.device.type].append(name)
    for name, params in model.named_parameters():
        self.assertTrue(params.device.type == "meta")
    self.assertEqual(1, len(model._parameters))  # p
    for name in model._parameters:
        self.assertTrue(name in device2name["meta"])
    mod1 = nn.Linear(10, 10)
    mod2 = copy.deepcopy(mod1)
    reload_meta_module(model, "cpu")
    for _, p in model.layers.mods[0].named_parameters():
        self.assertFalse(p.requires_grad)
    self.assertFalse(mod2 in [mod1])