团队要上一套大模型能力,评审会上被问「为什么选它、成本多少、换一家要改多少」,如果只拿榜单截图回复,基本会被打回。这篇给一套写报告的顺序:先定任务与验收口径,再按量化档位和并发算显存与成本,然后核许可证、定迁移与回退方案,最后把所有数字落到站内对应页面去核对。
评审会上被问「为什么是它、一年花多少、换一家要改多少行代码」,如果只甩一张榜单截图,基本撑不过第二轮。模型选型报告不是技术科普,它是一份让不懂模型的人也能复核的决策文档。核心只有一条:每个结论后面都要跟一个能被验证的数字或一条能被复查的约束。
这篇给一套按顺序推进的写法:先把需求写成能验收的句子,再把候选收窄到三个以内,接着算量化档位、显存和并发,把成本拆成三列,然后核许可证,最后定迁移与回退。凡是价格、参数、上限类数字,都到站内对应页面核对当时的数字,别抄别人的截图。
第一步:把需求写成可验收的句子
「我们想要一个好用的模型」这句话在评审里毫无意义,因为没人能验收。要把它压成一句话:对什么输入、输出什么形态、错误率上限多少、延迟和并发峰值是多少。比如「把工单摘要成不超过三行的中文,关键字段抽错率低于某个我们自己定的线,峰值并发按业务高峰估」,这样才有测试的落点。
- 把需求拆成任务类型、输入输出形态、可接受错误率、延迟上限、并发峰值五件事,每件都要能写进测试用例
- 把所有要求分成硬约束和软偏好:数据不出内网、必须离线、必须支持流式是硬约束,回答风格顺不顺眼是软偏好,硬约束先筛人
- 定清楚谁来验收、拿哪批样本验收,样本要覆盖你最怕出错的那类输入,而不是随机抽一批顺利的
- 验收口径要在选型前定,定在选型后就会出现「模型没问题,是标准改了」的扯皮
第二步:候选清单怎么收窄到 3 个以内
候选超过三个,通常不是模型多,而是需求没写清。第一轮用硬约束过滤,第二轮用任务类型匹配,最后留下的应该是一个「便宜够用」加一个「能力上限」,方便评审时有的可让。
| 过滤轮次 | 看什么 | 筛掉谁 |
|---|---|---|
| 第一轮 硬约束 | 许可证范围、能否私有化、支持你要的模态 | 明确不满足内网或商用要求的 |
| 第二轮 任务匹配 | 确定型任务、长文档、代码、图像理解 | 能力方向明显不搭的 |
| 第三轮 留备选 | 一个便宜够用、一个能力上限 | 只剩一个选项的情况 |
各家的模型参数、上下文长度、模态支持,可以直接拿站内模型库和厂商目录当筛选表用,比翻各家官网快。别在这一步纠结绝对强弱,硬约束过不了,再强也用不上。
第三步:量化档位与显存、并发的算账顺序
顺序很重要:先定你接受的质量底线,再往上套量化档位。反过来先看到「这个档位便宜」就下单,常见结果是本地跑起来了但效果没法交付,回头再换档位,前面的测算全部作废。
显存要按三段估:权重、KV 缓存、框架开销。只拿参数量除位宽是不够的,长上下文场景里 KV 缓存可能比权重还显眼,框架本身也要留余量。并发和上下文长度是乘数关系,所以高峰上下文要按峰值算,不是按平均值。
- 先定质量底线用你最关心的那批样本,把几个候选档位都跑一遍,记录哪类输入开始明显退化,底线就卡在这里。
- 再算显存三段权重、KV 缓存、框架开销分别估,加总后留出余量;把并发峰值和峰值上下文代入,而不是拿平均值。
- 最后对规格与租金到站内部署测算和租用比价页面看当时的数字,规格与价格随时会变,报告里只写「以站内当期数字为准」并附路径。
第四步:把成本写成三列
成本表最容易写成一行总数,评审时没人能反驳也没人能复核。拆成一次性、经常性、风险成本三列,每一项都标注它来自哪个站内页面的当期数字,对方可以自己点进去核对。
| 成本列 | 包含什么 | 判断要点 |
|---|---|---|
| 一次性 | 硬件、机房、迁移改造人工 | 迁移改造常被漏算,先数硬编码点 |
| 经常性 | 租金或按量调用、电费、运维人力 | 按量还是自建,看利用率高低 |
| 风险 | 涨价、限流、停服、许可证变更 | 写触发条件和应对动作,不写概率 |
按量调用和自建租卡的分界点跟利用率强相关:利用率低的时候自建往往更贵,因为闲置的卡也在烧钱。这条判断对业务波动大的团队不适用,波动大反而更适合按量,别硬套一个结论。
第五步:许可证与合规别留到最后一刻
要分清「真开源」和「只开放权重」:前者通常允许改和商用,后者往往只给你跑的权利,商用、声明保留、用户量或场景限制要逐条读。哪怕只看懂一半,也要把看不懂的条款标出来问法务,不要自己猜。
- 商用是否允许、要不要保留版权声明、有没有用户量或场景限制,逐条对照你的业务
- 训练数据来源、备案、数据出境这几件事提前跟法务对口径,别等代码写完再补
- 许可证判断不确定时,按最严格的那条准备,并把它写进报告的风险栏,而不是藏在脚注
- 如果计划改权重或做二次训练,先确认许可证是否允许,这一步没确认前不要开工
合规这条没有「差不多就行」:一旦选错,迁移成本不只是换模型,还可能涉及下线和备案返工,代价远大于多花两天读条款。
第六步:迁移与回退方案写进报告
迁移工作量基本由一件事决定:现在有多少地方硬编码了模型名、参数和返回格式。先统计这个数量,再谈改多久,否则工期全是拍脑袋。统计完你会发现,真正费时的不是调模型,是改散落各处的调用点。
统一走一层模型调用封装,换模型时只改配置,不动业务代码。回退方案要提前定义触发条件和动作,比如错误率、延迟或成本越过你定的线,就切回备选,不用等出事再开会讨论。
- 数硬编码点搜代码里写死的模型名、参数、返回解析,列成清单,这就是迁移工作量的下限。
- 加一层封装所有调用只走封装层,业务侧只认逻辑能力不认具体模型,换模型时改配置即可。
- 定回退条件写清错误率、延迟、成本各自的越线阈值和对应动作,谁触发、谁执行都写明。
- 做新旧对比上线前用同一批样本跑新旧两版,记录差异集中在哪类输入,作为切换依据。
报告模板:一页能讲完的结构
报告不需要长,需要能被一页复现。结构按结论→约束→测算→风险→出处五块排,评审时对方按顺序看,不会在半路问「这个数哪来的」。
| 板块 | 写什么 | 避免什么 |
|---|---|---|
| 结论与推荐 | 选哪个、备选是哪个、什么条件下改选 | 只写「推荐 A」不写备选 |
| 约束与验收 | 硬约束清单 + 验收样本 | 把软偏好混进硬约束 |
| 测算表 | 量化档位、显存、并发、成本三列 | 只有一个总数没有分项 |
| 风险与回退 | 许可证、供应商、成本、技术各一行 | 只列风险不给动作 |
| 数据出处 | 每条关键数字标站内核对路径 | 写「据测算」不给来源 |
出处这一栏看着麻烦,但它是这份报告能不能被复现的关键。价格、规格、租用报价这类数字随时会变,报告里写「以站内当期数字为准」再附路径,比写死一个数更稳妥,也避免过几天就过期。
下一步把候选清单和测算表拿到站内对应页面逐条核对,价格、规格、租用报价都以页面当期数字为准,核对完就能直接拼成可评审的报告。→常见问题
没有测试团队,选型报告怎么写验收口径?
用你自己的真实历史数据凑一批样本,几十条就够,覆盖正常输入和你知道的边界情况。验收标准写成「在这批样本上人工抽查通过率不低于某条线」,而不是写抽象的「效果好」。这样既不用专职测试,评审时也有据可查。
榜单排名靠前的模型是不是就该选?
榜单只能用来排除明显不行的候选,不能用来定选型。它通常测的是通用题,跟你的输入分布、上下文长度、语言和格式要求都不一定对得上。正确用法是拿榜单把候选从几十个收到几个,剩下靠你自己那批样本决定。
量化之后会不会影响验收?
会,所以要先把量化档位定下来再去测验收,而不是用全精度测完再上量化的版本。做法是同一批样本分别跑几个档位,看错误出现在哪些输入上,能不能接受。具体档位差异站内有专门文章,这里只提醒顺序别搞反。
供应商涨价或者限流了怎么办?
报告里就该写清回退条件:单价过某条线、限流影响到业务时段、服务可用性掉到某条线以下,就切备选。前提是调用层做了封装,切的时候只改配置。没有这层封装的话,任何备选都只是纸面方案。
多久重做一次选型?
不建议按固定周期重做,那会变成为了交差而写。更实用的触发条件是:出现新的硬约束、成本结构明显变化、备选模型在你那批验收样本上超过当前方案。平时只维护测算表和样本集就行。