大模型参数详解

639 字

jenya007 2026年6月8日 08:27

1.简介

在大语言模型的应用中,仅仅提供一个好的提示词往往不足以获得理想的输出结果。理解每个参数背后的数学原理和影响机制是基础。在深入了解参数调优前,我们需要先理解模型的基础参数,这些参数决定了模型的“先天能力”。

图片

2.模型基础概念

2.1词元(Token)

在大语言模型中,token 是文本处理的基本单位,模型通常将输入文本分解成一系列 token,然后对这些 token 进行处理和分析。token 可以是单词、字符、子词片段或其他形式的文本片段,具体的划分方式取决于模型使用的分词算法,所以 token 的计算和处理方式可能会根据模型的具体架构和设计而有所不同。与智能体对话时,产生的 Token 为输入 token 和输出 token 之和。

注意:Token ≠ 字数,它是模型处理文本的最小单位

中文: "我爱北京天安门"

→ 可能拆成: ["我", "爱", "北京", "天安", "门"]

→ 5个token

英文: "I love Beijing"

→ 拆成: ["I", " love", " Beijing"]

→ 3个token

代码: "print('hello')"

→ 拆成: ["print", "('", "hello", "')"]

→ 4个token

2.2 参数规模(Parameter Scale)

参数规模是衡量模型复杂度的核心指标,通常以B(Billion,十亿)为单位。例如,一个7B模型意味着它有70亿个参数。

·轻量级(1-7B):适合个人电脑部署,响应速度快,但能力相对有限

·中量级(14-32B):平衡性能与资源需求,适合大多数应用场景

·重量级(70B+):需要专业硬件支持,能力最强,但推理速度较慢

2.3 精度与量化(Precision & Quantization)

模型精度指计算时使用的数值格式,量化则是模型的“瘦身术”,能大幅减少显存占用。

常见精度类型:

·FP32:最高精度,主要用于模型训练

·FP16/BF16:推理部署的平衡选择,在精度和效率间折中

·INT8/INT4:量化方案,显著减少显存占用,轻微牺牲精度

通过量化技术,一个14B参数的模型可以从原始需要约67GB显存降低到仅需约10GB显存即可运行,使得本地部署成为可能。

3.大模型参数

2.1.文本生成控制参数

2.1.1 温度(Temperature)

温度参数是控制文本随机性的重要工具,取值范围通常在0到1之间。

·低温(0.1-0.3):输出确定性高,保守且可预测,适合事实问答、代码生成等准确性要求高的场景

·中温(0.5-0.7):平衡创造性和一致性,适合大多数对话和内容创作

·高温(0.8-1.0+):高随机性和创造性,适合诗歌创作、头脑风暴等需要发散思维的场景

温度参数的工作原理是通过调整Softmax函数之前的logits分布来实现的。当温度降低时,概率分布会变得更“尖锐”,高概率词更被突出;温度升高时,分布更平缓,低概率词有更多机会被选中。

解释:

温度越低,生成的结果越确定,温度越高,生成的结果越随机。

在代码、数学、事实问题方面取低值;文学创作、营销方面取高值。

比喻:厨师的"冒险精神"

低温 (0~0.3) → 保守厨师:只做最拿手的菜

中温 (0.5~0.8) → 正常厨师:偶尔尝试新菜

高温 (1.0~1.5) → 疯狂厨师:什么奇怪搭配都敢试

原理:

原始概率: 好(72%), 棒(20%), 差(8%)

T=0.3 → 好(98%), 棒(1.9%), 差(0.1%) # 差距拉大

T=1.0 → 好(72%), 棒(20%), 差(8%) # 保持原样

T=1.5 → 好(55%), 棒(28%), 差(17%) # 差距缩小

2.1.2 Top-k和Top-p采样

这两种采样方法用于控制候选词的选择范围,是平衡生成质量和多样性的关键技术。

·Top-k采样:模型仅从概率最高的k个候选词中进行抽样。k值越小,输出越保守;k值越大,多样性越强。例如,设置k=40,模型只考虑概率排名前40的词,在保证文本质量的同时避免过度单一。

·Top-p采样(核采样):更动态的方法,选择累积概率超过阈值p的最小词集合。例如p=0.9时,模型从概率最高的词开始累加,直到这些词的累计概率超过0.9,然后在这个集合内采样。

实际应用中,Top-k和Top-p常结合使用,先通过Top-k筛选出高质量候选集,再用Top-p进行精细调整。

解释:

LLM 预测下的一堆 token 中,是一群概率加起来为 1 的 token,Top-K 表示挑选前 K 个概率最大的 token,Top-P 表示挑选累计概率超过 P 的前 n 个 token。比如 token 对应的概率队列是 [0.4,0.3,0.2,0.1],Top-K 为 2 表示取 [0.4,0.3],Top-P 为 0.3 取 [0.4]。

