百斯通服务

RK182X 多卡级联推理方案
按 Decoder 层分段部署到 2 张或 4 张算力卡,在一台 Host 上扩展端侧大模型容量与长输入 Prefill 吞吐

单张 RK182X 算力卡有明确的容量上限:模型必须装进本卡内存,且每个 Token 都要经过同一颗芯片。级联架构把这道天花板打开 —— 把 Transformer 按 Decoder 层连续切分成若干段(Segment),每段落在独立的一张卡上,由 Host 统一调度整条链。容量随卡数增长;卡与卡之间只传 中间特征(Hidden States),模型权重始终留在各自的卡上。

2 / 4 卡配置按 Decoder 层分段PCIe / PCIe Switch / USB 3.0OpenAI 兼容服务化

一台 Host、最多 4 张算力卡、本地跑到 27B 模型级 —— 不出内网、不上云,前端设备也不用重新架构。

为什么需要级联

级联能带来什么

三项彼此独立的收益,且都在同一套 Host 平台上实现。

突破单卡容量边界

容量不再受一张卡的本地内存约束。把 Decoder 堆叠切分到 2 张或 4 张设备上,实际可用上限就能从小模型级抬到 27B 级,而且全程留在本地。

长输入 Prefill 提速

长输入按 Bucket 拆分后沿分段链流水处理:第 N 段在做第 k 个 Bucket 时,第 N−1 段已经在处理第 k+1 个。长 Prompt 的吞吐是叠加起来的,而不是排在单张卡后面等。

2 卡 / 4 卡灵活组合,三种接入方式

PCIe 独立直连、PCIe Switch 扩展、USB 3.0 HUB 共享,按可用接口、机箱空间和 BOM 选。三种拓扑用的是同一套分段模型和同一套 Runtime 接口。

工作原理

级联原理

Host 统一编排,每张卡负责 Decoder 堆叠中连续的一段。

Host分词器词向量映射设备发现分段调度Logits / 采样分段 0卡 0Decoder 层 0..ksegment0.rknn + .weight分段 1卡 1层 k+1..msegment1.rknn + .weight分段 N卡 N层 m+1..z+ Final Norm + LM Headsegment2.rknn + .weight中间特征输出 Token · 循环stage_count = N · devices ≥ stage_count
图 1 · 按 Decoder 层分段与级联执行

1 · Host 侧分词

分词器与词向量映射跑在 Host CPU 上,文本先转 Token ID,再转词向量。

2 · Host 分段调度

设备发现、分段调度、Bucket 队列都在 Host 侧。哪一段在哪张卡上跑、按什么顺序跑,由 Host 决定。

3 · 各段链式执行

卡 0 执行 Decoder 层 0..k,把中间特征交给卡 1 继续算 k+1..m,依此传递到末段。

4 · 末段输出 Logits

末段承载尾部 Decoder 层加 Final Norm 与 LM Head,Logits 回到 Host 采样,Decode 循环继续。

调度规则:stage_count = 分段数,且 可用设备数 ≥ stage_count。中间特征经 Host 侧传递;模型权重常驻各自卡上,不在链路上搬运。

硬件方案

三种接入方式

三种接入承载同一套分段模型与同一套 Runtime 接口 —— 按接口数量、机箱空间和 BOM 做选择。

PCIe 独立直连Host卡 0RK182X卡 1RK182X卡 2RK182X卡 3RK182X每卡独立一路PCIe Switch 扩展HostPCIe Switch 扩展卡 0RK182X卡 1RK182X卡 2RK182X卡 3RK182X上行一路,带宽独立分配USB 3.0 HUB 扩展HostUSB 3.0 HUB 扩展卡 0RK182X卡 1RK182X卡 2RK182X卡 3RK182X多卡共享一个 HUB
图 2 · 2 / 4 卡的三种接入拓扑
接入方式上行带宽占用 Host 接口适用场景
PCIe 独立直连(每卡一路)PCIe 2.0 x1 × NNHost 还有富余 PCIe 通道,且希望拓扑最简单 —— 不要 Switch、不要 HUB、不共享总线。
PCIe Switch 扩展PCIe 2.0 x1 / PCIe 3.0 x41Host 的 PCIe 通道紧张。上行只占一路,Switch 负责把带宽独立分给每张卡。
USB 3.0 HUB 扩展USB 3.0 × 1 (shared)1集成最快,也适合改造既有设备。4 张卡共享一个 USB 3.0 HUB。

