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

使用Hugging Face Transformers加载safetensors格式模型报错求助

问题

尝试用Hugging Face Transformers库加载notstoic/pygmalion-13b-4bit-128g模型(safetensors格式),使用代码如下:

from transformers import LlamaForCausalLM, LlamaTokenizer

tokenizer = LlamaTokenizer.from_pretrained("path/to/model")
model = LlamaForCausalLM.from_pretrained("path/to/model", use_safetensors=True)

运行后出现错误:

Traceback (most recent call last):
  File "/Users/maxhager/Projects2023/nsfw/model_run.py", line 4, in <module>
    model = LlamaForCausalLM.from_pretrained("path/to/model", use_safetensors=True)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/maxhager/.virtualenvs/nsfw/lib/python3.11/site-packages/transformers/modeling_utils.py", line 2449, in from_pretrained
    raise EnvironmentError(
OSError: Error no file named pytorch_model.bin, tf_model.h5, model.ckpt.index or flax_model.msgpack found in directory path/to/model.

模型目录包含以下文件:

  • 4bit-128g.safetensors
  • config.json
  • generation_config.json
  • pytorch_model.bin.index.json
  • special_tokens_map.json
  • tokenizer.json
  • tokenizer.model
  • tokenizer_config.json

已设置use_safetensors=True,但from_pretrained()仍未识别safetensors格式,反而查找常规格式文件,求问题原因及解决方法。


解决方法

核心原因

该模型是4-bit量化后的版本,Transformers原生的LlamaForCausalLM不支持直接加载这种特殊的量化safetensors文件,必须借助bitsandbytes库配合AutoModelForCausalLM,并指定量化相关参数才能正确加载。另外模型文件名4bit-128g.safetensors不符合Transformers默认的分片命名规则,进一步导致原生加载逻辑无法识别。

具体步骤

  1. 安装依赖库
    确保安装最新版的transformers、accelerate和支持4-bit量化的bitsandbytes:
pip install --upgrade transformers accelerate bitsandbytes
  1. 修改加载代码
    用AutoModelForCausalLM替代LlamaForCausalLM,并添加量化参数:
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM

tokenizer = AutoTokenizer.from_pretrained("path/to/model")
model = AutoModelForCausalLM.from_pretrained(
    "path/to/model",
    use_safetensors=True,
    load_in_4bit=True,
    device_map="auto",
    bnb_4bit_use_double_quant=True,
    bnb_4bit_quant_type="nf4",
    bnb_4bit_compute_dtype=torch.bfloat16
)
  1. 版本检查
    若仍无法识别safetensors文件,确认transformers版本≥4.28.0,较早版本对safetensors的支持存在缺陷。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 18:24:56