很多人第一次接触算力时会被问一句「你是训练还是推理」,答不上来就容易选错卡、租错时长。这篇把两件事拆开:各自的目的是什么、吃的是什么资源、账单怎么长出来、什么时候这条分界线其实并不适用。看完你至少能对着一份算力报价单说出自己属于哪一类,再去站内页面核对具体规格与数字。
很多人第一次接触算力,被问「你是训练还是推理」时答不上来,于是要么按训练规格租了卡结果一直闲着,要么拿推理卡去跑微调跑到一半就爆显存。这篇不绕概念,只讲这三件事:各自要达成什么目的、吃的是什么资源、账单从哪儿长出来。看完你应该能对着一份算力报价单说出自己属于哪一类,再拿具体规格和数字去站内页面核对。
还有一层要先说清:这里的「推理模型」指的是会写思考过程的那类模型,它和「训练模型」不是同一个维度的分类。推理模型照样是在推理阶段被调用,只是它的训练方式跟普通模型不一样。如果你只是想把现成模型用起来,你关心的一直是推理这一侧,跟训练没多大关系。
先分清两件事在干什么
训练的目标是调参数,让模型从数据里学出规律;推理的目标是用已经冻住的参数算出回答,整个过程中权重不再更新。一个是「改东西」,一个是「用东西」,这是最底层的差别,后面所有资源与成本差异都是从这儿派生出来的。
- 训练
- 一次性投入,周期以天或周计,产出是一份新的权重文件
- 推理
- 长期在线,按请求持续发生,产出是一个个回答,账单是流量账而不是工期账
- 微调
- 介于两者之间的小规模训练,口径按训练算但体量小得多
- 推理模型
- 推理阶段的产物,回答里带思考过程,调用方式与普通模型一致
判断标准很简单:如果你手上有现成可用的权重,你要解决的就是推理问题;如果没有权重、或者现有模型确实学不会你要的能力,才进入训练话题。别为了让模型说某种风格的话就去全量训练,那通常是数据问题或提示词问题,先往这两个方向查。
资源形态差在哪:一个吃带宽和容量,一个吃显存和延迟
训练除了存权重,还要存梯度、优化器状态和激活值,同样参数规模下显存占用远高于推理,而且必须靠卡间高速互联做并行,单卡再大也顶不住。推理要存的是权重加 KV 缓存,瓶颈常常落在单卡显存容量和输出延迟上,对卡间互联的要求低得多。
| 维度 | 训练侧 | 推理侧 |
|---|---|---|
| 显存占用 | 权重之外的中间状态占大头 | 权重加 KV 缓存,随上下文增长 |
| 互联要求 | 高,必须做并行 | 低,单卡或少量卡就够 |
| 关键指标 | 吞吐与卡间带宽 | 单卡容量与首字延迟 |
| 选卡取舍 | 看重互联与长期稳定性 | 看重单卡容量、功耗与单位成本 |
| 失败代价 | 一次跑挂要重来,成本叠加 | 单次请求失败,重试即可 |
具体到某张卡支不支持、显存多少、互联怎么走,别听转述,去 加速卡规格库(/compute/gpus) 对一遍当时的参数。小规模微调是个中间态:显存口径接近训练但规模小得多,直接按全量训练配资源属于典型浪费。
成本的结构:一次性 vs 持续计费
训练的成本大头是卡时总量乘单价,再乘上失败重来的次数,实际支出往往高于最初的估算,因为没人能保证第一次就收敛。推理的成本则由请求量、上下文长度和并发数决定,跟你用得多不多关系更大,跟模型本身多大反而没那么直接。
- 想比价就把两边换成同一个口径:每百万 token 或每小时,别拿「租一张卡」和「调一次接口」直接对比
- 换算出结论之前,先把量化档位、上下文长度、并发峰值三个变量固定住
- 做预算时给训练留出重试余量,给推理留出流量上涨余量,两者不是同一种预留
- 账单异常先查是不是上下文被撑长,这比换硬件便宜得多
站内的 模型成本计算器(/tools/model-cost-calculator) 和 Token 单价换算(/tools/token-price-calculator) 就是干这件事的,把数字填进去看当时的结论。任何时候都别拿别人的账单套自己的场景,模型、量化档位、上下文长度任一变化都会让换算结果失效。
你要的是哪一边:三步自查
下面这套顺序按「先排便宜的可能,再动贵的资源」来排,照着走一遍基本能定位自己属于哪一类。三步都走完还说不清,大概率是需求本身没定义清楚,先把要模型干的事写成一句话再回来。
- 第一步:看有没有现成权重手头已经有能用的模型,就直接归到推理侧,训练话题到此结束。
- 第二步:看数据量级几百到几千条样本属于微调范围;需要模型学一门全新能力,才考虑更大规模的训练。
- 第三步:看时间要求要求当天出结果的基本只能走推理或小规模微调,长周期任务才谈得上完整训练。
这套自查也有不适用的时候:如果任务本身是数据标注、评测或者提示词调试,那两边都不算,属于前置工作;如果模型表现时好时坏,先怀疑数据分布和评测方式,而不是急着加卡。真正需要重新评估的,是任务目标变了但资源规格没跟着变的那种情况。
判断完类型只是第一步,具体规格、当时的单价与可用性会变,最终还是要落到页面上的数字。把结论带到算力与价格相关的站内页面核对一遍,比在群里问十个人靠谱。
下一步拿你手上的任务走一遍上面的三步自查,确认自己属于哪一侧,再去站内核对当时的加速卡规格与成本换算结果,避免按错的那一类去选卡和算预算。→常见问题
同一个模型,训练和推理能不能用同一张卡?
技术上能跑,但划算程度差很远。训练看互联和稳定性,推理看单卡容量与单位成本,同一张卡通常只在一侧有优势。小规模微调例外,单卡能撑住,但样本量和序列长度一上去就顶不住,具体显存口径去站内部署测算页按参数量和量化档位算一遍再决定。
我只是调 API,还需要搞懂这些吗?
需要一点点。知道自己是推理侧用户,就能理解为什么账单跟输入输出长度、并发和缓存命中有关,而不是跟模型参数排名有关。这样在挑服务、比价、排查变慢时才有判断依据,不至于把延迟问题误判成模型能力问题。
训练完的模型是不是一定能用?
不一定。训练完成只代表权重文件产出了,还要过验证、量化和部署这几步才能对外提供服务,每一步都可能让效果打折。所以把训练和上线当成两件事排期,别用同一个时间表去压,中间留出验证和回退的时间。