参考平台实测显示:长输入 Prefill 场景下 PCIe 与 USB 3.0 差距在几个百分点以内,PCIe 在首字时延(TTFT)与 Prefill 上约有 2–3% 的小幅优势。短上下文时两者差异很小,因此 USB 3.0 往往是更务实的第一步。

执行模型

Prefill 流水线与 Decode 循环

两个阶段对分段链的使用方式完全不同 —— 级联的收益恰恰来自这个差异。

PrefillBucket 沿分段链重叠执行B0B1B2B0B1B2B0B1B2分段 0分段 1分段 Nt0t1t2t3t4Decode单个 Token 逐段走完整条链Host分段 0分段 1分段 NLogits输出 Token · 循环
图 3 · Prefill Bucket 流水线 vs Decode 顺序循环

Prefill · Bucket 流水

长输入先切分成 Bucket,再沿分段链队列化重叠执行:第 0 段处理 Bucket 1 时,第 1 段还在收尾 Bucket 0。长 Prompt 的吞吐就是靠这个重叠提上来的 —— 输入越长,收益越明显。

Decode · 顺序链

Decode 一次只出一个 Token。每个 Token 都要逐段走完整条链,末段输出 Logits 后由 Host 采样,再进入下一轮。这个阶段是严格顺序的,因此 Decode 速度取决于最慢的那一段。

模型怎么切

分段不是简单对半切。各层的权重体积与内存占用差别很大(注意力块与 MLP 块的差异尤其明显),工具链会按量化后的权重规模与分段内存占用做均衡,把各段拉平。以 Qwen3.5-9B 为例,共 32 个 Decoder 层会被切成 19 层与 13 层两段,而不是 16 / 16。

分段 / 卡承载的 Decoder 层产出物
分段 0 · 卡 0Layer 0 – 18 · 19 个 Decoder 层segment0.rknn + segment0.weight
分段 1 · 卡 1Layer 19 – 31 · 13 个 Decoder 层 + Final Norm + LM Headsegment1.rknn + segment1.weight

分段由工具链产出,但真正决定成败的参数 —— 分段数、目标上下文、量化方案、连接方式 —— 必须结合你的时延目标做工程决策,不能直接吃默认值。

能力边界

什么配置能跑到哪一级模型

量级参考,不是保证值。实际吞吐取决于量化方案、上下文长度与批大小。

配置芯片与模型量级已验证上下文
2 卡级联2 × RK182X · 9B4K / 8K
4 卡级联4 × RK182X · 27B4K / 8K
Host 平台RK3588 / RK3576 / x86 (Windows)RKNN3 Runtime · rkllm3-server

首字时延、Prefill 吞吐、Decode 吞吐、系统功耗与 Host 内存占用,都会随量化方案和配置显著变化。我们按配置提供对应的实测数据 —— 告知模型、上下文与卡数,我们会给出同口径的测试报告。

百斯通服务

百斯通如何交付一套级联设计

这不是一台现货整机。卡堆叠、Switch、HUB、机箱都是工程决策 —— 这些工程正是我们承接的部分。

百斯通是瑞芯微全系列 IDH 设计伙伴。我们把这套级联架构落成你场景里可验证的产品 —— 从模型可行性一直到小批试产。

可行性评估与分段策略

先分析你的模型结构(Decoder 层数、Embedding、Final Norm、LM Head、特殊 Cache / State),再结合你的时延预算确定目标:卡数、连接方式、上下文长度与量化方案。分段方案由这一步产出,而不是取默认值。

载板与接口设计

PCIe 独立直连、PCIe Switch 或 USB 3.0 HUB —— 按你的机箱允许的形式,设计载板、时钟与电源树、连接器布局与信号完整性。

散热与结构集成

多卡密度的本质是散热问题,其次才是算力问题。我们按持续满载工况设计散热与风道,并把卡堆叠整合进你的结构包络与安装约束。

BSP、驱动与 Runtime 对齐

Host BSP 集成、设备枚举、Runtime 对齐,以及全部各段的输入 / Shape / 采样一致性 —— 包括与你现有应用层的接口兼容。

验证与小批试产

Prefill 与 Decode 实测、持续满载下的稳定性与老化测试、功耗表征,以及进入小批试产与量产前的 DFM 评审。

你会拿到什么

