RTX 4090 48GB与A100 80GB在香港GPU服务器上,推理吞吐应看哪些指标
很多 GPU 服务器的对比结果,问题不在于显存带宽参数写错,而在于把“显存更大”“GPU 利用率更高”直接等同于“推理吞吐更高”。在香港 GPU 服务器上比较 RTX 4090 48GB 与 A100 80GB,真正需要确认的是:48GB 的来源、模型是否能够单卡完整驻留、推理处于 Prefill 还是 Decode 阶段,以及在目标并发下的 p95 延迟和有效输出令牌吞吐。
如果 RTX 4090 48GB 实际上是两张 24GB 显卡,则它与单张 48GB 设备不是同一种架构;如果是非标准单卡 48GB 改装版本,也不能直接套用普通 RTX 4090 的性能参数。A100 80GB 同样要区分 PCIe 与 SXM 形态。对在线推理而言,建议把比较结果写成“在固定模型、精度、输入输出长度、并发和服务端框架下,哪一类设备达到目标延迟时的有效 tokens/s 更高”,而不是只比较理论显存带宽。
先核对“RTX 4090 48GB”的硬件身份
48GB 不一定代表一张 48GB 显卡
标准零售版 RTX 4090 通常是 24GB GDDR6X 显存,显存带宽约为 1,008 GB/s。香港 GPU 服务器报价中出现“RTX 4090 48GB”,常见情况至少有三种:
- 两张 24GB RTX 4090,合计标注为 48GB;
- 非标准单卡 48GB 版本,需核实显存颗粒、固件、驱动和长期稳定性;
- 将两张显卡的总显存容量作为一个套餐容量展示,但软件仍然把它们识别为两个独立 GPU。
第一种情况不能理解为“单卡拥有 48GB 连续显存”。在模型推理中,两个 GPU 的显存通常需要通过张量并行、流水线并行或其他分片方式共同使用。模型权重、KV Cache 和中间激活会被切分到不同 GPU 上,通信成本取决于 PCIe 拓扑、CPU 插槽和推理框架,而不是简单地把两个显存容量相加。

可以先在 Linux 主机上核对设备数量、显存容量和 PCIe 地址:
nvidia-smi --query-gpu=index,name,memory.total,pci.bus_id,driver_version,power.limit --format=csv
nvidia-smi -L
nvidia-smi topo -m
示例结果:
index, name, memory.total [MiB], pci.bus_id, driver_version, power.limit [W]
0, NVIDIA GeForce RTX 4090, 24564 MiB, 00000000:41:00.0, 550.xx, 450.00 W
1, NVIDIA GeForce RTX 4090, 24564 MiB, 00000000:81:00.0, 550.xx, 450.00 W
如果系统显示两个 GPU,每个约 24GB,那么“48GB”是两张卡的合计容量。此时应单独测试单卡推理和双卡分片推理,不能把它与单张 A100 80GB 直接作同一维度的单卡比较。
如果系统只显示一个设备,却报告约 48GB 显存,则应进一步要求服务商提供具体 SKU、显存类型、带宽、驱动兼容性和压力测试条件。这个名称不能自动推导出“RTX 4090 的性能乘以两倍显存”。
A100 80GB 也要确认 PCIe 或 SXM
A100 80GB 通常使用 HBM2e,常见显存带宽约在 1.9~2.0 TB/s 范围,具体数值会因 PCIe、SXM 和具体批次有所差异。与普通 RTX 4090 约 1.0 TB/s 的 GDDR6X 带宽相比,A100 80GB 在连续读写、长上下文 Prefill 和较大批量场景中有更大的带宽余量。
但 A100 80GB PCIe 与 SXM 不是完全等价的设备:
| 核对项目 | RTX 4090 24GB 单卡 | RTX 4090 48GB 服务器标注 | A100 80GB PCIe/SXM |
|---|---|---|---|
| 常见显存形态 | GDDR6X | 可能是双卡合计或非标准单卡 | HBM2e |
| 单设备显存容量 | 约 24GB | 必须核验 | 80GB |
| 常见显存带宽 | 约 1,008 GB/s | 取决于实际设备数量和型号 | 约 1.9~2.0 TB/s |
| 显存是否天然连续 | 是 | 双卡合计时不是 | 是 |
| 多卡互联 | 通常依赖 PCIe | 通常依赖 PCIe | 取决于 PCIe/SXM 平台 |
| MIG 分区能力 | 通常不具备 A100 MIG | 通常不具备 | A100 支持,需看平台和软件配置 |
| 适合重点观察 | 单卡速度、功耗、显存余量 | 拓扑、分片通信和实际容量 | HBM 带宽、容量、隔离和多卡互联 |
对 A100 的验收不应只写“A100 80GB”,还应记录是 PCIe 还是 SXM、是否启用 MIG、是否存在 NVLink 路径、CPU 是否跨 NUMA 节点,以及服务器是否对功耗进行了限制。
推理吞吐应拆成哪些指标
Prefill 与 Decode 必须分开
生成式模型推理至少包含两个性质不同的阶段:
- Prefill:读取输入提示词并计算上下文,主要受输入长度、矩阵计算能力、显存带宽和批量影响;
- Decode:逐个生成输出令牌,每一步都要读取模型权重和 KV Cache,通常更容易受到显存带宽、KV Cache 容量和并发调度影响。
同一张 GPU 可能在 Prefill 阶段表现很好,但在低并发 Decode 阶段并没有同等比例的输出速度提升。反过来,某些设备在短输入、短输出的小请求上延迟较低,却在长上下文批处理时受到显存带宽限制。
因此至少要记录以下指标:

