docstr: A simple test to check if `llm_int8_skip_modules` works as expected
code: def test_llm_skip(self):
      r"""
      A simple test to check if `llm_int8_skip_modules` works as expected
      """
      import bitsandbytes as bnb
      from transformers import AutoConfig, AutoModelForCausalLM
  
      bnb_quantization_config = BnbQuantizationConfig(
          load_in_8bit=True,
          skip_modules=["lm_head", "transformer.word_embeddings"],
      )
  
      with init_empty_weights():
          model = AutoModelForCausalLM.from_config(
              AutoConfig.from_pretrained(self.model_name)
          )
  
      model.tie_weights()
      model = load_and_quantize_model(
          model,
          bnb_quantization_config,
          weights_location=self.weights_location,
          device_map="auto",
          no_split_module_classes=["BloomBlock"],
      )
  
      self.assertTrue(
          model.transformer.h[1].mlp.dense_4h_to_h.weight.dtype
          == torch.int8
      )
      self.assertTrue(
          isinstance(
              model.transformer.h[1].mlp.dense_4h_to_h,
              bnb.nn.Linear8bitLt,
          )
      )
      self.assertTrue(isinstance(model.lm_head, nn.Linear))
      self.assertTrue(model.lm_head.weight.dtype != torch.int8)
  
imports: import gc
  import tempfile
  import unittest
  import torch
  import torch.nn
  from accelerate import Accelerator, init_empty_weights
  from accelerate.test_utils import require_bnb, require_cuda, require_huggingface_suite, require_multi_gpu, slow
  from accelerate.utils.bnb import load_and_quantize_model
  from accelerate.utils.dataclasses import BnbQuantizationConfig
label_desc: Use image node_id 5 for calling the MixedInt8EmptyModelTest obj's underlying member method code with example usage: obj.test_llm_skip() without return types