You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

加载Llama2模型时遭遇flash_attn导入错误求助

问题描述

加载Llama2模型时使用以下代码:

model = AutoModelForCausalLM.from_pretrained(
    model_name,
    quantization_config=bnb_config,
    device_map=device_map
)

对应的bnb_config配置:

BitsAndBytesConfig {
  "bnb_4bit_compute_dtype": "bfloat16",
  "bnb_4bit_quant_type": "nf4",
  "bnb_4bit_use_double_quant": true,
  "llm_int8_enable_fp32_cpu_offload": false,
  "llm_int8_has_fp16_weight": false,
  "llm_int8_skip_modules": null,
  "llm_int8_threshold": 6.0,
  "load_in_4bit": true,
  "load_in_8bit": false,
  "quant_method": "bitsandbytes"
}

运行后报错:

RuntimeError: Failed to import transformers.models.llama.modeling_llama because of the following error (look up to see its traceback):
cannot import name 'flash_attn_func' from 'flash_attn' (/opt/conda/lib/python3.10/site-packages/flash_attn/__init__.py)
解决方法
  • 方法1:禁用Flash Attention(快速解决)
    在模型加载代码中添加attn_implementation="eager"参数,强制使用常规注意力实现,绕开Flash Attention的依赖问题:

    model = AutoModelForCausalLM.from_pretrained(
        model_name,
        quantization_config=bnb_config,
        device_map=device_map,
        attn_implementation="eager"
    )
    
  • 方法2:安装兼容版本的Flash Attention
    若需要保留Flash Attention功能,需确保安装的flash_attn版本与transformers版本匹配:

    1. 卸载现有版本:
      pip uninstall -y flash_attn
      
    2. 安装兼容版本(适配transformers 4.30+推荐安装2.3.0及以上版本):
      pip install flash-attn --no-build-isolation
      
      注意:安装需匹配当前环境的CUDA版本,否则可能编译失败。
  • 方法3:降级transformers版本
    若上述方法无效,可降级transformers至不依赖flash_attn_func的版本,比如4.29.x系列:

    pip install transformers==4.29.2
    

内容的提问来源于stack exchange,提问作者Hamid K

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 19:32:19