CUDA error (C:/a/xformers/xformers/third_party/flash-attention/hopper\flash_fwd_launch_template.h:18
摘要:在Win11系统下使用英伟达50系显卡运行Unsloth训练Qwen3-4B模型时,出现环境与CUDA冲突问题。解决方案是卸载可选的xformers组件,该组件与当前配置不兼容。官方尚未提供具体修复方法,建议参考Unsloth文档关于Blackwell和RTX50系列显卡的说明。关键参数包括4-bit量化(max_seq_length=200)和生成设置(max_new_tokens=64,
·
问题很多,更多的是环境跟CUDA和显卡相冲突
我是50系英伟达显卡,win11系统安装unsloth训练,然后报错。
#model_name=r"D:\学习\xinnan_study\大语言模型\模型库\模型源码\Qwen3-4B-Base"
from unsloth import FastLanguageModel
import torch
# 设置模型名称和参数
model_name=r"D:\学习\xinnan_study\大语言模型\模型库\模型源码\Qwen3-4B-Base" # 也可以使用 "Qwen/Qwen3-4B"
max_seq_length = 200 # 根据你的需求调整上下文长度
load_in_4bit = True # 启用 4-bit 量化以节省显存
# 加载模型和分词器
model, tokenizer = FastLanguageModel.from_pretrained(
model_name=model_name,
max_seq_length=max_seq_length,
load_in_4bit=load_in_4bit,
# token="hf_your_token_here", # 如果使用需要认证的模型
)
# 准备输入
from transformers import TextStreamer
prompt = "猫娘是什么"
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
# 生成文本
outputs = model.generate(
**inputs,
max_new_tokens=64, # 生成新token的最大数量
use_cache=True, # 使用缓存以加速生成
pad_token_id=tokenizer.eos_token_id, # 设置pad token
temperature=0.7, # 控制随机性:较低值更确定性,较高值更多样性
top_p=0.95, # Nucleus sampling: 从累积概率超过top_p的最小集合中采样
# streamer=streamer, # 如果要使用流式传输(如TextStreamer)
)
generated_text = tokenizer.decode(outputs[0], skip_special_tokens=True)
print(generated_text)
解决办法卸载xformers这个冲突选项就行了,xformers这个安装是可选的。
这个官方还没有具体的解决办法都是打补丁具体可以看看这个官方网站
使用 Blackwell、RTX 50 系列和 Unsloth 训练 LLM |Unsloth 文档
更多推荐
所有评论(0)