可行性评估与分段报告 · 载板原理图与 PCB · Host BSP 与设备树集成 · 分段与转换脚本 · Runtime 对齐说明 · 含 Prefill / Decode / 稳定性 / 功耗数据的整机验证报告 · DFM 评审与小批试产支持。

开发接入

从你的模型到多卡硅片的五步

工具链把 HuggingFace / PyTorch 权重转成逐段产物。真正的工作量在结构分析与 Runtime 对齐,而不在转换命令本身。

模型来源HF / PyTorch / ONNX结构评估步骤 1分段导出步骤 2RKNN转换步骤 3Runtime对齐步骤 4目标卡验证步骤 5逐段产物segment*.rknn + segment*.weightRKNN3 Toolkitrknn3-model-zoo/examples/multicard
图 4 · 从模型到多卡硅片的五个步骤

步骤

步骤 1结构评估
步骤 2分段导出
步骤 3RKNN 转换
步骤 4Runtime 对齐
步骤 5目标卡验证

结构评估到底看什么

做什么产出
分段导出与转换动手切之前先确认模型的实际结构 —— Decoder 层数、Embedding、Final Norm、LM Head,以及是否带有特殊的 Cache / State。然后确认目标:模型版本、目标上下文、目标卡数与连接方式,以及你需要达到的 Prefill / Decode 性能。segment*.rknn
segment*.weight
开发参考rknn3-model-zoo/examples/multicarddemo + scripts
服务化rkllm3-serverOpenAI-compatible API

只要能干净导出为 ONNX 且 Decoder 结构规整,就可以分段 —— 这条管线并不绑定某一模型家族。带自定义 Cache / State 的特殊结构需要额外的对齐工作,会在第一步评估中给出结论。

常见问题

工程师最常问的级联问题

每个评估阶段几乎都会问到的问题,给出直接回答。

为什么不用一张更大的卡?

单卡的边界就是本地内存。级联通过把 Decoder 堆叠切片放到多张设备上,让容量随卡数增长,而不是被单颗封装锁死。另一个好处是可以先用 2 张卡,之后再补 2 张,架构不用推倒重来。

最多支持几张卡?

当前支持的配置是 2 卡与 4 卡。调度器本质上只要求「可用设备数 ≥ 分段数」,所以设计并不写死在四张。

卡与卡之间要传多少数据?

只传中间特征 —— 也就是分段边界处的逐层激活值。模型权重常驻各自卡上,从不跨链路搬运,这也是链路带宽对吞吐影响有限的原因。

必须走 PCIe 吗?USB 3.0 够不够?

两种都能用。长输入 Prefill 场景下 PCIe 相对 USB 3.0 约有 2–3% 的优势;短上下文差异很小。如果 Host 的 PCIe 通道紧张,或者是在改造既有整机,USB 3.0 通常更务实。

需要什么样的 Host?

RK3588 / RK3576,跑 ARM64 Linux 或 Android;也可以是 x86 Windows 主机。Host 负责分词、词向量、调度、Logits 与采样,推理本身跑在卡上。

Host 的 CPU 和内存开销大吗?

开销很低 —— Host 只做编排,不做推理。具体的 CPU 与内存占用取决于上下文长度和卡数,我们按你的目标配置给出实测值,而不是抛一个笼统的数字。

哪些模型可以做级联?

只要能干净导出为 ONNX,且是规整的 Transformer Decoder 结构,都可以。把 32 层 Decoder 均衡切到 2 张卡、把更大的堆叠切到 4 张卡,都是常规配置;带自定义 Cache / State 的模型需要额外对齐工作。

它是服务化接口还是嵌入式库?

两种形态都有。服务化层已经适配为 OpenAI 兼容 API,现有应用代码可以直接把级联当作一个普通的模型端点来调用。

相关内容

相关资源

本页数据口径

架构参数(卡数、Decoder 层区间、接口版本、上下文档位)是级联设计与原厂参考工具链的确定属性。

能力量级(2 卡 9B 级、4 卡 27B 级)是参考平台评估得出的量级区间,不构成对特定模型、量化方案或上下文的保证。

实测性能与功耗数值本页有意不公开。它们高度依赖量化方案与配置;我们按你的目标配置提供同口径测试报告。

模型已经装不下了?

把模型、需要支持的上下文和时延目标发给我们,我们会给出卡数建议、连接方式与分段策略。

申请方案评估

tomyao@bestom.net