Skip to content

踩坑GitHub openvla/openvla2024-12-06

OpenVLA 4bit量化加载报错ValueError: .to is not supported ​

本文由 AI 根据公开内容整理,可能有误,请以原文为准:int4 and int8 quantization(GitHub openvla/openvla #145)

状态:已解决

问题 ​

在OpenVLA推理中使用load_in_4bit=True加载模型后调用.to("cuda:0")触发ValueError: .to is not supported for 4-bit or 8-bit bitsandbytes templates。此外,启用flash_attention_2可能导致机器人无动作输出,且旧版transformers可能引发相同报错。

环境 ​

OpenVLA-7B模型,bitsandbytes库,NVIDIA RTX 4070 Ti (8GB+ VRAM),Python 3.10,conda环境,transformers库。

解决办法 ​

  1. 安装并升级依赖:执行 pip install bitsandbytes 与 pip install transformers --upgrade,重启conda环境确保生效。
  2. 修改模型加载代码:移除 load_in_4bit=True 参数,改用 quantization_config=BitsAndBytesConfig(load_in_4bit=True) 传入 AutoModelForVision2Seq.from_pretrained。
  3. 移除设备迁移调用:删除模型加载后的 .to("cuda:0"),bitsandbytes会自动将量化模型放置于GPU,无需手动指定设备。
  4. 调整注意力实现:若机器人无动作或出现异常,移除 attn_implementation="flash_attention_2" 参数以避免兼容性问题。
  5. 验证部署:运行 `python vla-scripts/extern/verify_openvla.p…

讨论原作者:@CTGundamFan 等,版权归原作者所有。

来源

本页事实对应的公开页面,以原文为准。

  1. GitHub openvla/openvla #145:int4 and int8 quantization访问 2026-10-27