一个监听器服务多个大模型:Lucebox模型负载均衡与多GPU部署实战
一个监听器服务多个大模型Lucebox模型负载均衡与多GPU部署实战【免费下载链接】luceboxLLM speculative inference server for heterogeneous hardware consumer GPUs项目地址: https://gitcode.com/gh_mirrors/lu/luceboxLucebox 是一个面向消费级显卡与异构硬件的LLM 推测式推理服务器speculative inference server它允许你用一个 HTTP 监听器同时服务多个大模型Qwen 跑在独立显卡上DeepSeek 跑在 APU 核显上请求按主设备优先 容量回退的模型负载均衡策略自动分流。本文将带你完成 Lucebox 的多 GPU 部署实战从单命令配置到混合 NVIDIA/AMD 平台的进阶用法。为什么需要一个监听器 模型负载均衡传统做法是每张 GPU 起一个推理进程、每个模型一个端口客户端要自己维护路由表。Lucebox 的模型负载均衡Model Load Balancing把这件事收敛到一个进程、一个端口每个模型独立持有自己的 tokenizer、后端、调度器与 KV 缓存池互不干扰客户端继续用标准 OpenAI Chat Completions / Anthropic Messages / Responses 接口无需任何改造响应中的model字段会明确告知实际生成答案的模型方便排查与日志。官方设计文档见 server/docs/MODEL_LOAD_BALANCING.md。Lucebox 模型负载均衡的工作机制理解三个核心概念就能掌握整个路由行为主设备优先容量回退primary-first fallback每个生成请求都优先发给配置的主 GPU当主模型无法接纳请求并发槽位占满、KV 池预留不足时自动尝试其余模型块。这是偏好 容量回退不是轮询也没有模型绑定——请求里写什么model名都不影响路由。准入由调度器原子判定监听器只负责预留模型槽位真正的接纳判断由每个模型的调度器在工作线程上完成原子地检查真实槽位、prompt KV 预留量与现有解码器的余量。引擎忙碌时会在任何响应头发出之前把请求退回给监听器重试不会污染流式输出。有界等待队列所有候选模型都忙时请求进入内存等待队列上限由--routing-queue-limit控制默认 32设为 0 则立即拒绝。等待不占用 GPU 序列槽位若有模型因上下文限制永远装不下该请求直接返回 400 而不是排队。此外/v1/models列出已加载模型名/props与/status/json暴露路由模式routing: primary-first、等待数、队列上限以及每个模型的capacity、in_flight、执行模式与设备落位——是运维巡检的好帮手。多 GPU 部署一条命令加载两个模型下面以Qwen 3.8 27B 在 R9700hip:0 DeepSeek V4 Flash 在 Strix Halohip:1为例展示完整的负载均衡启动方式luce_server --load-balancing --load-balancing-primary-gpu hip:0 \ --model /models/qwen38-27b.gguf \ --model-name qwen --target-device hip:0 \ --draft /models/qwen38-dflash2.gguf --draft-device hip:0 \ --max-ctx 4096 --max-concurrency 4 --kv-pool-tokens 16384 \ --cache-type-k q8_0 --cache-type-v q8_0 \ --routing-queue-limit 32 \ --host 127.0.0.1 --port 8080 \ --model /models/deepseek-v4-flash.gguf \ --model-name ds4 --target-device hip:1 \ --max-ctx 8192 --max-concurrency 1 \ --ds4-fused-decode --ds4-expert-top-k 6 --ds4-prefill exact配置要点参数作用--model 路径开启一个模型配置块可重复出现多个--target-device backend:gpu指定该模型加载到哪张 GPU与块顺序无关--load-balancing开启主优先回退不开启时只有主模型加载并服务--load-balancing-primary-gpu按目标设备选定主模型必须恰好匹配一个模型块省略时第一个块为主--max-concurrency每模型的并发上限不是全局共享限额启动后发送请求即可model字段可填auto或任意别名{model:auto,messages:[{role:user,content:Write a Python parser.}],max_tokens:512,stream:true}想把主设备换成 Strix Halo 上的 DS4只需把--load-balancing-primary-gpu改为hip:1两个模型的落位保持不变。混合 GPU 平台让每张卡跑最擅长的活Lucebox 的多 GPU 能力不止多模型分卡还包括同一模型的异构拆分双卡张量并行2× RTX 3090 NVLink 跑 Qwen 3.8 27B--target-devices cuda:0,cuda:1 --target-split-mode tensor --peer-access实测 79.7 tok/s 解码专家级异构并行DeepSeek V4 用--profile ds4-r9700-strix把稠密计算、热专家和 DSpark 草稿器放在 R9700hip:0其余路由专家放在 Strix Halo--expert-device hip:1实测 86 tok/s 解码、2K 上下文下 788 tok/s prefill。完整硬件与参数矩阵见 server/docs/RECOMMENDED_SETUPS.mdDeepSeek V4 的双卡配置细节见 server/docs/DS4.md。 小提示先运行luce_server --list-devices打印每张 GPU 的backend:N索引、架构与显存再确定--target-device的值也可以直接传--target-device auto容器会自动挑模型装得下、优先独立显卡的那张卡。Docker 快速部署容器自动挑选 GPU如果不想自己编译Lucebox 提供预构建 Docker 镜像NVIDIA 用:cuda12标签AMD 用:rocm标签。# NVIDIA docker run --rm --gpus all -p 8000:8080 \ -v $PWD/server/models:/opt/lucebox-hub/server/models \ ghcr.io/luce-org/lucebox-hub:cuda12 # AMD docker run --rm --device /dev/kfd --device /dev/dri \ --group-add video --group-add render --security-opt seccompunconfined \ -p 8000:8080 -v $PWD/server/models:/opt/lucebox-hub/server/models \ ghcr.io/luce-org/lucebox-hub:rocm镜像入口脚本会自动完成 GPU 选择与上下文长度估算--target-device、--max-ctx、--profile等参数可直接跟在镜像名后面覆盖默认值devices子命令可预览自动落位结果。环境变量方式LUCE_TARGET、LUCE_TARGET_DEVICE、LUCE_MAX_CTX等适合 compose 文件详见 server/scripts/entrypoint.sh。进阶跨 CUDA / HIP 的混合后端拆分更复杂的场景——例如 CUDA 编译的服务器进程 HIP 编译的远端守护进程——Lucebox 也支持目标模型按层拆分跨后端执行本地进程跑前段层组边界激活通过 IPC 交给backend_ipc_daemon执行剩余层、最终 norm 与 LM headDFlash 推测解码同样可以跨越这条边界。./build-cuda/luce_server models/Qwen3.6-27B-Q4_K_M.gguf \ --target-devices cuda:0,hip:0 \ --target-layer-split 0.5,0.5 \ --target-shard-ipc-bin build-hip/backend_ipc_daemon \ --target-shard-ipc-work-dir /tmp/target_shard \ --host 127.0.0.1 --port 18080注意只支持一个后端边界一个本地点组 一个远端组。PFlash/DFlash 的跨后端拆分与完整标志说明见 server/docs/MIXED_BACKEND.md。常见疑问与避坑清单 请求会中途换模型吗不会。负载均衡在生成开始前选定模型准入后该请求始终留在该模型上即使中途 KV 池耗尽也只按调度器原有策略处理不会迁移。为什么我的请求被退回若所有候选模型都永远装不下该请求上下文/池限制服务器直接返回 400并发占满则等待超过--routing-queue-limit返回 503。token 计数要注意负载均衡启用后不同模型 tokenizer 不同计 token 的请求必须显式指定模型名。命名约束启用负载均衡时模型名必须唯一、非空且不能叫auto启动时会拒绝修改共享进程策略的选项KVFlash、Spark、PFlash、远端草稿等。压测参考官方主机测试套件覆盖主优先回退、槽位/KV 回退、队列溢出与排空、取消与关闭等 496 项检查test_model_routing.cpp走真实 HTTP可参考 server/test/test_model_routing.cpp。文档速查主题文档模型负载均衡原理与全部路由行为server/docs/MODEL_LOAD_BALANCING.md模型 × 硬件推荐配置矩阵server/docs/RECOMMENDED_SETUPS.md跨 CUDA/HIP 混合后端层拆分server/docs/MIXED_BACKEND.mdDeepSeek V4 双卡异构配置server/docs/DS4.md运行时参数完整参考server/README.md小结Lucebox 的模型负载均衡让多 GPU、多模型、单监听器变成一条启动命令的事每个模型独立落位、独立调度主设备优先 容量回退 有界队列保证了请求总会被路由到真正有空闲的引擎上。从单卡 Qwen 到 R9700 Strix Halo 的异构专家并行再到跨 CUDA/HIP 的层级拆分消费者级硬件也能拼出一台不输数据中心的推理节点。【免费下载链接】luceboxLLM speculative inference server for heterogeneous hardware consumer GPUs项目地址: https://gitcode.com/gh_mirrors/lu/lucebox创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

