DeepSeek-R1-Distill-Qwen-1.5B 本地部署报错解决

部署运行你感兴趣的模型镜像
from transformers import AutoModelForCausalLM, AutoTokenizer, TextStreamer
import torch

# 加载模型和分词器
model_name = "D:\\Algorithm\\DeepSeek-R1-Distill-Qwen-1.5B\\DeepSeek-R1-Distill-Qwen-1.5B"
tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)

# 修改1:显式指定设备并增加稳定性参数
model = AutoModelForCausalLM.from_pretrained(
    model_name,
    device_map="auto",
    torch_dtype=torch.float16,
    trust_remote_code=True,
    # 添加稳定性相关参数
    low_cpu_mem_usage=True,
    attn_implementation="eager"  # 禁用可能不稳定的优化
).to("cuda")

# 修改2:强制转换为评估模式
model.eval()

# 流式生成
input_text = "<attn_implementation=eager>,这段代码是干什么用的"
streamer = TextStreamer(tokenizer)
inputs = tokenizer(input_text, return_tensors="pt").to("cuda")
outputs = model.generate(**inputs, max_new_tokens=500)
print(tokenizer.decode(outputs[0]))

本地部署“DeepSeek-R1-Distill-Qwen-1.5B” 运行时候报错 

RuntimeError: probability tensor contains either `inf`, `nan` or element < 0

这里面需要把

model = AutoModelForCausalLM.from_pretrained(
    model_name,
    device_map="auto",
    torch_dtype=torch.float16,
    trust_remote_code=True,
    # 添加稳定性相关参数
    low_cpu_mem_usage=True,
    attn_implementation="eager"  # 禁用可能不稳定的优化
).to("cuda")

里面torch.float16 变为torch_dtype=torch.bfloat16 即可。 

您可能感兴趣的与本文相关的镜像

PyTorch 2.7

PyTorch 2.7

PyTorch
Cuda

PyTorch 是一个开源的 Python 机器学习库,基于 Torch 库,底层由 C++ 实现,应用于人工智能领域,如计算机视觉和自然语言处理

<think> 嗯,用户想查找用vLLM部署DeepSeek-R1-Distill-Qwen-32B的方法。我需要从提供的引用中整理出清晰的步骤流程。 引用[1]提到V100-32GB*2硬件环境,引用[2]给出了模型下载命令,引用[3]列出了模型架构对应关系,引用[4]则包含具体的vLLM服务启动命令。这些信息需要有机整合。 注意到用户特别强调要"详细步骤",考虑将部署流程拆解成环境准备、模型获取、服务启动三个主要阶段。硬件要求部分需要明确标注最低显存配置,因为32B模型对显存要求较高。 在模型下载环节,引用[2]的modelscope命令行可以直接采用,但需要补充说明可选替代方案(HuggingFace)。启动命令部分,引用[4]的复杂参数需要解释每个关键参数的作用,比如--max-model-len和--tensor-parallel-size的配置逻辑。 考虑到用户可能遇到的实际问题,准备在验证环节增加curl测试示例和常见故障处理建议。突发奇想是否要补充性能调优技巧,但根据当前引用信息,决定保持核心步骤的简洁性。 最后设计相关问题要覆盖延伸场景:单卡部署可行性、量化方案选择、WebUI集成等,这些问题在引用中都有线索可循。特别是引用[3]提到不同规模模型,引用[2]涉及Open-WebUI,可以作为问题设计的依据。 </think> 以下是使用 **vLLM 部署 DeepSeek-R1-Distill-Qwen-32B** 的详细步骤,结合引用内容整理: --- ### **部署步骤** #### **1. 环境准备** - **硬件要求**: 至少需要 **2 张 V100-32GB 显卡**(或同级 A100/A800),显存需求约 60GB+ [^1][^3]。 - **软件依赖**: ```bash # 安装 Python 3.8+ sudo apt install python3.9 pip install vllm==0.4.1 transformers==4.39.0 ``` #### **2. 下载模型** - 通过 **ModelScope** 下载(推荐): ```bash modelscope download --model=deepseek-ai/DeepSeek-R1-Distill-Qwen-32B --local_dir ./DeepSeek-R1-Distill-Qwen-32B [^2] ``` - 或通过 **HuggingFace**: ```bash git lfs install git clone https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Qwen-32B ``` #### **3. 启动 vLLM 服务** ```bash vllm serve \ --model DeepSeek-R1-Distill-Qwen-32B \ # 模型路径 --quantization awq_marlin \ # 量化方案(可选优化) --max-model-len 18432 \ # 模型最大上下文长度 --max-num-batched-tokens 512 \ # 单次批处理最大 token 数 --tensor-parallel-size 2 \ # GPU 并行数(与显卡数量一致) --gpu-memory-utilization 0.98 \ # 显存利用率 --port 8000 \ # 服务端口 --enforce-eager # 避免内核兼容性问题 [^4] ``` #### **4. 验证服务** 发送测试请求: ```bash curl http://localhost:8000/generate \ -H "Content-Type: application/json" \ -d '{"prompt": "你好,DeepSeek", "max_tokens": 50}' ``` 若返回生成文本,则部署成功。 --- ### **关键参数说明** | **参数** | **作用** | **推荐值** | |---------------------------|----------------------------------------|------------------| | `--tensor-parallel-size` | 多卡并行推理 | `2`(双卡) | | `--max-model-len` | 支持的最大上下文长度 | `18432` | | `--quantization` | 量化优化(降低显存) | `awq_marlin` | | `--gpu-memory-utilization`| 显存利用率(接近1.0需确保显存充足) | `0.98` | --- ### **常见问题解决** 1. **显存不足**: - 增加 `--quantization awq`(需模型支持 AWQ 量化) - 降低 `--max-model-len` 或 `--max-num-batched-tokens` 2. **启动报错**: - 添加 `--enforce-eager` 禁用内核融合 [^4] - 检查 CUDA 版本(需 ≥ 12.1--- ### **性能优化建议** - **多卡负载均衡**:确保 `--tensor-parallel-size` 与 GPU 数量一致。 - **批处理调整**:根据请求量调整 `--max-num-seqs`(默认 1,可适当增加吞吐量)。 - **容器化部署**:使用 Docker 隔离环境(参考 [vLLM 官方文档](https://vllm.ai))[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值