使用HuggingFace Transformer创建pipeline时遇ImportError求助
解决HuggingFace Pipeline
device_map依赖Accelerate的报错问题 问题重现
运行以下text-generation pipeline代码:
pipeline = transformers.pipeline( "text-generation", model="meta-llama/Llama-2-7b-chat-hf", torch_dtype=torch.float16, device_map="auto", )
出现错误:
ImportError: Using `low_cpu_mem_usage=True` or a `device_map` requires Accelerate: `pip install accelerate`
已安装依赖版本:
- accelerate: 0.21.0
- transformers: 4.31.0
解决步骤
1. 验证Accelerate模块的可用性
在Jupyter Lab中执行以下代码,确认Accelerate是否能被当前环境正确导入:
import accelerate print(accelerate.__version__)
若执行报错,说明Accelerate的安装路径不在当前Jupyter kernel的环境范围内。
2. 重新安装适配版本的Accelerate
transformers 4.31.0与accelerate 0.20.0兼容性更稳定,执行以下命令重新安装指定版本:
pip install accelerate==0.20.0 --force-reinstall
安装完成后重启Jupyter kernel,再重新运行pipeline代码。
3. 临时关闭low_cpu_mem_usage(应急方案)
如果上述方法无效,可临时修改代码显式关闭low_cpu_mem_usage(注意:此操作可能增加内存占用):
pipeline = transformers.pipeline( "text-generation", model="meta-llama/Llama-2-7b-chat-hf", torch_dtype=torch.float16, device_map="auto", model_kwargs={"low_cpu_mem_usage": False} )
4. 检查SageMaker kernel配置
确认Jupyter Lab使用的kernel是安装了Accelerate的conda环境,可通过Kernel > Change Kernel选项切换到SageMaker自带的PyTorch环境或对应依赖的环境。
内容的提问来源于stack exchange,提问作者Mohammad Sadoughi
相关产品推荐
相关产品推荐