TLS密码套件解析:ECDHE、RSA、AES-GCM与SHA256原理实战

TLS密码套件解析:ECDHE、RSA、AES-GCM与SHA256原理实战

1. 这串字符不是密码,而是TLS握手时的“加密契约”你第一次在Wireshark里抓包看到TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256这一长串字母数字组合时,大概率会下意识把它当成某种密钥、证书或错误代码——我刚接触TLS协议时也这么想。直到某次线上服务突然报…

2026/10/1 2:43:04 阅读更多 →
Zhzznengti《智能体》词条汉语拼音字母标调拼写实测案例

Zhzznengti《智能体》词条汉语拼音字母标调拼写实测案例

此文基于这项规则:汉语拼音字母标调规则 Zhzznengti Zhzznengti (agent) shzhh nenggou ganzh huanljngr bng caequh xngdon y shlxan tedng muzbiao d dailix ti. Tap key s ruanjanc, yngrjanc huo yi g xirtonx, jusbeir ziczhuxing, shsdyingxing h jiohuz ne…

2026/10/1 2:42:03 阅读更多 →
DBX 数据库结构对比与AI SQL优化实战指南:如何快速定位环境差异并搞定慢查询

DBX 数据库结构对比与AI SQL优化实战指南:如何快速定位环境差异并搞定慢查询