| 指标 | 代表含义 | 适合回答的问题 |
|---|---|---|
| TTFT | 从请求进入服务到返回首个输出令牌的时间 | 首字响应是否足够快 |
| Queue Time | 请求等待调度或批处理的时间 | 并发上升后是否开始排队 |
| Prefill Throughput | 输入令牌处理速度,通常以 input tokens/s 表示 | 长提示词、RAG、长上下文是否受益 |
| ITL/TPOT | 相邻输出令牌之间的时间,或平均每个输出令牌耗时 | 流式输出是否顺畅 |
| Decode Throughput | 输出令牌吞吐,通常以 output tokens/s 表示 | 单请求和批量生成能力 |
| E2E Latency | 从请求到完整结果的总耗时 | 用户完成一次请求需要多久 |
| Aggregate Throughput | 一个时间窗口内所有请求生成的总令牌数/秒 | 服务器整体承载能力 |
| p95/p99 | 95%或99%请求的尾延迟 | 高峰时的稳定性和排队风险 |
| GPU 显存占用 | 权重、KV Cache、激活和运行时开销 | 是否有扩容余量 |
| GPU 功耗与温度 | 长时间满载下的运行状态 | 是否发生降频或持续性能下降 |
单看“平均 tokens/s”不够。一个服务可能平均输出速度较高,但 p99 TTFT 已经出现数秒排队;也可能单请求速度普通,在并发 16 或 32 时总吞吐更好。线上服务应同时看单请求体验和单位时间总产出。
不同吞吐口径不能混用
“tokens/s”至少有三种常见口径:
- 单请求输出速度:一个请求每秒生成多少 output tokens;
- 批量聚合输出速度:所有并发请求合计每秒生成多少 output tokens;
- Prefill 速度:每秒处理多少 input tokens。
例如,单请求 Decode 速度为 80 output tokens/s,并发 8 时聚合吞吐可能接近 500~600 output tokens/s,但并不意味着每个请求仍保持 80 tokens/s。调度、显存、KV Cache 和批处理都会改变结果。
测试报告应明确写出:
模型:某 7B 指令模型
精度:BF16
输入长度:512 input tokens
输出长度:128 output tokens
并发:1、4、8、16
统计窗口:预热后连续 5 分钟
吞吐口径:生成 output tokens 总数 / 墙钟时间
延迟:TTFT、E2E、ITL 的 p50、p95、p99
输入和输出长度必须用 tokenizer 统计,不能用汉字数、字符数或接口请求体字节数代替。中文、英文、代码和混合文本的 token 比例不同,使用“每请求约 500 字”来比较两台设备,会引入明显误差。
显存带宽为什么会影响推理结果
A100 的带宽优势更容易出现在长上下文和批量场景
推理过程中,显存带宽不是把一段文件从显存复制到 CPU,而是 GPU 内部持续读取模型权重、激活和 KV Cache。Decode 阶段每生成一个令牌,都需要重复访问大量模型参数,因此有效带宽会直接影响每步生成时间。
在相同模型和精度下,可以把显存带宽理解为一个重要的“权重读取上限”:
- RTX 4090 单卡的带宽约为 1.0 TB/s;
- A100 80GB 的带宽通常约为 1.9~2.0 TB/s;
- A100 的带宽大约是普通 RTX 4090 的两倍左右,但实际 tokens/s 不会因此自动变成两倍。
原因包括:
- 模型计算量可能已经成为主要瓶颈;
- 小批量下 GPU 没有充分利用;
- 推理框架的 Kernel 融合程度不同;
- KV Cache 访问模式不连续;
- 请求长度差异导致动态批处理效率下降;
- PCIe、CPU 调度或网络输入成为瓶颈;
- 4090 的较高频率和较新的 Tensor Core 架构可能抵消部分带宽差距。
所以,显存带宽更适合作为解释指标,而不是最终验收指标。最终仍应回到 Prefill tokens/s、Decode tokens/s 和 p95 延迟。
显存容量决定模型能否稳定容纳
显存容量首先影响的是“能否运行”,其次才是“能运行多快”。推理显存通常由以下几部分构成:
- 模型权重;
- KV Cache;
- 中间激活;
- CUDA Runtime、通信缓冲区和算子工作区;
- 框架预留的显存;
- 多请求动态批处理所需的额外空间。
粗略计算时,模型权重容量可以按下式估算:
权重容量 ≈ 参数量 × 每个参数占用字节数
以十进制 GB 进行约算:
| 模型规模 | FP16/BF16 权重约占用 | 4-bit 权重约占用 | 实际运行还需考虑 |
|---|---|---|---|
| 7B | 约 14GB | 约 3.5~5GB | Runtime、KV Cache、激活 |
| 13B | 约 26GB | 约 6.5~9GB | 量化元数据和批处理余量 |
| 34B | 约 68GB | 约 17~23GB | 单卡容量和上下文长度 |
| 70B | 约 140GB | 约 35~48GB | KV Cache、量化格式和框架开销 |
这里的 4-bit 数值只是模型权重的近似值,实际会因量化分组、缩放参数、嵌入层、输出层和框架格式而变化。一个标称 48GB 的设备,并不意味着可以把 48GB 全部用于权重。若需要保留 10%~20%的运行余量,单卡 48GB 对大模型 4-bit 推理可能在较短上下文下可行,但并发一上升,KV Cache 可能很快成为限制。
A100 80GB 的优势是容量余量更大。相同模型、相同量化格式和相同上下文长度下,它可以容纳更多并发请求,或在不切分模型的情况下支持更长上下文。这里的优势不只体现在“能放下更大的模型”,也体现在减少多卡分片通信和显存不足导致的排队。
KV Cache 会随并发和上下文增长
KV Cache 可用下面的简化公式估算:
单个 token 的 KV Cache 字节数
≈ 2 × KV 头数量 × Head Dimension × 层数 × 每元素字节数
其中前面的 2 代表 K 和 V。采用 GQA 或 MQA 的模型,其 KV 头数量小于注意力头数量,KV Cache 会明显减少。
例如,一个采用 GQA 的模型,假设:
- KV 头数为 8;
- Head Dimension 为 128;
- 层数为 80;
- KV 使用 FP16,每个元素 2 字节。
则单个 token 的 KV Cache 约为:
2 × 8 × 128 × 80 × 2 = 327,680 字节
也就是约 0.31 MiB。单个请求积累 8,000 个 token 时,KV Cache 约需要 2.5 GiB;如果同时有 16 个相似请求,仅 KV Cache 就可能超过 40 GiB,还没有计算模型权重和运行时开销。

这也是为什么“模型能够加载”不等于“能够稳定承载并发”。测试 RTX 4090 48GB 时,至少要记录以下三个水位:
- 模型加载完成后的基础显存占用;
- 单请求达到目标上下文后的显存占用;
- 并发达到目标值时的显存峰值和 OOM 风险。
除显存带宽外,哪些变量会改变结果
精度和量化格式会改变硬件差距
RTX 4090 和 A100 在 FP16、BF16、INT8 等路径上的实际表现,取决于模型、框架和 Kernel 是否命中高效实现。测试时应固定精度,不要拿 RTX 4090 的 FP8 结果与 A100 的 BF16 结果直接比较,也不要把不同量化格式的模型大小和吞吐放在同一栏中。
需要分别核对:
- FP16 与 BF16 是否使用 Tensor Core;
- INT8 是权重量化、激活量化,还是权重与激活同时量化;
- 4-bit 使用 GPTQ、AWQ、GPTQ Marlin、bitsandbytes 或其他 Kernel;
- 是否启用 Flash Attention、Paged Attention 和融合算子;
- 是否启用 CUDA Graph;
- 量化后输出质量是否满足业务要求。
在短输入、低并发和已经高度优化的 4-bit 推理中,RTX 4090 可能凭借较高时钟频率和较新的消费级架构取得很强的单请求速度。A100 的优势则更容易在大显存、长上下文、连续批处理、显存带宽和多租户隔离中体现。
CPU、内存和 I/O 会影响首字延迟
GPU 不是每个请求阶段的唯一执行者。以下情况会导致 GPU 利用率不高,但 TTFT 仍然很差:
- CPU 负责分词、JSON 解析、请求校验或 RAG 检索;
- 主机内存不足,模型加载或缓存触发交换;
- GPU 与 CPU 跨 NUMA 节点,数据需要经过远端内存;
- 业务从对象存储或网络文件系统读取上下文;
- 多个 Worker 重复加载模型或争用 CPU;
- 网络接口、负载均衡或上游检索服务出现排队。
建议在测试窗口同时监控:
| 资源 | 重点指标 | 典型判断 |
|---|---|---|
| GPU | SM 利用率、显存读写、Tensor Core 活跃度、功耗 | GPU 是否真正处于计算或带宽瓶颈 |
| 显存 | 已用、峰值、分配失败、KV Cache 使用量 | 并发提升前是否已接近上限 |
| CPU | 总利用率、单核利用率、上下文切换 | 是否被分词、调度或检索拖慢 |
| 系统内存 | 可用内存、Swap、NUMA 分布 | 是否存在内存压力或跨节点访问 |
| 磁盘和网络 | I/O 等待、读取延迟、入站流量 | 是否由模型加载、RAG 或数据读取造成排队 |
| 温度和功耗 | 持续功耗、温度、频率 | 长时间运行是否降频 |
GPU 利用率为 95%并不一定代表服务已经达到最佳吞吐。如果显存带宽已经饱和,或者 GPU 在等待同步,SM 利用率和实际 tokens/s 可能并不匹配。相反,GPU 利用率只有 60%,但 CPU 正在等待远程检索结果时,增加 GPU 数量也无法直接降低 TTFT。
香港机房位置影响端到端延迟,不改变 GPU 原始算力
香港服务器的地理位置主要影响网络往返时间、上游 API 延迟、对象存储访问和跨区域数据传输。它不会改变 RTX 4090 或 A100 的单卡理论带宽,但会改变用户实际感知的 E2E 延迟。
因此应把延迟拆成:
E2E 延迟
= 网络进入时间
+ 请求排队时间
+ CPU/检索时间
+ GPU Prefill 时间
+ GPU Decode 时间
+ 网络返回时间
如果只在服务器本机压测接口,得到的是较接近 GPU 服务时间的结果;如果从实际业务来源发起请求,则需要单独记录网络 RTT 和上游依赖。香港 GPU 服务器的带宽、跨机房链路和存储类型,也应在需要访问外部数据时纳入复测条件。
A5数据提供香港GPU服务器,涵盖RTX 4090与A100 80GB等显卡选项,并搭配服务器CPU、内存及NVMe存储,为生成式AI推理、模型运行和接口服务提供计算与数据读写资源。香港GPU系列配有CN2线路,可衔接面向内地访问的推理业务,将GPU计算、请求处理、模型文件存储与跨境网络接入纳入同一部署的资源基础。
建议采用怎样的对比测试
先固定模型和软件,再改变 GPU
两台服务器必须尽量使用相同的软件栈:
- 相同模型文件和量化格式;
- 相同 CUDA 主版本和兼容驱动范围;
- 相同推理框架及版本;
- 相同最大上下文长度;
- 相同 KV Cache 精度;
- 相同连续批处理策略;
- 相同停止条件和采样参数;
- 相同 CPU Worker 数量和请求生成器。
否则测到的可能是框架优化差异,而不是 RTX 4090 与 A100 的差异。
建议设置三组负载:
| 负载组 | 输入长度 | 输出长度 | 并发 | 主要观察指标 |
|---|---|---|---|---|
| 短请求 | 256~512 tokens | 64~128 tokens | 1、4、8 | TTFT、单请求 ITL |
| 长输入 | 4K~8K tokens | 128~256 tokens | 1、4、8 | Prefill tokens/s、显存占用 |
| 持续生成 | 512~2K tokens | 512~1K tokens | 8、16、32 | 聚合 Decode 吞吐、p95 ITL |
每组测试都应先预热,避免把模型首次加载、CUDA Kernel 编译和缓存建立时间算入稳态成绩。正式统计可以使用连续 5~10 分钟窗口,剔除启动阶段,并同时记录 p50、p95 和 p99。
用瓶颈定位代替单一排名
一个适合对比的示例记录如下。数字仅用于说明记录方式,不代表具体服务器的实测结果:
| 场景 | 设备 | Prefill | 聚合 Decode | TTFT p95 | ITL p95 | 显存峰值 |
|---|---|---|---|---|---|---|
| 7B、BF16、512→128、并发 1 | RTX 4090 单设备 | 约 6,800 input tok/s | 约 105 output tok/s | 48ms | 10ms | 18GB |
| 同上 | A100 80GB | 约 6,200 input tok/s | 约 96 output tok/s | 53ms | 11ms | 18GB |
| 7B、BF16、8K→128、并发 4 | RTX 4090 单设备 | 约 2,100 input tok/s | 约 260 output tok/s | 210ms | 21ms | 31GB |
| 同上 | A100 80GB | 约 3,700 input tok/s | 约 285 output tok/s | 150ms | 18ms | 31GB |
从这种示例中,不能简单得出“RTX 4090 更快”或“A100 更快”。短输入、低并发时,4090 可能拥有较好的单请求响应;长上下文和持续批处理时,A100 的带宽与调度余量可能扩大优势。决策应该围绕业务的目标延迟和目标并发,而不是围绕某一组孤立的平均值。
双 RTX 4090 的结果要额外记录通信开销
若所谓 RTX 4090 48GB 实际是两张 24GB 卡,测试时至少需要比较:
- 单卡运行能否装下目标模型;
- 双卡张量并行后的 Prefill 吞吐;
- 双卡张量并行后的 Decode 吞吐;
- PCIe 拓扑和跨 CPU 插槽情况;
- NCCL 通信占用和 p95 延迟;
- 单请求与并发请求的显存分布。
两张卡的模型分片并不会自动得到两倍性能。对于小模型,如果单卡已经可以容纳全部权重,双卡分片反而可能增加同步开销。对于大模型,双卡可能是“能否运行”的必要条件,但这时需要把模型并行的通信延迟作为成本,而不是只比较合计显存。
如果 nvidia-smi topo -m 显示两个 GPU 之间是跨 PCIe Root Complex 或跨 NUMA 节点路径,双卡结果通常更容易受到通信影响。此时应分别测试同一请求的单卡、双卡和不同并发,观察聚合吞吐是否随着并发增加而改善。
结果应该怎样解释
RTX 4090 更适合哪些条件
在以下条件同时满足时,RTX 4090 单卡或经验证的 48GB 方案可能具有较好的推理性价比:
- 模型权重和目标 KV Cache 可以在单设备显存内稳定容纳;
- 主要是 7B~13B 或经过充分量化的中型模型;
- 输入上下文较短;
- 并发量不高,重点是单请求 TTFT 和流式输出;
- 推理框架能够充分利用 Ada 架构的 Tensor Core;
- 服务器电源、散热和功耗限制经过长期压力验证;
- “48GB”不是把两张 24GB 卡简单相加后用于单卡宣传。
这类场景下,理论显存带宽较低不必然导致较低的单请求吞吐。若业务只需要少量并发,RTX 4090 可能通过较高频率、较新的计算单元和成熟的量化 Kernel 获得接近甚至高于 A100 的单请求表现。
A100 80GB 更适合哪些条件
以下情况应优先关注 A100 80GB 的容量、带宽和平台特性:
- 模型接近 30B 以上,或需要较长上下文;
- 使用 4-bit 模型但仍需保留较大 KV Cache;
- 并发较高,需要连续批处理;
- 输入 Prompt 很长,Prefill 占总计算时间较大;
- 需要多个租户或多个模型进行显存隔离;
- 需要 MIG、ECC 或数据中心平台的长期运行能力;
- 不希望因为模型分片而承担双卡 PCIe 通信开销;
- 需要在相同 p95 延迟下继续提升聚合吞吐。
A100 80GB 的优势并不是所有请求都会体现。短请求、低并发和小模型场景中,80GB 显存可能没有被充分利用,额外容量和 HBM 带宽也不一定转化为同比例的 tokens/s。
可按这几个边界作决策
| 业务条件 | 更应优先关注 | 判断方法 |
|---|---|---|
| 小模型、短上下文、并发 1~8 | 单请求 TTFT、ITL、单位成本 | 以 p95 TTFT 和单请求 output tok/s 为主 |
| 长 Prompt、RAG、文档问答 | Prefill 吞吐、显存带宽、CPU/网络 | 单独统计输入 tokens/s,不与 Decode 混合 |
| 中高并发生成 | 聚合 Decode 吞吐、p95 ITL、排队时间 | 并发递增,找到延迟开始陡增的拐点 |
| 大模型 4-bit | 显存容量、KV Cache、量化 Kernel | 留出运行时余量,避免只按权重容量计算 |
| 两张 24GB 4090 | PCIe 拓扑、通信、分片效率 | 与单卡和 A100 单卡分别测试 |
| 多租户推理 | MIG、显存隔离、尾延迟 | 测试一个租户满载时对其他租户的影响 |
| 长时间运行 | 持续功耗、温度、降频、ECC | 至少进行数小时压力和稳定性观察 |
一个实用的容量判断标准是:在目标模型、目标上下文、目标并发下,显存峰值不超过可用显存的约 80%~90%,并且 p95 TTFT、p95 ITL 和 p99 E2E 仍在业务阈值内。若显存达到 95%但吞吐看起来较高,仍不宜直接上线,因为请求长度稍有波动、批处理稍有扩大,就可能触发分配失败或排队急升。
复测时应保留哪些条件
GPU 服务器批次、驱动、框架版本和云平台功耗策略都可能改变结果。正式验收或扩容前,建议保留一份可复用的测试记录:
硬件:
- GPU 实际型号、数量、显存总量
- PCIe 或 SXM 形态
- PCIe 拓扑、NUMA 节点、是否存在 NVLink
- 功耗上限、温度和持续运行频率
软件:
- Linux 发行版
- NVIDIA 驱动和 CUDA 版本
- 推理框架及版本
- 模型权重、量化格式和 KV Cache 精度
负载:
- 输入 tokens
- 输出 tokens
- 并发数
- 请求到达模式
- 采样参数
- 最大上下文长度
结果:
- TTFT p50/p95/p99
- ITL 或 TPOT p50/p95/p99
- E2E p50/p95/p99
- Prefill tokens/s
- Decode tokens/s
- 聚合 output tokens/s
- GPU 显存峰值、功耗、温度
- CPU、主机内存、I/O 和网络等待
如果复测后发现 GPU 利用率不高,应先确认 CPU 分词、RAG 检索、网络请求和队列时间,而不是立即更换显卡。如果 GPU 显存接近上限但计算利用率仍然较低,应优先检查 KV Cache、动态批处理和模型分片。如果 Prefill 很快而 Decode 很慢,则重点看显存带宽、KV Cache 访问和并发调度;如果 Decode 尚可但 TTFT 的 p99 很高,则要检查队列、CPU、网络和长短请求混合造成的调度阻塞。
最终,RTX 4090 48GB 与 A100 80GB 的选择边界不应写成固定的“谁一定更快”。先确认 RTX 4090 的 48GB 是单设备容量还是两张 24GB 的合计容量,再以相同模型和精度测试 Prefill、Decode、并发、p95 延迟及显存峰值。短请求、低并发且模型可单卡容纳时,RTX 4090 可能具备较好的单请求表现;长上下文、高并发、大模型或需要稳定显存余量时,A100 80GB 更应从容量、HBM 带宽和多租户能力进行评估。



