V100显卡本地部署AI的常见问题解决
RuntimeError: GPUs with compute capability below 8.0 are not supported.
计算能力低于8.0的GPU不支持
(turbodiffusion) D:\AITool\TurboDiffusion\SpargeAttn>nvidia-smi --query-gpu=name,compute_cap --format=csv
name, compute_cap
Tesla V100-SXM2-16GB, 7.0
NVIDIA GeForce GTX 750 Ti, 5.0
ERROR: Could not find a version that satisfies the requirement triton>=3.3.0 (from turbodiffusion) (from versions: none)
ERROR: No matching distribution found for triton>=3.3.0
通义千问2.5 Wan2.1
RuntimeError: Current CUDA Device does not support bfloat16. Please switch dtype to float16.
问题分析
这是 V100 用户最常见的报错之一。虽然现代 LLM 框架默认倾向于使用 bfloat16 以提升训练稳定性,但 V100 的计算能力为 7.0,仅支持 float16 而不支持 bfloat16。当 vLLM 自动检测模型 dtype 为 bfloat16 时,将无法在 V100 上加载。
解决方案
必须显式指定数据类型为 float16,可通过以下两种方式实现:
方法一:命令行启动时指定
--dtype half 即表示 float16
方法二:代码中初始化 LLM 时设置
from vllm import LLM
llm = LLM(
model="/path/to/Qwen2.5-7B-Instruct",
dtype="float16", # 关键设置
swap_space=16, # CPU交换空间(GiB)
gpu_memory_utilization=0.9 # 控制显存利用率
)
如果启动报错,尤其是显卡不支持 FlashAttention
提示RuntimeError: FlashAttention only supports Ampere GPUs or newer
问题分析
FlashAttention-2 是目前最快的 attention 实现之一,但它要求 GPU 架构为 Ampere(如 A100)及以上。而 V100 属于 Volta 架构(Compute Capability 7.0),不支持 FlashAttention-2,因此 vLLM 会自动降级至 XFormers 或其他替代方案。
那就是
GTX 10xx/20xx 等较旧的 GPU 不适用于此版本的 FlashAttention,那只能另找途径,或者去万人同骑的huggingface和modelscope官网玩儿。