DBX 数据库结构对比与AI SQL优化实战指南:如何快速定位环境差异并搞定慢查询 【免费下载链接】dbx 25 MB lightweight cross-platform database client for 100 databases, including MySQL, PostgreSQL, SQLite, Redis, MongoDB, DuckDB, SQL Server, and Dameng. …

2026/10/1 2:42:03 阅读更多 →

最新新闻

手语识别毕设实战:PyTorch+CNN-LSTM+PyQt5全流程落地

手语识别毕设实战:PyTorch+CNN-LSTM+PyQt5全流程落地

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 3:52:42 阅读更多 →
开源WMS选型实战指南:从技术架构到生产落地

开源WMS选型实战指南:从技术架构到生产落地

1. 这不是“软件推荐列表”,而是一份仓库管理者用血汗换来的开源WMS选型实战指南你点开这个标题,大概率正被三件事压得喘不过气:库存数据对不上账、拣货员在货架间绕圈找货、系统一到月底结账就卡死——这些不是IT问题,是每天真实…

2026/10/1 3:52:42 阅读更多 →
原生 JavaScript 实现密码框小眼睛:光标恢复与无障碍

原生 JavaScript 实现密码框小眼睛:光标恢复与无障碍

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 3:52:42 阅读更多 →
Minecraft服务器优化:自制模组解决Create卡顿与深暗之域性能问题

Minecraft服务器优化:自制模组解决Create卡顿与深暗之域性能问题

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 3:52:42 阅读更多 →
YOLOv8快递包裹破损检测:从数据集制作到可视化界面部署全攻略

YOLOv8快递包裹破损检测:从数据集制作到可视化界面部署全攻略

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 3:52:42 阅读更多 →
VC6老工程数字识别救星:tesseract-2.01源码包编译与调优实战

VC6老工程数字识别救星:tesseract-2.01源码包编译与调优实战

简介:tesseract-2.01.rar 是一份面向数字与英文 OCR 识别场景的开源工具源码包,基于 Google 维护的 Tesseract 引擎早期版本,并针对 VC6.0 编译环境做了适配,适合需要在老项目或旧系统中集成文字识别的开发者,以及希望…

2026/10/1 3:51:41 阅读更多 →

日新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 1:01:17 阅读更多 →

周新闻

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/9/30 13:14:22 阅读更多 →
SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/9/30 18:13:06 阅读更多 →
FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏 【免费下载链接】FireRed-OpenStoryline FireRed-OpenStoryline is an AI video editing agent that transforms manual editing into intention-driven directing through natural language …

2026/9/30 13:14:49 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 1:01:17 阅读更多 →