Skip to content

Conversation

@kaixuanliu
Copy link
Contributor

This PR fixes 3 failed test cases on Intel XPU:

1.tests/models/video_llama_3/test_modeling_video_llama_3.py::VideoLlama3IntegrationTest::test_small_model_integration_test
2.tests/models/video_llama_3/test_modeling_video_llama_3.py::VideoLlama3IntegrationTest::test_small_model_integration_test_batch_wo_ima
ge
3.tests/models/video_llama_3/test_modeling_video_llama_3.py::VideoLlama3ModelTest::test_generate_with_quant_cache 

Signed-off-by: Liu, Kaixuan <kaixuan.liu@intel.com>
@ydshieh
Copy link
Collaborator

ydshieh commented Oct 29, 2025

Thank you @kaixuanliu

cc @yao-matrix for a first look 🙏

distribution_name = pkg_name if pkg_name in distributions else distributions[0]
package_version = importlib.metadata.version(distribution_name)
except importlib.metadata.PackageNotFoundError:
except (importlib.metadata.PackageNotFoundError, KeyError):
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you explain what is the issue here that requires this new KeyError?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same question.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When i run pytest -rA tests/models/video_llama_3/test_modeling_video_llama_3.py::VideoLlama3ModelTest::test_generate_with_quant_cache, it will fail and return error:

pkg_name = 'optimum.quanto', return_version = True

    def _is_package_available(pkg_name: str, return_version: bool = False) -> tuple[bool, str] | bool:
        """Check if `pkg_name` exist, and optionally try to get its version"""
        spec = importlib.util.find_spec(pkg_name)
        package_exists = spec is not None
        package_version = "N/A"
        if package_exists and return_version:
            try:
                # importlib.metadata works with the distribution package, which may be different from the import
                # name (e.g. `PIL` is the import name, but `pillow` is the distribution name)
>               distributions = PACKAGE_DISTRIBUTION_MAPPING[pkg_name]
E               KeyError: 'optimum.quanto'

src/transformers/utils/import_utils.py:56: KeyError

Here is to fix this.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@kaixuanliu it shows 'optimum': ['optimum-quanto', 'optimum-onnx', 'optimum'], in PACKAGE_DISTRIBUTION_MAPPING, so we may need another logic to search optimum-quanto distribution in optimum package, rather than using your current logic, because the package actually there, just we find it in a wrong way in this case. @ydshieh , WDYT?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let me check ,thank you for explaining the issue.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In this PR, when we catch the keyError exception, it will load optimum-quanto in package = importlib.import_module(pkg_name), where pkg_name is optimum.quanto, and it can be imported properly.

"user\nWhat is relativity?\nassistant\nRelativity is a scientific theory that describes the relationship between space and time. It was first proposed by",
],
}
).get_expectation()
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

as above

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

as above

Signed-off-by: Liu, Kaixuan <kaixuan.liu@intel.com>
Signed-off-by: Liu, Kaixuan <kaixuan.liu@intel.com>
@ydshieh
Copy link
Collaborator

ydshieh commented Oct 31, 2025

@kaixuanliu @yao-matrix Thank you.

I have currently some trouble to get a CI runner to check the _is_package_available issue. From our scheduled CI runs, there is no issue. Of course, it's likely depending on the sys. environment, but I don't want to merge this PR without being verified more deeply myself.

I am happy to merge the PR if you can revert this part of change, and open an issue for this _is_package_available. Don't forget to provide the env. details (transformers env and pip freeze). WDYT?

@ydshieh
Copy link
Collaborator

ydshieh commented Nov 1, 2025

run-slow: vit, clip

@github-actions
Copy link
Contributor

github-actions bot commented Nov 1, 2025

This comment contains run-slow, running the specified jobs:

models: ["models/clip", "models/vit"]
quantizations: []

@github-actions
Copy link
Contributor

github-actions bot commented Nov 1, 2025

CI Results

Workflow Run ⚙️

✅ No failing test specific to this PR 🎉 !

Signed-off-by: Liu, Kaixuan <kaixuan.liu@intel.com>
@github-actions
Copy link
Contributor

github-actions bot commented Nov 3, 2025

[For maintainers] Suggested jobs to run (before merge)

run-slow: video_llama_3

@kaixuanliu
Copy link
Contributor Author

@SunMarc , Hi, have reverted the code and submitted issue here: #41981

Copy link
Collaborator

@ydshieh ydshieh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 🙏

@ydshieh ydshieh merged commit dd8f231 into huggingface:main Nov 3, 2025
15 checks passed
yonigozlan pushed a commit to yonigozlan/transformers that referenced this pull request Nov 7, 2025
…face#41931)

* fix 3 failed test cases for video_llama_3 model on Intel XPU

Signed-off-by: Liu, Kaixuan <kaixuan.liu@intel.com>

* update

Signed-off-by: Liu, Kaixuan <kaixuan.liu@intel.com>

* adjust format

Signed-off-by: Liu, Kaixuan <kaixuan.liu@intel.com>

* update code

Signed-off-by: Liu, Kaixuan <kaixuan.liu@intel.com>

---------

Signed-off-by: Liu, Kaixuan <kaixuan.liu@intel.com>
Abdennacer-Badaoui pushed a commit to Abdennacer-Badaoui/transformers that referenced this pull request Nov 10, 2025
…face#41931)

* fix 3 failed test cases for video_llama_3 model on Intel XPU

Signed-off-by: Liu, Kaixuan <kaixuan.liu@intel.com>

* update

Signed-off-by: Liu, Kaixuan <kaixuan.liu@intel.com>

* adjust format

Signed-off-by: Liu, Kaixuan <kaixuan.liu@intel.com>

* update code

Signed-off-by: Liu, Kaixuan <kaixuan.liu@intel.com>

---------

Signed-off-by: Liu, Kaixuan <kaixuan.liu@intel.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants