模型怎么选:参数、量化和能力差异
[TOC] 硬件摸清楚了,接下来面对的是一个更让人眼花的问题:模型到底选哪个。打开 Ollama 的模型库,几百个模型排在那里,名字是一串英文代号,点进去还有各种标签,同一名字下面又有 8b、3b、q4_0、fp16 这些后缀。新手站在这个路口懵掉太正常了。这篇就帮你把这些概念拆开,讲清楚怎么根据需求挑到合适的模型。
参数规模:模型的能力天花板
先说参数。参数是大模型在训练过程中学到的所有知识的载体,参数量越大,模型能容纳的知识和模式就越多,推理能力通常也越强。业界习惯用 B 作为单位来标注参数量,1B 就是十亿个参数。我们常说的 7B、13B、70B 就是三档很典型的规模。
但参数规模和能力之间不是简单的正比关系。一个用海量高质量数据训练出来的 8B 模型,完全可能在某些任务上超过训练数据一般的 30B 模型。近两年的趋势是训练技术飞速进步,小模型的能力被不断挖掘,新一代的 8B 模型往往能打平甚至超过两三年前的 30B 模型。所以选模型不能只看参数,发布年份和第几代同样重要。
从使用场景来看,可以把参数规模大致分成三档。8B 以下属于轻量级,速度快、门槛低,适合做日常问答、文本摘要、简单翻译这类任务,是大多数人的起步选择。20B 到 35B 是中坚力量,各方面能力上一个台阶,适合写代码、写较长文档、做相对复杂的分析,但对显存要求明显提高。70B 及以上是开源模型的第一梯队,接近闭源模型的中等水平,适合预算充足、对能力有较高要求的场景。
还有一个容易被忽略的中间档:很多模型家族会出 12B 到 14B 左右的版本,卡在轻量级和中坚力量之间。这个档位对 12GB 显存的显卡很友好,能力又明显强过 8B,是很多 3060、4070 用户的最甜点。选模型的时候别只盯着 8B 和 70B 两头,中间档往往更符合实际预算。
需要强调的是,参数规模的说法在不同厂商之间不完全可比。因为训练数据量、训练轮数、架构设计都会影响最终效果,同样是标称 8B 的两个模型,能力可能差出一截。所以规模是估算显存用的,比能力还是要靠实测。
量化:用一点精度换大量空间
同一个模型为什么会有那么多版本?答案就是量化。量化的思想很好理解:模型参数本来是用 float16 这种高精度数字存的,但仔细一想,一个小数点后面那么多位真的有必要吗?把每个参数用 4 比特或者 8 比特来近似表示,体积一下子就小了好几倍,而实际使用中的能力损失往往小到难以察觉。
Ollama 的模型标签里你会看到这些常见的量化级别。fp16 是未经量化的原始精度,体积最大、效果最完整;q8 是 8 比特量化,体积减半,效果几乎无损;q4 是 4 比特量化,体积只有原始的四分之一左右,是最主流的选择;再往下还有 q3、q2 这类极限压缩,体积更小但能力损失开始明显。
| 量化级别 | 大致体积占比 | 质量损失 | 适用场景 |
|---|---|---|---|
| fp16 | 100% | 无 | 显存充足,追求最佳效果 |
| q8 | 约 50% | 几乎无损 | 显存充裕时的稳妥选择 |
| q5_K_M | 约 40% | 极小 | 质量和体积的平衡点 |
| q4_K_M | 约 30% | 很小 | 主流默认选择 |
| q3 | 约 25% | 可感知 | 显存紧张时的备选 |
| q2 | 约 20% | 明显 | 只求能跑,不推荐 |
对大多数人来说,闭着眼睛选 q4 就对了。Ollama 默认拉取的模型基本都是 q4 或者更精细的量化变体,这是社区反复验证过的甜点位。如果你显卡显存特别大,可以试试 q8,心理上更舒服;如果显存实在紧张,q3 是最后可以接受的下限。
需要特别说明的是,同一个模型不同量化的能力差异在不同任务上表现不一样。常识问答、文本润色这类任务即使压到 q3 甚至 q2 也感觉不到什么差别;但数学推导、代码生成这类需要精确性的任务,量化太狠会明显增加出错概率。所以压力测试的时候最好用你最关心的任务类型来试,而不是只看跑分。
再补充一个很实际的问题:同一个模型我可以下两个版本换着用吗?当然可以,而且这是常见操作。硬盘里常备一个 q4 版本日常用、一个 q8 版本需要质量时用,按需切换,比起把显存全占给一个模型灵活得多。相关的命令在拉取和运行模型:pull、run 和版本标签那篇有详细演示。
主流模型家族速览
了解完参数和量化,来看看具体有哪些模型值得考虑。下面这张表列出了目前比较主流的几个家族,方便你建立整体印象。
| 模型家族 | 代表型号 | 规模区间 | 特点 |
|---|---|---|---|
| Llama | llama3.1、llama3.2 | 1B 到 70B | 综合能力强,生态最完善 |
| Qwen | qwen2.5、qwen3 | 0.5B 到 72B | 中文能力突出,版本多 |
| Gemma | gemma、gemma2 | 2B 到 27B | 小尺寸表现出色 |
| Phi | phi3、phi4 | 3.8B 到 14B | 微软出品,推理能力强 |
| Mistral | mistral、mistral-nemo | 7B 到 12B | 早期开源代表,稳定 |
| DeepSeek | deepseek-r1 | 1.5B 到 671B | 推理特化,思考过程明显 |
选模型的第一条原则是看你的主要语言。如果你的用途以中文为主,优先考虑国产模型,中文的理解和表达明显更顺;如果主要处理英文代码或者英文文档,英文模型的原始能力往往更强。
第二条原则是版本越新越好。模型领域迭代极快,一年前的旗舰模型放到现在可能已经打不过新出的中端模型。所以除非你有什么特殊的兼容性理由,否则永远优先选择每个家族的最新版本。注意这里说的版本新不是让你去追那些还没稳定的实验版本,而是选官方正式发布的主线版本,稳定性和文档都更跟得上。
第三条原则是小步快跑。不要一上来就纠结哪个模型最强,先下两三个候选模型,用你自己的真实任务各跑一遍,眼见为实。Ollama 切换模型只有一行命令的事,试错成本非常低。
第四条原则是看社区热度。一个模型的讨论越多、教程越多、周边工具适配越多,你遇到问题时找到答案的概率就越大。冷门模型跑分再高,遇到坑没人一起踩也是很痛苦的。主流家族都有活跃的中文社区,新手优先从这些里面选。
中文能力是个重要变量
很多模型的名字你可能没听过,但只要涉及中文场景,情况会有些不一样。英文模型处理中文时经常会出现两种问题:一种是标点符号混乱,句号逗号用的位置不对,或者中英文混排时格式乱掉;另一种是表达翻译腔重,说出来的中文虽然你能看懂,但读着别扭,成语用不到位,语感不自然。
国产模型在这些方面有天然优势。无论是问答的自然程度、中文知识储备还是对中文文化语境的理解,都明显好于同规模的英文模型。如果你的应用要面向中文用户,优先选国产模型可以省掉很多润色的麻烦。
另外一个实际的问题是知识截止日期。每个模型的训练数据都有一个时间点,超过这个时间之后发生的事情它都不知道。问它最近的新闻,它要么老老实实说不知道,要么一本正经地编造。这不是模型坏了而是训练数据的天然限制,别在这一点上花冤枉时间。
顺带提一个中文场景特有的现象:有些英文模型在中文上下文里会突然夹英文单词,或者中英文之间的空格和标点处理得很随意。这种小毛病在自动化流程里挺烦人的,因为下游解析代码经常因此出错。国产模型在这方面普遍规范得多,输出格式更干净,做后处理的时候能省心不少。
如果你做的是面向用户的产品,建议固定一个模型别频繁换。不同模型的语气、格式习惯差异很大,换一次模型可能整个产品的风格都要重新调。先用本文的对比方法选出最合适的那一个,然后信任它一段时间。
亲自对比评估的方法
说到底,选模型最靠谱的方式是自己跑一遍。怎么对比才科学呢?建议准备一组固定的测试问题,每次换模型都跑同样的问题,这样结果才有可比性。问题应该覆盖你实际使用的典型场景,比如一段你工作中常写的代码、一篇你需要摘要的长文、几句你需要翻译的中英混排文本。
观察的好坏可以从几个维度看。首先是准确率,答案对不对,有没有编造内容。其次是相关性,回答是否紧扣问题,有没有跑题。然后是格式,如果你需要特定的输出格式,模型能不能稳定遵守。最后是速度,每秒输出多少 token,等起来难不难受。
把每个维度简单打个分记录下来,几个模型跑完之后,哪个最适合你一目了然。这个过程看起来花时间,但比起盲信网上的跑分要有用得多,因为你的场景只有你自己最清楚。关于速度的具体测试方法,我们会在命令行对话那篇里详细介绍。
这里还有一个省钱省时间的技巧:先从小模型开始筛选。第一阶段用 8B 级别的模型把提示词、输出格式、业务流程调通,确定了大致方向之后,再逐级放大到更大的模型做验证。这样可以用最低的成本试错,避免一上来就下个几十GB的大模型,结果发现方向就错了。
另外注意测试的时候保持变量唯一。同一个问题,温度参数不同结果可能天差地别,所以固定一套参数跑完所有候选模型,对比才公平。参数的含义和怎么固定,在命令行对话:参数、模板和多轮会话那篇有完整说明。
别被跑分绑架
网上各种模型的对比榜单很多,看着一个个分数挺权威,但真到了自己用的时候常常不是那回事。跑分测的是标准题库的得分率,而实际使用中的体验是综合的——输出速度怎么样、格式听不听话、长对话会不会逐渐跑偏、拒答率是不是高得烦人,这些跑分统统反映不出来。
更微妙的是,跑分榜单本身也可能会引导模型厂商去针对性优化,分数高不等于在你的场景里强。所以把榜单当粗筛工具就好,圈出几个候选之后,还是要回到自己的真实任务上做判断。这也正是本地部署最大的好处之一:试错几乎零成本,想怎么试就怎么试。
最后分享一个常见的新手路线。第一步,拉一个国产 8B 主流模型先用起来;第二步,补一个代码能力强的模型专门写代码;第三步,等确认需求之后,再考虑加大模型满足更高要求。大多数人在第二步就停了,因为发现小模型加上好的提示词,已经能解决百分之八十的日常问题。把精力花在调提示词和工作流上,回报往往比换更大的模型高得多。
常见问题
新手入门选什么模型最不容易踩坑
如果只推一个,选国产 8B 模型的最新版本,比如 qwen 系列的 8b 标签。它对中文友好、尺寸亲民、8GB 显存就能跑,日常问答和文本处理都胜任。等你跑顺手了,再往大了试或者尝试更适合代码任务的模型,逐步建立自己的模型库。选模型这件事没有唯一正确答案,先跑起来再说,这是最重要的。
为什么同一个名字下面有那么多标签
标签系统其实是两层意思。标签里的数字部分代表参数规模,比如 llama3.1 后面有 8b、70b 等等;带 q 的是量化标记,比如 q4_K_M 说明用了 4 比特量化。不带任何后缀拉取时用的是默认标签,通常是官方推荐的均衡版本。想精确控制就写完整的标签名,图省事就直接拉默认的。
量化会不会让模型变笨
会有一点点,但普通人很难察觉 q4 相对 fp16 的差别。你可以这样理解:量化相当于把高清图片压缩成中等清晰度,主体内容完全在,细节有一点损失。只有当量化压到 q2、q3 这种程度时,才会在复杂推理和代码生成里明显暴露问题。
模型更新的知识从哪来
训练数据决定了模型的静态知识,想让它知道新信息有两条路。一条是开启联网搜索,让模型先查再答,这需要配合相关工具。另一条是构建私有知识库,把新文档向量化之后提供给模型检索,也就是检索增强的思路,这恰好是 Ollama 生态里很多工具在做的事,比如 Open-WebUI 就内置了知识库功能。
模型文件一般多大,硬盘要留多少
小则两三个GB,大则几十GB。8B 模型的 q4 量化版常见大小在 4 到 5GB,70B 模型的 q4 版本达到 40GB 以上。如果你打算多试几个模型,硬盘留出 100 到 200GB 比较踏实。下载完整之后想换其它量化版本,就还得再下一份,所以管住手、不留用不上的模型很重要,相关的管理操作可以看模型管理:删除、复制和环境变量。
