使用BLOOM模型时无法从transformers导入AutoModelForCasualLM求助
问题描述
尝试使用transformers库的AutoModelForCasualLM基于BLOOM模型生成文本,更换多台电脑及多个transformers版本后,仍无法从transformers导入AutoModelForCasualLM。基于最新版transformers的错误回溯如下:
--------------------------------------------------------------------------- ImportError Traceback (most recent call last) Cell In[28], line 1 ----> 1 from transformers import AutoTokenizer, AutoModelForCasualLM, BloomConfig 2 from transformers.models.lboom.modeling_bloom import BloomBlock, build_alibi_tensor ImportError: cannot import name 'AutoModelForCasualLM' from 'transformers' (/mnt/MLDr/venv/lib/python3.10/site-packages/transformers/__init__.py)
错误出现位置的代码片段(前10行左右):
import os import torch import torch.nn as nn from collections import OrderedDict def get_state_dict(shard_num, prefix=None): d = torch.load(os.path.join(model_path, f"pytorch_model_{shard_num:05d}-of-00072.bin")) return d if prefix is None else OrderedDict((k.replace(prefix, ''), v) for k, v in d.items()) from transformers import AutoTokenizer, AutoModelForCasualLM, BloomConfig from transformers.models.lboom.modeling_bloom import BloomBlock, build_alibi_tensor model = "./bloom" config = BloomConfig.from_pretrained(model_path) device = 'cpu'
transformers-cli env输出信息:
transformers版本:4.25.1- 平台:Linux-5.15.0-58-generic-x86_64-with-glibc2.35
- Python版本:3.10.6
- Huggingface_hub版本:0.11.1
- PyTorch版本(是否GPU?):1.13.1+cu117(False)
- Tensorflow版本(是否GPU?):2.11.0(False)
- Flax版本(CPU/GPU/TPU?):未安装(NA)
- Jax版本:未安装
- JaxLib版本:未安装
- 脚本中是否使用GPU?:<请填写>
- 脚本中是否使用分布式或并行设置?:<请填写>
解决方案
- 升级transformers版本:
AutoModelForCasualLM在4.28.0及以上版本中才被稳定导出,执行命令升级:pip install --upgrade transformers>=4.28.0 - 排查命名冲突:检查项目目录下是否存在名为
transformers.py的文件,避免和库名冲突导致导入失败。 - 重装transformers:卸载后重新安装,确保安装过程无异常:
pip uninstall -y transformers pip install transformers - 指定模块导入:若升级后仍有问题,尝试直接从对应模块导入:
from transformers import AutoTokenizer, BloomConfig from transformers.models.auto.modeling_auto import AutoModelForCasualLM
内容的提问来源于stack exchange,提问作者illumination
相关产品推荐
相关产品推荐

