十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

DB-GPT 本地模型运行报 “CUDA out of memory“ 怎么排查?

DB-GPT 本地模型运行报 “CUDA out of memory“ 怎么排查? DB-GPT 本地模型运行报 CUDA out of memory 怎么排查【免费下载链接】DB-GPTopen-source agentic AI data assistant for the next generation of AI Data products.项目地址: https://gitcode.com/GitHub_Trending/db/DB-GPT在 DB-GPT 中用 HuggingFace 或 vLLM provider 跑本地模型时比如uv run dbgpt start webserver --config configs/dbgpt-local-vllm.toml如果显存不够启动或首次推理阶段会抛出CUDA out of memory或RuntimeError: CUDA error。官方排障文档 Model Issues 把这个现象单列为 OOM 条目给出的处理思路是换更小的模型、开量化、限制可见 GPU或者干脆切到 API 代理绕开本地 GPU。本文按这条路径给出每一步的具体配置和验证方式。先确认现象属于 OOM按 troubleshooting/llm.md 的定义OOM 的症状是CUDA out of memory或RuntimeError: CUDA error。如果日志里是别的报错比如Connection refused、Model not found说明问题不在显存应先走对应条目。判断显存是否够用有一个直接依据vLLM provider 文档 给出了常用模型的显存需求表文档示例值ModelVRAM RequiredNotesDeepSeek-R1-Distill-Qwen-1.5B~4 GBSmall, good for testingQwen2.5-7B-Instruct~16 GBGood balanceQwen2.5-Coder-7B-Instruct~16 GBCode-focusedGLM-4-9B-Chat~20 GBStrong Chinese English同一文档的前置条件也说明NVIDIA GPU 需 CUDA 12.17B 级别模型需要 8 GB 显存。如果你的显存小于当前所选模型对应的需求值OOM 是预期结果而不是配置错误。排查路径一换更小的模型改 TOML 配置最小改动是把配置文件里[[models.llms]]的name换成小模型。排障文档给出的示例文档示例模型名按你本地实际可用的替换[[models.llms]] name Qwen2.5-Coder-0.5B-Instruct # Smaller model仓库自带的小型本地配置可以参考 configs/dbgpt-local-qwen.toml其中name Qwen2.5-Coder-0.5B-Instruct、provider hf并通过path指定本地模型目录。改完配置后用原命令重新启动即可例如uv run dbgpt start webserver --config configs/dbgpt-local-vllm.toml排查路径二开启 4-bit 量化如果不想降模型规格可以给模型 worker 加--load_4bit参数。排障文档中的命令是dbgpt start worker --model_name ... --load_4bit结合 集群部署文档 中dbgpt start worker的完整参数说明一条可执行的写法是--model_name、--model_path、--controller_addr换成你的实际值文档示例中为glm-4-9b-chat等dbgpt start worker \ --model_name glm-4-9b-chat \ --model_path /app/models/glm-4-9b-chat \ --port 8001 \ --controller_addr http://127.0.0.1:8000 \ --load_4bitcluster.md的 CLI reference 同时列出了相关选项及默认值--load_8bit8-bit 量化默认 false、--load_4bit4-bit 量化默认 false、--quant_typefp4或nf4仅load_4bitTrue时有效默认nf4、--use_double_quant嵌套量化默认 True。另外使用 vLLM 路径做量化时依赖安装需要带quant_bnbextra见 providers/vllm.md 的安装命令其uv sync --all-packages中包含--extra quant_bnb该文档的 Troubleshooting 表也明确写了 “Out of GPU memory → Use a smaller model or enable quantization (quant_bnb)”。需要注意文档间存在新旧两套写法较早的 LLM FAQQ4 Not Enough Memory描述的是在.env文件中设置QUANTIZE_8bitTrue或QUANTIZE_4bitTrue8-bit 默认开启以及用MAX_GPU_MEMORYxxGib限制单卡上限。而新文档体系troubleshooting、cluster、vLLM统一改用 CLI 参数--load_4bit/--load_8bit。本文以新文档路径为准.env写法保留作旧版部署的参考。排查路径三限制可见 GPU如果机器上有多块 GPUDB-GPT 默认会使用所有可见 GPULLM FAQ Q3显存会被分摊。用CUDA_VISIBLE_DEVICES把模型固定到指定卡上。环境变量参考 中该变量的用途是 “Restrict which GPUs are visible”示例值0,1vLLM 文档 给出的实际用法文档示例配置路径按你的实际文件替换CUDA_VISIBLE_DEVICES0 uv run dbgpt start webserver --config configs/dbgpt-local-vllm.toml同一参考中还有DEVICE变量可以强制设备类型为cuda、cpu或mps可用于在 GPU 显存不足时先以 CPU 方式跑通链路做对照排查。排查路径四减小上下文窗口如果 OOM 发生在长对话或大输入场景Model Issues 的 “Slow model responses” 表指出原因之一是 “Large context window”对应处理是 “Reducemax_context_sizein config”。max_context_size是 worker/model 启动参数默认值 4096见 cluster.md 的 CLI reference 和 CLI 文档 中dbgpt model start --help的输出可在启动 worker 或修改配置时调低。兜底方案切到 API 代理不占本地 GPU如果本地显存无论如何都不够排障文档给出的最后一条路是改用远程 API provider完全绕开本地 GPU[[models.llms]] provider proxy/openai # Uses remote API instead of local GPU这是 quick-start 推荐的最短路径无需 GPU 即可运行 DB-GPT 聊天适合在显存问题解决前先保证业务可用。验证修复是否生效按部署形态分别验证集群/worker 模式执行dbgpt model list查看各模型实例的Healthy列。cluster.md 给出的示例输出文档示例为---------------------------------------------- | Model Name | Model Type | Port | Healthy | ---------------------------------------------- | glm-4-9b-chat | llm | 8001 | True | ----------------------------------------------目标状态是模型注册成功且Healthy为True且不再出现CUDA out of memory。单机 webserver 模式按 quick-start 的验证清单webserver 正常运行、模型配置加载无报错、http://localhost:5670的 Web UI 能打开并完成一次聊天。限制与说明显存需求表中的数值来自 providers/vllm.md 的文档示例仅用于估算选型不是精确承诺量化后的实际占用文档未给出。--load_4bit依赖 bitsandbytes 类量化能力走 vLLM 路径时需按 vllm.md 安装命令带上--extra quant_bnb。旧版.env方式QUANTIZE_8bit/QUANTIZE_4bit/MAX_GPU_MEMORY与新版 CLI 参数并存于不同文档中按你所用的启动方式python dbgpt/app/dbgpt_server.py的旧入口或dbgpt start的新入口选择对应写法。【免费下载链接】DB-GPTopen-source agentic AI data assistant for the next generation of AI Data products.项目地址: https://gitcode.com/GitHub_Trending/db/DB-GPT创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表