Top-P 也叫核采样,一般只用这个,如果两个都配置了则取两者结果的交集。

(1).Top-k

比喻:只看菜单前k名

Top-k = 3 → 只从排名前3的菜里选,其他不考虑

候选词概率:

好(40%) ✓

棒(30%) ✓

妙(15%) ✓

差(10%) ✗ 被淘汰

坏(5%) ✗ 被淘汰

特点:

(1)简单粗暴,固定数量

(2)k 太小 → 太死板

(3)k 太大 → 可能选到奇怪的词

(2).Top-p(核采样/Nucleus Sampling)

比喻:选"够热门"的菜,凑够p%的人气就停

Top-p = 0.9 → 从高到低累加,直到概率和 ≥ 90%

候选词概率:

好(40%) → 累计40% ✓

棒(30%) → 累计70% ✓

妙(15%) → 累计85% ✓

差(10%) → 累计95% ✓ (刚超过90%,入选)

坏(5%) → ✗ 不需要了

(3).Top-p vs Top-k的区别

图片)

Top-p 更智能:根据实际分布动态调整候选数量。

2.1.3 惩罚参数

(1).定义

为了避免模型陷入重复循环或表达单一,重复惩罚参数是必不可少的工具。

·频率惩罚(Frequency Penalty):抑制生成文本中重复词的出现频率。某个词出现次数越多,它再次被选择的概率会按惩罚系数降低。这有助于避免模型陷入重复表述,使生成文本更加丰富多元。

·存在惩罚(Presence Penalty):针对已出现过的词进行惩罚,不考虑出现次数。只要词出现过,再次被选择的概率就会降低。这促使模型探索更多不同词汇,拓宽文本内容范围。

两者区别在于:存在惩罚关注的是“是否出现”,而频率惩罚关注的是“出现多少次”。

(2).解释

1、Frequency Penalty(频率惩罚)

比喻:这道菜点过了,下次少推荐

惩罚力度 与 出现次数 成正比

"我喜欢猫,猫很可爱,猫..."

"猫"出现3次了,大幅降低再选"猫"的概率

取值:-2.0 ~ 2.0

·正值:惩罚重复(推荐 0.5~1.0)

·负值:鼓励重复(几乎不用)

·0:不干预

2、Presence Penalty(存在惩罚)

比喻:只要点过,就不想再点(不管点了几次)

只看"有没有出现过",不看次数

"我喜欢猫,猫很可爱,猫..."

"猫"出现过 → 固定惩罚(不管出现1次还是10次)

(3).频率惩罚vs存在惩罚的区别

图片)

2.2.输出控制参数

整体比喻:LLM 是一个"话痨演员",想象 LLM 是一个话特别多的演员,给他一个话题他能说一整天。输出控制参数就是导演的控制手段:

(1)Max Tokens = "最多说100个字就停!"

(2)Stop Sequences = "说到'谢谢'就闭嘴!"

(3)Seed = "按照剧本123号来演,每次都一样"

(4)Stream = "边表演边说"

(5)Response Format= "用指定的方言说"

2.2.1 最大长度(Max Length/Tokens)

(1).定义

最大标记是控制AI回答长度的重要参数,最大标记值限制了AI回答可以包含的最大标记数量。该参数限制模型单次生成的最大token数量,避免生成冗长内容。

实际应用指南:

·短文本(50-100 tokens):适合简短回答、摘要生成

·中等长度(200-500 tokens):适合文章段落、详细解答

·长文本(1000+ tokens):适合文档创作、长文生成

注意:最大生成长度受模型上下文窗口限制。例如,一个上下文长度为4096的模型,其最大生成长度通常为上下文长度减去输入token数。

(2).解释

通俗理解就是给模型设置一个"字数限制",就像老师布置作文:"这篇作文最多写500字"

你: "介绍一下北京"

max_tokens = 50 → 模型说50个token就被强制打断

max_tokens = 500 → 模型可以说500个token

(3).案例

如果设置的最大标记数太低,AI可能无法完成完整的回答,导致回答被截断。

案例1:max_tokens 太小,回答被截断

问: "请详细介绍一下Python语言的特点"

max_tokens: 30

答: "Python是一种高级编程语言,具有以下特点:

1. 简洁易读:Python的语法..."

← 戛然而止!因为到了30个token

(4).设置建议

图片)

2.2.2 停止序列(Stop Sequences)

(1).定义

预先设定的字符串序列,当模型生成遇到这些序列时会自动停止。这在格式控制中极为有用,例如:

·设置“\n\n”避免过多空行

·设置特定结尾标记如“谢谢!”规范回复格式

·在代码生成中设置特定结构标记

(2).解释

通俗理解:给模型设置"暗号",说到这个词就立刻停下就像:

1.唱歌比赛说"谢谢"就表示唱完了

2.写信写"此致敬礼"就表示信写完了

