把5090、A100、H20放进同一个机柜对外出租,很多人第一反应是奇怪。这三张卡的定位完全不一样,一个是消费级旗舰,一个是老牌数据中心卡,还有一个是定位特殊的AI加速卡。但恰恰是这种“什么都有的组合”,才是目前做算力出租生意最现实的玩法。如果你手上正好有几张闲置卡想回回血,或者已经租过机器、想弄明白怎么定价和运维,这篇应该能帮到你。
先泼一盆冷水:算力出租听起来高级,本质就是“把自己手里的GPU资源按小时、按天租给别人”,和你把闲置房子挂到短租平台是一个逻辑。只不过租客要的不是床,是显存、算力和配套的网络环境。所以真正做好这个生意,拼的不是你手里有几张5090,而是你懂不懂客户的需求分层、机房的供电散热、平台的计费调度、以及日常运维的坑。
1. 为什么是5090+A100+H20,三卡混搭的逻辑
1.1 算力出租卖的不是卡,是“单位时间可用算力”
很多人会把算力出租理解成“租一台电脑”,其实完全不是一回事。算力出租不卖硬件所有权,卖的是“一段时间内可用算力的使用权”。客户不在乎你用的是具体哪个型号,他只关心三件事:跑我的任务快不快、显存装不装得下、价格合不合理。
这就解释了为什么市面上常见的不是单一型号,而是“5090+A100+H20”这种混搭组合。不同客户的负载差异太大了。做LoRA微调的小团队,普遍偏好5090,因为单卡性能强、价格便宜;搞大模型推理服务的,更愿意选H20或A100,因为显存大、稳定性高、多卡通信好;如果客户跑的是老训练框架、旧算子库,A100反而最省事,因为很多框架天生就是围着A100调优的。
你要是真拿十几张4090堆一个集群,理论算力很猛,但客户一看显存只有24GB,可能扭头就走。混搭不是乱配,本质是对需求做分层,然后针对性提供资源。
1.2 三张卡的核心规格对照
做算力出租之前,至少得把这几张卡的核心规格背下来,不然客户问一句你就卡壳。我放一张日常对外答疑用的表:
| 显卡 | FP16算力(Tensor Core,约) | 显存 | 显存带宽 | 互联能力 | 适合的负载类型 |
|---|---|---|---|---|---|
| RTX 5090 | 100+ TFLOPS | 32GB GDDR7 | 约1.7~1.8TB/s | PCIe 5.0 x16,支持P2P | 单卡训练、推理、AI绘画、中小模型微调 |
| A100 80GB | 约312 TFLOPS | 80GB HBM2e | 约2.0TB/s | NVLink 600GB/s | 大模型训练、老框架兼容、多卡并行 |
| H20 | 约148 TFLOPS | 96GB HBM3 | 约4.0TB/s | NVLink 900GB/s | 大显存推理、embedding、内存密集场景 |
提醒一句,表格里的TFLOPS是官方标称的理论峰值,实际跑模型到不了这个数。不同精度、是否稀疏、Batch大小、框架版本,都会让最终性能差出一大截。对外宣传时,最好用“实测吞吐”而不是“理论算力”,否则客户拿你报的数字一算,预期拉满,到手跑不满,售后有你受的。
1.3 不同用户该怎么选卡
对外报价之前,先学会帮客户选卡,这是建立信任最快的方式。我一般按三类场景推:
- 场景一:SD画图、视频生成、小规模微调。推荐5090。32GB显存能跑大部分开源模型,价格比A100便宜一大截,回本周期短。唯一要注意的是5090没有NVLink,多卡协同只能走PCIe,跨卡通信带宽有限,不适合大模型张量并行。
- 场景二:7B到70B级别模型微调、全参训练。推荐A100。A100的NVLink和NCCL生态太成熟了,8卡训练时通信瓶颈比消费卡低很多,很多老的训练脚本拿到A100上直接跑就行,省心。
- 场景三:70B以上推理、RAG向量化、超长上下文。推荐H20。H20算力不高,但96GB显存能塞下很多开源模型,显存带宽接近A100的两倍,做Decode阶段这种显存带宽敏感的任务反而划算。
这里也回应一下高频争论:“H20是不是不能买?”它不是不能买,是不能拿来当高算力训练卡用,FP16计算能力就摆在那。但如果你卖的是推理服务,H20的大显存和高带宽反而是实打实的优势,租给跑长上下文、向量检索的客户,性价比很高。
2. 机房侧:从零搭一台可出租的算力节点
2.1 配件怎么配,别照着游戏主机来
搭算力节点不是插几块游戏显卡那么简单。电源、主板、机箱、供电线缆、散热方案都得重新考虑,否则机器会在高负载时直接重启,客户体验直接归零。
我的建议配置,逐条说:
- CPU:不需要顶配旗舰,但PCIe通道数必须够。以四卡5090为例,一张卡要占PCIe 5.0 x16,加上M.2和网卡,至少需要48到64条可用PCIe通道。一般选EPYC或者至强W系列,消费级CPU通道数不够,插两张卡就开始挤带宽。
- 主板:选支持4卡及以上的专业主板,注意PCIe插槽间距。别买那种两条插槽挨在一起的游戏板,散热和供电都会出问题。插槽间距至少留出3槽空间,否则卡与卡之间贴太近,温度直接起飞。
- 内存:直接上256GB起步。租算力的人经常会顺手再开一个数据预处理任务,内存太小会被骂。
- 系统盘:1TB以上的NVMe SSD,最好再加一块4TB大容量SSD当数据盘。租户随时可能拷几十GB的模型权重进机器,空间不够是硬伤。
- 网卡:至少双口25G,有条件直接上100G。稍后细说为什么网络这么重要。
2.2 供电要按峰值算,别按TDP算
很多第一次搭服务器的人会犯一个错误:看官方标称TDP是575W,就直接按575W去配电源。实际跑起来,短时Boost功耗经常冲到600W以上,四卡满负载再加上CPU、内存、风扇,整机功耗很容易破3000W。
我举个例子,四卡5090节点实际算下来是这样的:
- 4张5090,按单卡峰值600W算:2400W
- 一颗EPYC处理器满载:约350W
- 主板、内存、硬盘、风扇、网卡:约100W
- 预留10%冗余:约285W
合计2400+350+100+285=3135W。所以四卡5090节点不建议买低于3000W的电源,最好直接上3200W或更高。另外供电线材的截面积也要注意,别用细线硬扛大电流,线材发热起火不是开玩笑的。
还有一点,民用插座一般只能扛2200W左右(10A),所以四卡机器必须拉专线,至少16A或20A。如果是托管到数据中心,直接选单机柜供电6kW以上的套餐,不然供电和散热都搞不定。
2.3 散热:风扇是小事,气流才是大事
5090这种卡,散热器设计是给游戏机箱用的,放到服务器机箱里,如果风道设计不好,显卡满载几分钟就能冲到85℃以上。一旦温度过高,显卡自动降频,客户会投诉“租到的算力跑不满”,这种售后纠纷特别烦。
我实测下来比较稳的两种方案:
- 方案A:用4U机箱,前后贯通风道。前部装四到六个高风压风扇,CPU散热器用塔式而不用下压式,机箱后部留出显卡尾部的出风口。这种结构最适合四卡5090,风道直接贯穿每张卡的散热鳍片。
- 方案B:直接买专业GPU服务器机箱,或者用转接支架把显卡竖装。部分专业机箱支持前部风扇对显卡侧面直吹,效果比普通机箱好很多,缺点是价格贵、占地方。
散热有没有达标,用一句话就能检验:四卡满载烤机30分钟,看显卡核心温度能不能稳定在75℃以下。达不到,说明风道有问题,先别急着上架出租,返工成本更高。
2.4 网络组网与多卡P2P通信
租算力的客户经常要跑多机分布式训练,组网至少得是25G起步,推荐直接上100G。用千兆或万兆组网去跑模型并行,NCCL AllReduce通信耗时能占总训练时间的一半以上,客户体验会非常差,跑一次就再也不来了。
这里必须专门回应热搜里的问题:“5090能P2P通讯吗?”答案是:能,但别期待太高。5090支持PCIe P2P,同一台机器里两张卡可以通过PCIe总线直接交换数据,不经过CPU和内存,速度比走CPU转发快得多。但它没有NVLink,跨卡通信带宽受PCIe x16限制,实际吞吐大概几十GB/s级别,和A100的NVLink 600GB/s、H20的NVLink 900GB/s完全不是一个量级。
所以5090适合数据并行,不适合张量并行这种通信密集的场景。跨机器的P2P更别指望,基本靠网卡走RoCE或TCP。客户要跑张量并行,我一般建议直接租A100或H20,那边才是正经的多卡互联卡。
2.5 多台服务器怎么统一管理
算力节点一多,总不能再一台台SSH进去敲命令,那就累死了。这里分享一个轻量而且够用的管理组合:Ansible加Slurm。Ansible负责批量装驱动、更新CUDA、同步配置、下发系统镜像。Slurm负责把算力按作业队列调度给不同租户。
我最小可用的一套流程大概是:
# 批量对计算节点做基础配置 ansible-playbook -i hosts gpu_base.yml # 管理节点上查看计算节点状态 scontrol show nodes # 租户提交一个占用1张卡的作业 srun -N 1 --gres=gpu:1 --time=02:00:00 --mem=64G nvidia-smiAnsible加Slurm这个组合,一个人维护二三十台机器完全够用。如果客户要求容器化更强,可以再引入K8s加GPU插件,但对小规模出租来说有点重,前期没必要。
3. 平台侧:发布算力、计费与分配规则
3.1 先自己卖,还是挂第三方平台
如果你只有一两台机器,我不建议自己做平台,把资源挂到现成的算力交易平台上卖就行,平台会帮你处理下单、租期管理、身份认证、售后仲裁这些麻烦事。等机柜多了、客户稳定了,再考虑自建调度和计费系统。
如果非要自己搞,最小闭环是三张表:机器注册表(IP、显卡型号、状态)、订单表(客户、租期、价格)、调度脚本。我见过有人用共享表格加即时通讯接单跑通四个节点的情况。做这件事情的核心其实不是系统多高端,而是你能不能把每台机器的实时状态维护清楚。哪个节点被占了、哪张卡还剩显存,必须一目了然,否则超卖和租户冲突能把人搞疯。
3.2 三种租用方式:整卡、显存切片、API token
算力出租的计费单位,行业里基本是三种:
- 按卡时:一张卡跑一个小时,适合训练任务。参考价方面,A100大约8到15元每卡时,5090大约5到8元每卡时,H20通常在这两者之间浮动。实际价格要根据电费、折旧、空置率动态调,没有固定标准。
- 按显存切片:把一张显卡切成多个小块,按GB每小时出售。比如80GB显存的A100可以切成四份20GB,跑小模型推理的客户能低价租到一部分。注意,消费级的5090不支持MIG切片,只能整卡租;A100和H20可以用MIG或分区方式做切片。
- 按API token:把模型推理封装成服务,按token计费。这是不少大模型服务商在用的方式,普通算力出租玩家一般不做,因为还要维护推理框架和应用层,复杂度高不少。
3.3 token算力需求如何评估
“token算力需求如何评估”这个问题被问得特别多,值得单独说。客户问你“每分钟要支持1000个token,需要几张卡”的时候,如果拍脑袋报数字,后面不是被砍价就是被退货,所以得有个估算方法。
一个粗略的计算:推理一个token所需的FLOPs大约是2乘模型参数量。以7B模型为例,一个token大约需要2乘7乘10的9次方,约1.4乘10的10次方FLOPs。假设一张A100能提供约312 TFLOPS的FP16算力,按50%利用率折算,每秒有效算力约1.56乘10的14次方FLOPs。相除之后,单卡A100理论上每秒能处理约1.1万个token。
但这是FLOPS层面的理论上限,实际还得考虑显存带宽、Batch大小、KV Cache大小、框架开销。真实场景里,7B模型单卡A100大概能跑到每秒2000到5000个token。所以客户说每秒1000个token,一张卡基本够用,如果有并发再加卡。有了这个估算框架,你对外报价时才不会被问倒。
3.4 租户隔离与安全配置
多租户环境下最重要的一件事是隔离。容器是最低成本的隔离方案,把每个租户跑在独立容器里,分配显存、内存、CPU配额,出一张卡的问题不会拖垮整个节点。
基础容器启动命令可以这样写:
docker run --gpus '"device=0"' --memory=64g --cpus=16 \ --name tenant_a -v /data/tenant_a:/workspace \ nvcr.io/nvidia/pytorch:latest nvidia-smi如果租户之间要共享同一张物理卡,A100和H20可以用MIG方式切成独立实例,互不影响;这张卡切出来的每个实例都有独立的显存和算力配额。5090无法做MIG,只能整卡租,这也是它在多租户场景下的一个短板。
管理账号不能直接用root直连,统一走密钥登录。数据盘按租户隔离权限,日志保留至少90天。协议里写清楚禁止用途和资源限制,既是保护平台,也是保护租户,这步不能省。
4. 运维侧:算力服务器常用命令与故障排查
4.1 nvidia-smi高频用法
算力服务器的日常运维,一半时间都在跟nvidia-smi打交道。下面几个命令我几乎每天都会用:
# 实时刷新查看所有GPU状态,适合巡检 nvidia-smi --query-gpu=index,name,utilization.gpu,memory.used --format=csv -l 1 # 查看功耗,确认是否被限功率 nvidia-smi --query-gpu=index,power.draw,power.limit --format=csv # 开启持久模式,避免CUDA每次初始化都重新加载驱动 nvidia-smi -pm 1 # 锁定显存时钟,防止负载波动导致升降频 nvidia-smi -lgc 2100另外两个工具也值得装:
gpustat:Python写的小工具,nvidia-smi的可读性增强版,想看多机状态时非常好用。dcgmi:数据中心卡专用监控命令,适合A100和H20,能看温度、显存ECC错误、过温告警,比nvidia-smi更细。
日常巡检用watch -n 1 nvidia-smi定时刷新,是最快的方式。如果监控系统发现某张卡利用率异常,再用gpustat定位到具体租户进程。
4.2 驱动、容器与NCCL常见坑
第一个坑:NVIDIA驱动和CUDA版本不匹配。很多人习惯在节点上直接装最新驱动,但租户容器可能用老CUDA,结果容器里报“CUDA driver version is insufficient”。解决办法是节点驱动保持一个中间版本,容器内CUDA由租户自己控制,不要动不动就升级驱动。我吃过一次亏,手贱升了驱动,三个老客户全部跑不起来,折腾了一晚上才回滚。
第二个坑:NCCL初始化超时。多卡多机训练常见报错“NCCL WARN Timeout”。常规检查顺序是:网卡是否支持RDMA、防火墙是否放开、共享内存是否够大、环境变量是否正确。跨机通信一定要显式配置:
export NCCL_SOCKET_IFNAME=eth0 export NCCL_DEBUG=INFO需要时再加NCCL_IB_DISABLE=0或者NCCL_P2P_DISABLE=1,具体看集群网络环境。
第三个坑:显存ECC报错。A100和H20有ECC内存,可能出现“Driver Recovered GPU Memory”之类的提示。这不是立刻需要换卡,但要做标记,如果连续多次出现,就要下线排查,大概率是显存颗粒问题。
4.3 一张表查完“5090的P2P疑问”
“5090能P2P通讯吗”能上热搜,说明问的人是真多,我把完整结论列在下面:
| 场景 | 是否支持P2P | 实际表现 | 建议 |
|---|---|---|---|
| 同机双卡 | 支持 | 通过PCIe P2P直通,速度受PCIe x16限制,几十GB/s量级 | 适合数据并行,不适合张量并行 |
| 跨机通信 | 基本没有 | 只能走网卡RoCE或TCP,速度取决于网络 | 分布式训练优先选A100/H20 |
| 驱动条件 | 需要开启 | BIOS的BAR设置、GPU Direct P2P开关都要打开 | 组装时进BIOS确认,默认可能关闭 |
如果你非要验证同机P2P效果,可以写个NCCL测试脚本,或者用PyTorch自带的P2P示例测试。实际跑下来,同一批数据在两块5090之间的AllReduce带宽,和A100的NVLink差距是数量级的,晚点我单独写一篇实测对比。
4.4 典型故障速查表
我把这半年踩过的坑整理成一张表,遇到问题可以对着排查:
| 现象 | 可能原因 | 快速处理 |
|---|---|---|
| GPU利用率忽高忽低 | 显存带宽瓶颈或CPU喂不饱 | 先查CPU占用,再考虑换大带宽卡 |
| 功耗高但性能低 | 温度降频 | nvidia-smi -q -d TEMPERATURE,清灰或增强风量 |
| CUDA初始化失败 | 驱动与容器内CUDA版本不匹配 | 升级容器内CUDA或固定节点驱动版本 |
| NCCL报错 | 网卡/RDMA/防火墙/共享内存问题 | 用NCCL_DEBUG=INFO看详细日志,逐项排除 |
| 某张卡突然认不到 | PCIe接触不良或供电不足 | 重插卡、检查辅助供电线、换槽位测试 |
| 显存持续占用不释放 | 租户进程未正常退出 | fuser -v /dev/nvidia0,确认后清理进程 |
我自己的体会是,算力出租这门生意,真正拉开差距的不是你有没有5090或A100,而是你能不能保证客户租到的那一个“单位时间”里,算力是稳定、足额、不掉线的。客户不会因为你机器配置高就多付钱,但一定会因为一次半小时的掉线再也不来。所以前期花在供电、散热、网络、监控上的钱,比多买几块贵卡的边际收益高得多。最后再分享一个小技巧:无论出租什么卡,一定要保留完整的机器日志和租户操作记录,同时把资源限制在协议里写清楚,这是保护自己最有效的手段。