AttributeError: module 'torch._dynamo' has no attribute 'mark_static_address' が発生したときの対処法
以下のようなエラーが出た場合の対処法
File "/venv/Lib/site-packages/torch/utils/_contextlib.py", line 115, in decorate_context
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/venv/Lib/site-packages/transformers/generation/utils.py", line 1744, in generate
model_kwargs["past_key_values"] = self._get_cache(
^^^^^^^^^^^^^^^^
File "/venv/Lib/site-packages/transformers/generation/utils.py", line 1435, in _get_cache
self._cache = cache_cls(
^^^^^^^^^^
File "/venv/Lib/site-packages/transformers/cache_utils.py", line 1012, in __init__
torch._dynamo.mark_static_address(new_layer_key_cache)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: module 'torch._dynamo' has no attribute 'mark_static_address'
原因
Pytorch のバージョンが古い可能性
現在の環境にインストールされている Pytorchのバージョンを調べる
以下のコマンドでインストールされているパッケージのバージョンを調べることができます
pip list
例えば、以下のように古い Pytorch の場合、上記のエラーが発生します
torch 2.0.1+cu117
torchaudio 2.0.2+cu117
torchvision 0.15.2+cu117
対策
Pytorch のバージョンを最新にしましょう
pip install --upgrade
コマンドをつかうと、最新のバージョンにアップデートすることができます。
Linux
pip install --upgrade torch torchvision torchaudio
Wndows
RuntimeError: No GPU found. A GPU is needed for quantization.
のようになる場合、CUDA バージョン指定(ここでは11.8)で以下のようにインストールします。
pip3 install --upgrade torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118