一、问题
在阿里云Notebook上使用llamafactory微调Meta-Llama-3-8B-Instruct模型报错ModuleNotFoundError: No module named 'triton.ops'
Traceback (most recent call last):
File "/home/user/comfyui/nodes.py", line 2145, in load_custom_node
module_spec.loader.exec_module(module)
File "<frozen importlib._bootstrap_external>", line 940, in exec_module
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "/home/user/comfyui/custom_nodes/sd-lora-trainer/__init__.py", line 5, in <module>
from node import Eden_LoRa_trainer
File "/home/user/comfyui/custom_nodes/sd-lora-trainer/node.py", line 9, in <module>
from main import train
File "/home/user/comfyui/custom_nodes/sd-lora-trainer/main.py", line 14, in <module>
from trainer.utils.utils import *
File "/home/user/comfyui/custom_nodes/sd-lora-trainer/trainer/utils/utils.py", line 11, in <module>
from diffusers import AutoencoderKL, DDPMScheduler, EulerDiscreteScheduler, UNet2DConditionModel, StableDiffusionPipeline, StableDiffusionXLPipeline
File "<frozen importlib._bootstrap>", line 1229, in _handle_fromlist
File "/mnt/comfyui/venv/lib/python3.11/site-packages/diffusers/utils/import_utils.py", line 911, in __getattr__
value = getattr(module, name)
^^^^^^^^^^^^^^^^^^^^^
File "/mnt/comfyui/venv/lib/python3.11/site-packages/diffusers/utils/import_utils.py", line 910, in __getattr__
module = self._get_module(self._class_to_module[name])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/mnt/comfyui/venv/lib/python3.11/site-packages/diffusers/utils/import_utils.py", line 922, in _get_module
raise RuntimeError(
RuntimeError: Failed to import diffusers.models.autoencoders.autoencoder_kl because of the following error (look up to see its traceback):
No module named 'triton.ops'
Cannot import /home/user/comfyui/custom_nodes/sd-lora-trainer module for custom nodes: Failed to import diffusers.models.autoencoders.autoencoder_kl because of the following error (look up to see its traceback):
No module named 'triton.ops'
...
二、原因
在triton新版本中,triton.ops不存在了,可在triton的github上找到对应问题:
In version 3.2.0 of triton, triton.ops no longer exists (triton-lang/triton#5471)
from: https://github.com/edenartlab/sd-lora-trainer/issues/12
二、问题解决
参考github上Import error with latest version of triton #12
给出的解决方案,调整triton为旧版本
查看triton的版本(https://github.com/triton-lang/triton/blob/main/RELEASE.md)如下:
这里选择旧一点的版本: 2.3.0
pip uninstall triton
pip install triton==2.3.0
重新启动llamafactory-cli webui,进行微调,可正常运行:
参考:
1.https://github.com/edenartlab/sd-lora-trainer/issues/12
2.https://github.com/triton-lang/triton/blob/main/RELEASE.md