以下是我的报错信息
Traceback (most recent call last):
File "/root/autodl-tmp/Qwen1.5/examples/sft/finetune.py", line 378, in
train()
File "/root/autodl-tmp/Qwen1.5/examples/sft/finetune.py", line 305, in train
model = AutoModelForCausalLM.from_pretrained(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/root/miniconda3/envs/llama/lib/python3.11/site-packages/transformers/models/auto/auto_factory.py", line 563, in from_pretrained
return model_class.from_pretrained(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/root/miniconda3/envs/llama/lib/python3.11/site-packages/transformers/modeling_utils.py", line 3160, in from_pretrained
hf_quantizer = AutoHfQuantizer.from_config(config.quantization_config, pre_quantized=pre_quantized)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/root/miniconda3/envs/llama/lib/python3.11/site-packages/transformers/quantizers/auto.py", line 124, in from_config
return target_cls(quantization_config, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/root/miniconda3/envs/llama/lib/python3.11/site-packages/transformers/quantizers/quantizer_gptq.py", line 47, in init
from optimum.gptq import GPTQQuantizer
File "/root/miniconda3/envs/llama/lib/python3.11/site-packages/optimum/gptq/init.py", line 15, in
from .quantizer import GPTQQuantizer, load_quantized_model
File "/root/miniconda3/envs/llama/lib/python3.11/site-packages/optimum/gptq/quantizer.py", line 43, in
from auto_gptq import exllama_set_max_input_length
File "/root/miniconda3/envs/llama/lib/python3.11/site-packages/auto_gptq/init.py", line 4, in
from .utils.peft_utils import get_gptq_peft_model
File "/root/miniconda3/envs/llama/lib/python3.11/site-packages/auto_gptq/utils/peft_utils.py", line 20, in
from ..nn_modules.qlinear.qlinear_exllama import QuantLinear as QuantLinearExllama
File "/root/miniconda3/envs/llama/lib/python3.11/site-packages/auto_gptq/nn_modules/qlinear/qlinear_exllama.py", line 14, in
from exllama_kernels import make_q4, q4_matmul
ImportError: /root/miniconda3/envs/llama/lib/python3.11/site-packages/exllama_kernels.cpython-311-x86_64-linux-gnu.so: undefined symbol: _ZN3c107WarningC1ENS_7variantIJNS0_11UserWarningENS0_18DeprecationWarningEEEERKNS_14SourceLocationESsb
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
根据您提供的报错信息,问题的核心是ImportError
,具体表现为exllama_kernels
模块中存在未定义的符号_ZN3c107WarningC1ENS_7variantIJNS0_11UserWarningENS0_18DeprecationWarningEEEERKNS_14SourceLocationESsb
。这通常与动态链接库(如.so
文件)的依赖关系或版本不匹配有关。以下是针对该问题的详细分析和解决方案:
错误来源:
exllama_kernels.cpython-311-x86_64-linux-gnu.so
文件中缺少符号_ZN3c107WarningC1ENS_7variantIJNS0_11UserWarningENS0_18DeprecationWarningEEEERKNS_14SourceLocationESsb
。torch
、c10
或其他相关库),但当前环境中未正确加载或版本不匹配。可能原因:
exllama_kernels
依赖的库(如PyTorch
或c10
)版本与当前环境中的版本不一致。exllama_kernels
模块在编译时未正确链接所需的依赖库。确认当前环境中PyTorch
和c10
的版本是否与exllama_kernels
的要求一致。
python -c "import torch; print(torch.__version__)"
如果版本不匹配,请升级或降级PyTorch
至兼容版本。例如:
pip install torch==<compatible_version>
检查exllama_kernels
的文档或源码,确认其对PyTorch
和c10
的具体版本要求。
使用ldd
命令检查exllama_kernels.cpython-311-x86_64-linux-gnu.so
的依赖库是否完整:
ldd /root/miniconda3/envs/llama/lib/python3.11/site-packages/exllama_kernels.cpython-311-x86_64-linux-gnu.so
如果发现某些依赖库未找到(显示not found
),请安装缺失的库。例如:
sudo apt-get install libxxx-dev
确保LD_LIBRARY_PATH
环境变量包含所有必要的动态链接库路径。例如:
export LD_LIBRARY_PATH=/path/to/missing/libs:$LD_LIBRARY_PATH
exllama_kernels
如果上述方法无效,可能是exllama_kernels
模块在编译时未正确链接依赖库。尝试重新编译: 1. 克隆exllama_kernels
的源码仓库(如果有)。 2. 根据官方文档或README文件,确保安装所有依赖项。 3. 执行编译命令。例如:
python setup.py build_ext --inplace
exllama_kernels
的要求一致。例如,exllama_kernels
可能仅支持特定版本的Python(如3.9或3.10)。conda
环境,请确保环境已正确激活,并且所有依赖项均已安装。如果问题仍未解决,可以尝试回退到exllama_kernels
的稳定版本。例如:
pip install exllama_kernels==<stable_version>
exllama_kernels
的开发者或社区,提供详细的错误信息和环境配置。通过以上步骤,您应该能够定位并解决exllama_kernels
模块的undefined symbol
问题。如果仍有疑问,请提供更多上下文信息(如完整的环境配置和依赖列表),以便进一步分析。您可以复制页面截图提供更多信息,我可以进一步帮您分析问题原因。