很多团队决定私有化之后,第一反应是「哪个模型写代码最强」,翻几天榜单还是定不下来。问题不在榜单,而在选型顺序搞反了:先要定清楚是补全、问答还是批量改代码,再算得动多少参数、并发顶不顶得住,最后才看许可证和后续换代的迁移代价。这篇按这个顺序给一套能落地的判断流程和对照表。
很多团队决定私有化之后,第一反应是「哪个模型写代码最强」,翻几天榜单还是定不下来。问题不在榜单,而在选型顺序搞反了:先要定清楚是补全、问答还是批量改代码,再算得动多少参数、并发顶不顶得住,最后才看许可证和后续换代的迁移代价。这篇按这个顺序给一套能落地的判断流程。
下面每一步都配了可执行动作和站内核对入口。提醒一句:所有涉及具体数字的地方,本篇一律不写死,请到你所在时间点的站内页面去看当时的数字,因为供货、价格和模型版本都在变。
先定场景,再谈模型:开发场景决定能力下限
私有化部署最先要回答的不是「用哪个模型」,而是「给谁用、用来干什么」。同一个模型放在 IDE 补全里可能够用,放在仓库级重构里可能完全不够;反过来,能扛住复杂重构的大模型,用在逐行补全上又浪费算力。把需求先拆成三类,后面每一步都用这份清单做取舍。
- IDE 内低延迟补全
- 看首 token 延迟和接受率,单次输出很短,模型偏小也能用,重点是响应快、不打断思路
- 仓库级问答与重构
- 看上下文窗口和检索配合,需要模型理解跨文件依赖,对推理深度要求高
- 批量离线改造
- 迁移框架、补测试、加注释这类活,可以忍受慢,但要求长输出稳定、结果可复核
- 先写一页场景清单:谁用、每天大概多少次、能忍几秒、出错怎么兜底,这四项缺一项后面都会返工
- 补全类优先压延迟,仓库问答类优先保上下文,批量改造类优先保吞吐和可复现
- 什么情况下不适用:如果只是想让员工在网页里问几句语法问题,私有化部署的投入产出一开始就不成立,先回到按量调用的路子上算账
- 同一家公司三类场景可能同时存在,允许配两套模型,不必强求一个模型通吃
能力下限怎么定:别拿综合榜当代码选型依据
综合榜单测的是通用问答和推理,和你家代码库里「能不能改对」是两件事,中间差着语言分布、框架版本、内部约定这几层。榜单可以帮你筛掉一批明显不行的候选,但没法替你判断哪个能在你的仓库里通过测试。
- 建最小评测集从真实仓库里挑几十个改对改错明确的提交,固定提示词和上下文,跑一遍看通过率;评测集要能覆盖你们最常用的语言和框架
- 交叉验证稳定性到站内 /benchmarks 和 /crowd-radar 看多人多时段交叉验证的结果,比单次跑分更能反映模型在不同时间点的表现
- 看失败类型不只看通过率,还要记失败集中在哪:是不理解内部约定,还是生成语法错误,还是上下文丢失;不同失败对应不同补救手段
什么情况下不适用:如果团队代码以内部自研 DSL 或极少见语言为主,任何公开评测都只能当参考,必须自建评测集。评测集不用大,几十条能稳定跑就行,关键是每季度重跑一次,看模型换代后有没有退化。
参数量与量化档位:先算得动,再谈效果
决策顺序是「显存上限 → 量化档位 → 可用参数量」。反过来先挑模型再算显存,通常会发现差一截,然后被迫降精度或者砍上下文,效果反而更差。先把手上卡型的显存上限确认清楚,再决定能跑哪个档位。
| 量化档位 | 显存占用 | 质量影响 | 适用场景 |
|---|---|---|---|
| 高精度档位 | 最高 | 最小 | 仓库级重构、批量改造等对准确性敏感的任务 |
| 中等档位 | 居中 | 可接受 | 日常问答、代码解释、中等复杂度补全 |
| 低比特档位 | 最低 | 长上下文和复杂推理上更明显 | 简单补全、内部知识问答等容错高的场景 |
代码任务对精度比闲聊敏感,低比特档位在短输出补全上可能看不出问题,但一到长上下文推理就容易掉链子。把候选模型和显卡规格丢进 /models/deploy 与 /compute/sizing 跑一遍,比自己拿公式估更快也更少出错。
什么情况下不适用:如果后续要在这个基座上做微调,量化版本通常不是好起点,得按全精度或半精度预留显存。先想清楚是「只用推理」还是「以后要微调」,这两条路的显存预算差得远。
并发与卡数:算清一张卡能带多少人
并发不看参数量看吞吐。同样显存下,量化档位、批处理策略和推理框架不同,能同时服务的人数可能差出几倍。估算路径是:单请求平均输入输出长度 × 每人每天请求数 → 峰值 QPS → 按框架实测的吞吐折算卡数,再留冗余。
- 先量你内网的延迟基线,后面判断「慢」是模型问题还是网络问题才有依据
- 按峰值 QPS 折算卡数,别按平均请求数配,否则一到上班高峰就排队
- 到 /compute/gpus 看加速卡规格,到 GPU 租用比价和算力总览页面核对当前供货与租金口径,别用记在脑子里的旧数
- 压测要模拟真实输入输出长度,用短提示词压出来的吞吐不能直接用来定卡数
什么情况下不适用:如果使用集中在上下班前后两小时,可以按峰值配、平时降配,不必按全天满载买卡。反过来,如果服务对象跨时区,就要按叠加后的峰值算,不能只看单一时段。
许可证与合规:能不能商用、能不能改、要不要开源
这三件事要分开看:权重能不能商用、能不能用于训练衍生模型、改动后要不要以同样条款开放。名字里带「开源」不等于三条都放开,有些只放开推理用途,有些对商用规模有附加条件。
- 商用许可
- 权重能不能直接用于对外提供的服务,这条最容易被默认成立,也最容易踩坑
- 衍生模型限制
- 能不能拿这个权重继续训练并发布自己的模型,涉及的范围各不相同
- 开源义务
- 改动后是否要以同样条款开放,内部自用和对外分发可能适用不同口径
把每个候选模型的许可证原文和条款要点记进选型表,别只记模型名。口径说明可对照站内 /safety 与开源权重许可相关术语页。数据不出内网只是合规的一部分,模型来源、分发方式和对外提供的服务形态都可能另有要求。
什么情况下不适用:纯内部使用、不对外提供服务、不分发模型本体时,部分限制确实影响不到你,但仍建议法务过一遍。等业务部门提「能不能把这个功能开放给客户」时再回头补合规,通常已经来不及换模型了。
服务端适配:模型选得再好,跑不起来也白搭
选型阶段最容易忽略的是服务端适配。确认候选模型在你的推理框架和卡型上有可用路径,包括权重格式、量化格式、多卡切分方式。先用小规模试跑验证,再谈扩容,别一上来就按生产规模采购。
- 验证可用路径找一台与目标卡型一致的机器,把候选模型的权重格式、量化格式、切分方式各跑通一次,记录报错和缺失依赖
- 固定版本并压测上线前固定模型版本和推理框架版本,按真实输入输出长度做一次压测,量出吞吐和延迟基线
- 准备回退版本同时保留上一版可用的权重和配置,出了问题能切回去;没有回退方案的私有化上线风险很高
把接口测速当成常规动作,先量出你内网的延迟基线,后面判断「慢」是模型问题还是网络问题才有依据。什么情况下不适用:如果只是内部试验阶段,可以先用现成部署工具快速搭起来验证,不必一上来就上生产级配置,但验证结论要记下来供正式上线参考。
换代的隐性成本:别把自己锁死在一个权重上
迁移成本主要来自三块:提示词与工具调用协议改动、评测集重跑、下游应用适配。越定制越贵,所以选型时就要把「以后换起来痛不痛」当成一个正式指标,而不是等出了新模型才考虑。
| 因素 | 低成本表现 | 高成本表现 |
|---|---|---|
| 提示词与工具协议 | 约定通用、改动集中在配置层 | 深度绑定某个模型的特殊格式 |
| 评测集 | 能直接复用到新模型 | 评测和某个模型强耦合,换模型要重做 |
| 下游应用 | 通过统一接口调用 | 各处硬编码模型名和返回格式 |
- 优先考虑生态活跃、格式通用、有多个服务端支持的模型,换起来才不痛
- 把「多久换一次」写进规划,按季度复查一次候选池,而不是等线上效果掉下去才被动换
- 什么情况下不适用:如果已经围绕某个模型做了深度微调和工具链改造,短时间内不必跟着新版本走,稳比新重要
- 换代前先用小流量跑新模型,对比评测集通过率和用户接受率,再决定是否全量
选型不是选现在最强的那个,而是选明年想换的时候最不痛的那个。
落地清单:把上面几步压成一张决策表
把前面几步的结论压进一张表,逐行填完再看整体。表头建议固定为:场景、能力下限是否达标、量化档位、显存占用、可支撑并发、许可证结论、迁移代价、负责人。字段不用多,关键是每行都有明确结论,不留「待定」。
| 检查项 | 通过标准 | 不通过怎么办 |
|---|---|---|
| 能力下限 | 自建评测集通过率达到约定值 | 回到场景清单,缩小使用范围或换候选 |
| 显存与并发 | 目标卡数能覆盖峰值 QPS 并留冗余 | 降量化档位、缩上下文或增加卡数 |
| 许可证 | 三条限制逐条有明确结论 | 让法务给书面口径,不确定的先排除 |
| 迁移代价 | 提示词、评测集、下游应用三项都可控 | 优先选生态更通用的候选模型 |
每行填完再看整体:如果某一行有两项以上标红,先解决它,不要靠别的行补。最终拍板前跑一次小范围灰度,收集真实使用者的接受率和报错类型,再决定放量。什么情况下不适用:团队只有一个人兼职做这块时,把表压缩成场景、显存、许可证三项就够,别把流程做成负担。
下一步把候选模型和显卡规格带到站内部署与选型工具页跑一遍,再回模型库核对许可证和当前供货口径,比在这篇里找数字靠得住。→常见问题
私有化部署一定要选参数量最大的那个模型吗?
不一定。参数量大通常意味着效果更好,但也意味着显存、卡数和延迟同步上升。先看你最吃紧的是哪个指标:如果瓶颈是补全延迟和并发人数,中等规模模型配好量化往往比大模型更合适。判断依据是你自己的场景清单,而不是榜单上的名次。
怎么快速判断一个模型能不能在我们现有的卡上跑起来?
先用站内的部署测算工具按参数量和量化档位跑一遍,拿到显存占用和可承载并发的粗估,再对照加速卡规格库确认卡型。粗估通过之后再实际拉起服务压测一次,这一步不能省,因为框架和批处理策略会让实际数字和估算差出不少。
开源模型的许可证要怎么读才算读明白?
重点看三条:能不能商用、能不能用来训练或蒸馏出别的模型、改动后要不要以相同条款开放。这三条经常不是同一个答案。读的时候看许可证原文和模型卡上的说明,不要只看别人转述。内部使用和对外提供服务的合规要求也不一样,涉及对外服务时让法务确认。
上线之后效果不达预期,是换模型还是继续调?
先分清是哪一类问题:如果是检索没召回对的代码、提示词没给够上下文,换模型改不了;如果是模型能理解但总是写错,才是能力问题。建议先按排查顺序走一遍检索、提示词、上下文长度,都不成立再考虑换模型或微调。
小团队做私有化部署,最容易在哪一步翻车?
最常见的是只算了硬件没算人力:卡买回来了,没人维护推理服务、没人更新权重、没人处理显存占满的告警。另一类是评测集缺失,模型换代时无法判断新版本是否真的更好。建议在立项时就把这两项列入预算和排期。