code: def test_sharder_bad_param_config(
      self, sharding_type_qsplitscalebias: Tuple[str, bool]
  ) -> None:
      (
          sharding_type,
          quant_state_dict_split_scale_bias,
      ) = sharding_type_qsplitscalebias
  
      device = torch.device("cuda:0")
      model = TestSparseNN(
          tables=self.tables,
          weighted_tables=self.weighted_tables,
          num_float_features=10,
          dense_device=device,
          sparse_device=torch.device("meta"),
      )
      quant_model = _quantize(
          model,
          inplace=True,
          quant_state_dict_split_scale_bias=quant_state_dict_split_scale_bias,
      )
      sharders = [
          cast(
              ModuleSharder[torch.nn.Module],
              TestQuantEBCSharder(
                  sharding_type=sharding_type,
                  kernel_type=EmbeddingComputeKernel.QUANT.value,
                  shardable_params=[
                      table.name for table in self.tables[:-1]
                  ],  # partial list of shardable params
              ),
          )
      ]
      topology = Topology(world_size=1, compute_device="cuda")
      with self.assertRaises(AssertionError):
          EmbeddingShardingPlanner(
              topology=topology,
              batch_size=10,
              enumerator=EmbeddingEnumerator(
                  topology=topology,
                  batch_size=1,
                  estimator=[
                      EmbeddingPerfEstimator(
                          topology=topology, is_inference=True
                      ),
                      EmbeddingStorageEstimator(topology=topology),
                  ],
              ),
          ).plan(quant_model, sharders)
  
imports: import unittest
  from typing import Any, cast, Dict, List, Optional, Tuple
  import hypothesis.strategies
  import torch
  from hypothesis import given, settings, Verbosity
  from torch import nn, quantization
  from torchrec.distributed.embedding_types import EmbeddingComputeKernel, ModuleSharder
  from torchrec.distributed.model_parallel import DistributedModelParallel
  from torchrec.distributed.planner import EmbeddingShardingPlanner, Topology
  from torchrec.distributed.planner.enumerators import EmbeddingEnumerator
  from torchrec.distributed.planner.shard_estimators import EmbeddingPerfEstimator, EmbeddingStorageEstimator
  from torchrec.distributed.quant_embeddingbag import QuantEmbeddingBagCollectionSharder
  from torchrec.distributed.shard import _shard_modules
  from torchrec.distributed.test_utils.test_model import _get_default_rtol_and_atol, ModelInput, TestSparseNN
  from torchrec.distributed.types import ShardedModule, ShardingEnv, ShardingType
  from torchrec.distributed.utils import copy_to_device
  from torchrec.modules.embedding_configs import EmbeddingBagConfig, QuantConfig
  from torchrec.modules.embedding_modules import EmbeddingBagCollection
  from torchrec.quant.embedding_modules import EmbeddingBagCollection, quant_prep_enable_quant_state_dict_split_scale_bias_for_types
  from torchrec.types import CopyMixIn
label_desc: Use image node_id 5 for calling the QuantModelParallelModelSharderTest obj's underlying member method code with example usage: obj.test_sharder_bad_param_config(sharding_type_qsplitscalebias) without return types