Skip to content

[LLMC][llama4] AttributeError: 'Llama4LinearExperts' object has no attribute 'gate_up_proj' #1962

Description

@XuehaoSun

LOG

Traceback (most recent call last):
  File "/home/uttest/jenkins/mlp-dgx-01/workspace/AutoRound_LLMC_example_test/llm-compressor/examples/autoround/quantization_w8a8_fp8/llama4_static_quant_example.py", line 44, in <module>
    oneshot(
  File "/home/uttest/miniforge3/envs/autoround_v0.14.0_release/lib/python3.12/site-packages/llmcompressor/entrypoints/oneshot.py", line 428, in oneshot
    one_shot()
  File "/home/uttest/miniforge3/envs/autoround_v0.14.0_release/lib/python3.12/site-packages/llmcompressor/entrypoints/oneshot.py", line 193, in __call__
    self.apply_recipe_modifiers(
  File "/home/uttest/miniforge3/envs/autoround_v0.14.0_release/lib/python3.12/site-packages/llmcompressor/entrypoints/oneshot.py", line 256, in apply_recipe_modifiers
    pipeline(
  File "/home/uttest/miniforge3/envs/autoround_v0.14.0_release/lib/python3.12/site-packages/llmcompressor/pipelines/independent/pipeline.py", line 45, in __call__
    pipeline(model, dataloader, dataset_args)
  File "/home/uttest/miniforge3/envs/autoround_v0.14.0_release/lib/python3.12/site-packages/llmcompressor/pipelines/sequential/helpers.py", line 488, in wrapper
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/home/uttest/miniforge3/envs/autoround_v0.14.0_release/lib/python3.12/site-packages/llmcompressor/pipelines/sequential/pipeline.py", line 160, in __call__
    LifecycleCallbacks.sequential_epoch_end(subgraph.submodules(model))
  File "/home/uttest/miniforge3/envs/autoround_v0.14.0_release/lib/python3.12/site-packages/llmcompressor/core/session_functions.py", line 165, in sequential_epoch_end
    return cls.event(EventType.SEQUENTIAL_EPOCH_END, modules=modules, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/uttest/miniforge3/envs/autoround_v0.14.0_release/lib/python3.12/site-packages/llmcompressor/core/session_functions.py", line 91, in event
    return active_session().event(event_type, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/uttest/miniforge3/envs/autoround_v0.14.0_release/lib/python3.12/site-packages/llmcompressor/core/session.py", line 181, in event
    mod_data = self._lifecycle.event(
               ^^^^^^^^^^^^^^^^^^^^^^
  File "/home/uttest/miniforge3/envs/autoround_v0.14.0_release/lib/python3.12/site-packages/llmcompressor/core/lifecycle.py", line 204, in event
    data = mod.update_event(state=self.state, event=event, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/uttest/miniforge3/envs/autoround_v0.14.0_release/lib/python3.12/site-packages/llmcompressor/modifiers/modifier.py", line 138, in update_event
    self.on_sequential_epoch_end(state, event, **kwargs)
  File "/home/uttest/miniforge3/envs/autoround_v0.14.0_release/lib/python3.12/site-packages/llmcompressor/modifiers/autoround/base.py", line 229, in on_sequential_epoch_end
    self.apply_autoround(state, modules)
  File "/home/uttest/miniforge3/envs/autoround_v0.14.0_release/lib/python3.12/site-packages/llmcompressor/modifiers/autoround/base.py", line 310, in apply_autoround
    q_input, _ = ar.quantize_block(
                 ^^^^^^^^^^^^^^^^^^
  File "/home/uttest/miniforge3/envs/autoround_v0.14.0_release/lib/python3.12/site-packages/auto_round/compressors/data_driven.py", line 330, in quantize_block
    self.post_init()
  File "/home/uttest/miniforge3/envs/autoround_v0.14.0_release/lib/python3.12/site-packages/auto_round/compressors/data_driven.py", line 124, in post_init
    super().post_init()
  File "/home/uttest/miniforge3/envs/autoround_v0.14.0_release/lib/python3.12/site-packages/auto_round/compressors/base.py", line 838, in post_init
    self._patch_model()
  File "/home/uttest/miniforge3/envs/autoround_v0.14.0_release/lib/python3.12/site-packages/auto_round/compressors/base.py", line 1106, in _patch_model
    self.model_context.apply_patches(self.formats)
  File "/home/uttest/miniforge3/envs/autoround_v0.14.0_release/lib/python3.12/site-packages/auto_round/context/model.py", line 279, in apply_patches
    self.model = update_module(
                 ^^^^^^^^^^^^^^
  File "/home/uttest/miniforge3/envs/autoround_v0.14.0_release/lib/python3.12/site-packages/auto_round/special_model_handler.py", line 399, in update_module
    model = apply_replacements(model)
            ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/uttest/miniforge3/envs/autoround_v0.14.0_release/lib/python3.12/site-packages/auto_round/modeling/fused_moe/replace_modules.py", line 318, in apply_replacements
    _apply_custom_replacements(model)
  File "/home/uttest/miniforge3/envs/autoround_v0.14.0_release/lib/python3.12/site-packages/auto_round/utils/device.py", line 1482, in wrapper
    result = func(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^
  File "/home/uttest/miniforge3/envs/autoround_v0.14.0_release/lib/python3.12/site-packages/auto_round/modeling/fused_moe/replace_modules.py", line 375, in _apply_custom_replacements
    replacement = replacement_cls.from_original(
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/uttest/miniforge3/envs/autoround_v0.14.0_release/lib/python3.12/site-packages/auto_round/modeling/fused_moe/llama4.py", line 109, in from_original
    return cls(original, config)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/home/uttest/miniforge3/envs/autoround_v0.14.0_release/lib/python3.12/site-packages/auto_round/modeling/fused_moe/llama4.py", line 62, in __init__
    self.experts = SequentialLlama4TextExperts(config, original.experts)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/uttest/miniforge3/envs/autoround_v0.14.0_release/lib/python3.12/site-packages/auto_round/modeling/fused_moe/llama4.py", line 33, in __init__
    self.num_experts = original.gate_up_proj.shape[0]
                       ^^^^^^^^^^^^^^^^^^^^^
  File "/home/uttest/miniforge3/envs/autoround_v0.14.0_release/lib/python3.12/site-packages/torch/nn/modules/module.py", line 1968, in __getattr__
    raise AttributeError(
AttributeError: 'Llama4LinearExperts' object has no attribute 'gate_up_proj'

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Fields

No fields configured for Bug.

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions