按场景选型(模型选择指南)
根据任务场景在性能、成本、延迟三角中找到最优模型组合
根据参数规模选择合适的 LLM,平衡性能、成本和硬件需求
内容摘要
按规模选型,指的是根据 LLM(Large Language Model,大语言模型)的参数数量(通常用 B 表示十亿)来决定选用哪个模型。参数数量越多,模型理论上越"聪明",但推理成本、显存占用和部署复杂度也越高。核心目标是找到"刚好够用"的那个规模,而不是盲目追大。
按规模选型,指的是根据 LLM(Large Language Model,大语言模型)的参数数量(通常用 B 表示十亿)来决定选用哪个模型。参数数量越多,模型理论上越"聪明",但推理成本、显存占用和部署复杂度也越高。核心目标是找到"刚好够用"的那个规模,而不是盲目追大。
这件事之所以重要,是因为模型规模直接决定了三笔账:硬件投入(需要多少张 GPU)、运行成本(每处理一条请求花多少钱)和响应速度(用户等多久才能收到回复)。选错规模的代价很高——选太大,每月多花数万美元但效果并未明显更好;选太小,业务指标达不到及格线,上线即翻车。
与传统软件"先选框架再写代码"不同,LLM 选型的核心变量是参数量。2026 年的行业共识是:匹配任务,而非追求最大。很多团队已经转向混合架构——用小模型处理 80% 的简单请求,只把复杂的 20% 交给大模型,整体成本可降低 60% 以上。
| 维度 | 作用 | 说明 |
|---|---|---|
| 参数规模 | 决定模型的"知识容量"和推理上限 | 7B / 13B / 70B 等离散档位,越大越强但边际递减 |
| 硬件配置 | 决定能不能跑、跑多快 | GPU 显存是最硬的瓶颈,直接筛掉装不下的模型 |
| 量化方案 | 用精度换空间,降低显存需求 | INT4 可将显存需求压缩到 FP16 的 1/4,性能损失通常 <5% |
| 任务复杂度 | 决定"最低需要多大" | 简单分类 3B 够用,复杂推理至少 70B |
| 部署架构 | 决定实际吞吐和运维复杂度 | 单卡 vs 多卡并行 vs 云端 API |
参数规模类似于汽车的排量。1.5L 小车能通勤但跑不了越野,3.0T 大排量越野强但油耗高。LLM 也一样:
显存是第一个过滤条件。一个模型在 FP16(半精度浮点)下的显存占用可以简单估算:
显存(GB) = 参数量(B) x 2
7B 模型 FP16 需要约 14GB 显存,70B 需要约 140GB。再加上推理时的 KV Cache(键值缓存)开销(约 20%-30%),实际需求还要更高。一张 24GB 的 RTX 4090 勉强能跑 7B 的 FP16,但 70B 必须用多张 A100/H100。
量化(Quantization)是把模型参数从高精度(如 FP16,每个参数 2 字节)压缩到低精度(如 INT4,每个参数约 0.5 字节)的技术。效果:
| 精度 | 每参数字节 | 7B 显存 | 70B 显存 | 典型性能损失 |
|---|---|---|---|---|
| FP16 | 2 | 14 GB | 140 GB | 基准 |
| INT8 | 1 | 7 GB | 70 GB | <2% |
| INT4 | 0.5 | 3.5 GB | 35 GB | <5% |
INT4 量化后,70B 模型可以塞进单张 A100(80GB),这在 2024 年之前是不可想象的。
判断任务需要多大模型的三个问题:
对于结合 RAG(检索增强生成)的场景,模型只需做总结和排序,7B 往往就够。
按规模选型的理论基础是 Scaling Law(缩放定律)。2020 年 OpenAI 发表的 Kaplan Scaling Law 首次揭示:模型性能(用 Loss 衡量)与参数量之间遵循幂律关系——参数翻倍,Loss 只下降一个固定比例,而非减半。这意味着边际收益递减。
2022 年 DeepMind 的 Chinchilla 论文进一步修正了这个认知:在固定计算预算下,同时增加参数量和训练数据量才是最优策略,而非一味堆参数。这直接影响了后来 LLaMA、Qwen 等模型家族的设计——它们宁愿用更多数据训练中等规模模型,也不盲目追求参数量。
到 2025-2026 年,行业又出现两个重要变化:
MoE(Mixture of Experts,混合专家)架构:如 DeepSeek-V3 总参数 671B,但每次只激活 37B。总参数决定知识容量,激活参数决定推理成本。这打破了"参数量 = 推理成本"的旧等式。
小模型逆袭:经过精调(Fine-tuning)的 7B 模型在特定领域可以媲美通用 70B 模型。数据质量比模型大小更重要。
选型的核心决策链路:明确任务 -> 确定性能下限 -> 盘点硬件上限 -> 在可选范围内找成本最低的规模 -> 用真实数据验证 -> 不够再升级。
这张流程图的关键分叉点有两个:一是硬件能否装下(物理约束),二是业务指标是否达标(效果约束)。量化和精调是两条"曲线救国"的路径——前者解决"装不下",后者解决"不够准"。
# 模型规模选型速查工具(纯 Python,无外部依赖)
# 根据任务复杂度和硬件条件,推荐最合适的模型规模
# 规模档位参考数据(基于 2025-2026 主流开源模型实测)
SCALE_PROFILES = {
"3B": {"vram_fp16": 6, "vram_int4": 1.5, "cost_idx": 1, "tasks": "分类、情感分析、简单抽取"},
"7B": {"vram_fp16": 14, "vram_int4": 3.5, "cost_idx": 2, "tasks": "FAQ 问答、内容审核、RAG 总结"},
"13B": {"vram_fp16": 26, "vram_int4": 6.5, "cost_idx": 4, "tasks": "代码生成、多轮对话、文档摘要"},
"33B": {"vram_fp16": 66, "vram_int4": 16, "cost_idx": 10, "tasks": "复杂翻译、长文分析、专业问答"},
"70B": {"vram_fp16": 140, "vram_int4": 35, "cost_idx": 25, "tasks": "医学推理、法律分析、数学证明"},
}
def recommend(vram_gb: float, need_multi_step: bool = False,
need_domain_expert: bool = False, allow_quantize: bool = True):
"""根据硬件和任务需求推荐模型规模"""
# 根据任务复杂度确定最低规模
if need_domain_expert:
min_scale = 33
elif need_multi_step:
min_scale = 13
else:
min_scale = 3
results = []
for name, p in SCALE_PROFILES.items():
param_b = int(name.replace("B", ""))
if param_b < min_scale:
continue
# 检查显存是否装得下
needed = p["vram_int4"] if allow_quantize else p["vram_fp16"]
if needed <= vram_gb:
quant = "INT4" if allow_quantize and needed == p["vram_int4"] else "FP16"
results.append((name, quant, p["cost_idx"], p["tasks"]))
if not results:
return "当前硬件无法满足任务需求,建议增加 GPU 或使用云端 API"
# 按成本从低到高排序,取最经济的
results.sort(key=lambda x: x[2])
best = results[0]
return f"推荐: {best[0]} ({best[1]}) | 适合: {best[3]}"
# 示例:24GB 显卡,需要多步推理
print(recommend(vram_gb=24, need_multi_step=True))
# 输出: 推荐: 13B (INT4) | 适合: 代码生成、多轮对话、文档摘要
# 示例:8GB 显卡,简单分类任务
print(recommend(vram_gb=8, need_multi_step=False))
# 输出: 推荐: 3B (INT4) | 适合: 分类、情感分析、简单抽取
这段代码将选型决策简化为两步过滤:先按任务复杂度确定最低规模门槛,再按硬件显存筛选可部署的模型,最后取成本最低的那个。实际生产中还需用真实数据做 benchmark 验证。
| 概念 | 与按规模选型的区别 | 更适合关注的重点 |
|---|---|---|
| Scaling Law(缩放定律) | 描述的是"规模与性能的数学关系",是理论基础 | 幂律曲线、最优训练配比 |
| 模型蒸馏(Distillation) | 用大模型"教"小模型,是缩小规模的手段之一 | 教师-学生框架、知识迁移效率 |
| MoE 架构 | 总参数和激活参数分离,打破了"参数量=成本"的假设 | 激活参数量、路由机制、稀疏计算 |
| 模型量化(Quantization) | 不改变参数数量,只压缩每个参数的精度 | 精度档位选择(INT4/INT8)、性能损失评估 |
核心区别:
| 常见误区 | 正确理解 |
|---|---|
| 参数越多效果一定越好 | Scaling Law 显示边际收益递减。7B -> 13B 提升明显,70B -> 140B 提升可能不到 10%,但成本翻倍。经过精调的 13B 在垂直领域常常超过通用 70B |
| 显存占用 = 参数量 x 2 字节 | 这只算了参数本身。实际推理还需 KV Cache、激活值等额外开销(约 20%-30%)。7B FP16 理论 14GB,实际运行需 17-20GB |
| INT4 量化会严重损害效果 | 现代量化技术(NF4、GPTQ、AWQ)性能损失通常 <5%。9B 的 INT4 模型往往优于 3B 的 FP16 模型——降低了精度但保留了更大的知识容量 |
| 用 API 调用大模型总是更贵 | 低调用量时 API 反而便宜(无硬件投入)。当日调用超过约 10 万次时,自部署小模型的固定成本才比 API 的按量计费更划算 |
参考答案:
FP16 下:7B(约 14GB 参数 + KV Cache 约 17-20GB)勉强可以,13B(约 26GB)装不下。
INT4 下:7B(约 3.5GB)、13B(约 6.5GB)都能轻松运行,33B(约 16GB)也可以跑,70B(约 35GB)装不下。
结论:RTX 4090 搭配 INT4 量化,最大可跑 33B 级别的模型。
参考答案:
原因有三:
关键挑战是路由策略——如何判断一个请求"够不够简单",需要一个轻量级的分类器或规则引擎。
参考答案:
分析:商品描述生成属于结构化文本生成,复杂度中等偏低,7B-13B 精调模型通常可以胜任。
方案:
风险点:少数复杂品类(如奢侈品、技术产品)可能仍需 GPT-4 兜底,可保留 5-10% 的 API 预算。
优先展示同分类且标签更接近的内容,方便继续串联学习。
根据任务场景在性能、成本、延迟三角中找到最优模型组合
在个人电脑或私有服务器上运行大语言模型的核心概念与工具选择。
通过量化、缓存优化、解码加速等手段,降低大模型推理的显存占用和延迟