stop = ["。", "\n\n", "END"]

# 模型生成时,一旦输出这些字符串,立刻停止

3.案例

结构化输出时特别有用

prompt = """请用JSON格式回答:

{

"name": "用户姓名",

"age": 年龄

}

END"""

stop = ["END", "```"] # 遇到END或代码块结束就停

# 模型输出:

{

"name": "张三",

"age": 25

}

# ← 在这里停止,不会继续瞎说

2.2.3随机种子(Seed)

(1).定义

随机种子用于初始化伪随机数生成器,决定本次推理过程中的随机数序列。
设置相同的seed可以保证每次同输入的生成的结果一致。一句话总结:Seed 就是给"随机"加一个开关:关掉随机性,让每次输出都一样。

(2).解释

生活中的比喻,想象你在玩一个抽奖转盘:

普通转盘(无 seed):

每次转,停在哪里完全随机

→ 第1次:一等奖

→ 第2次:三等奖

→ 第3次:谢谢参与

每次结果都不同!

作弊转盘(有 seed):

转盘内部有个"记忆芯片",记住了转动顺序

→ seed=42 时:永远停在二等奖

→ seed=123 时:永远停在一等奖

同样的 seed,每次结果都一样!

(3).案例

(1)不设置 seed(默认行为)

你: "讲个笑话"

第1次回答: "为什么程序员分不清万圣节和圣诞节?

因为 Oct 31 = Dec 25"

第2次回答: "一只蜗牛爬上苹果树,毛毛虫问:你来干嘛?

蜗牛说:我来等苹果熟..."

↑ 同样的问题,每次回答都不同

(2)设置 seed=42

你: "讲个笑话" (seed=42)

第1次回答: "为什么程序员分不清万圣节和圣诞节?

因为 Oct 31 = Dec 25"

第2次回答: "为什么程序员分不清万圣节和圣诞节?

因为 Oct 31 = Dec 25"

↑ 同样的问题 + 同样的 seed = 每次回答都一样

(4).使用场景

场景1:调试代码

问题:模型有时候输出格式不对,但不是每次都出错

没有 seed:

→ 运行10次,可能只有2次出错

→ 很难抓到 bug

有 seed:

→ 找到出错的那次,记下 seed 值

→ 每次用这个 seed 都能复现问题

→ 方便修复

场景2:A/B 测试对比

想对比两个 prompt 哪个效果好:

prompt A: "请简洁回答:什么是AI?"

prompt B: "用一句话解释:什么是AI?"

没有 seed:

→ 每次结果都不同,无法公平对比

有 seed:

→ 两个 prompt 用同样的 seed

→ 只有 prompt 不同,其他条件一样

→ 公平对比效果

场景3:学术研究

发表论文需要:实验结果可复现

没有 seed:

→ 别人无法复现你的结果

→ 论文可信度低

有 seed:

→ 公开你的 seed 值

→ 别人可以复现完全一样的结果

→ 论文更可信

(5)使用建议

图片)

(6).注意事项

Seed 不是 100% 精确复现

可能导致差异的因素:1. 模型版本更新了2. 不同的 API 服务商3. 服务器负载变化(极少数情况)

但在同一环境下,99% 的情况都能复现

2.2.3 流式输出(Stream)

当处理长文本生成时,流式输出可以显著提升用户体验。设置stream=true后,API会以流式传输返回结果,而不是等待整个生成完成再一次性返回。

流式输出的优势:

·实时交互体验,用户无需长时间等待

·减少客户端内存压力

·服务器资源利用更高效

2.2.4 回复格式 (Response Format)

(1).主要功能

·指定AI回答应该采用的结构和格式

·确保输出内容符合特定的标准或格式要求

(2).常见的回复格式选项

1.文本(Text) - 普通文本格式,适合一般对话和内容生成

2.JSON - 结构化数据格式,适合需要程序处理的应用

3.Markdown - 轻量级标记语言,适合带格式的文档

4.HTML - 网页标记语言,适合生成网页内容

示例:要求生成商品信息并结构化返回

指令:"以JSON输出商品信息,含name, price字段"

输出:

{

"name": "无线耳机",

"price": 599

}

(3).使用场景

· 应用开发 - 后端需要解析AI回答时使用JSON格式

· 内容创作 - 生成带格式的文档时使用Markdown

· 网站内容 - 直接生成可用于网页的内容时使用HTML

· 简单交互 - 普通对话使用文本格式

2.3.高级参数

2.4.1 波束搜索(Beam Search)

与贪婪解码不同,波束搜索维护一个大小为k的候选序列集合,每一步保留总概率最高的k个候选序列。这种方法生成质量更高,但计算成本也更大,适合对连贯性要求高的任务。

微信扫一扫赞赏作者

AI · 目录

作者提示: 个人观点,仅供参考

继续滑动看下一个

奔牛聊AI

向上滑动看下一个