一、引文

相信很多同学都有这样的经历,自己正啃传统后端开发框架,写着苍穹外卖、黑马点评以及其他一些微服务项目呢,学习之余刷刷牛客面经或者是招牌网站上后端岗的JD,到处是大模型、Agent、RAG、WorkFlow、CoT、LoRA、Embedding、Function Calling、MCP、SKills.......大家似乎都在传递着这么一个讯息,不懂AI = 死!现在早已不是单靠简历上一些高并发业务项目和一些轮子项目就可以安心投递的时代了,如果简历上没有AI项目或是其他体现你积极拥抱AI的亮点,那就等于变相地告诉面试官你并不是一个积极拥抱新技术的人,也难以跟上大部分企业内部的AI协助开发的转型升级。

不过我懂你的苦衷,很多时候我们听着同学在聊大模型,想要参与其中但自己却插不上嘴。这不仅跟大模型领域内部概念多有关,而且这些概念还像细胞分裂一样,隔一段时间又增生出一大堆子细胞,即便自己想了解也不知道从何下手。

因此我写下这篇文章,就是为了帮助那些想要了解大模型又苦于自己不了解其中纷繁杂乱的种种概念的同学,相信大家看了这篇文章就会对大模型形成一个大概的框架。

二、拳打 if-else 脚踢 NLP 的新存在

要是谈到大模型强在哪里,我想我会首当其冲举荐它理解语言的能力。而这一点却恰好是我们传统代码程序的痛点!不服气?那如果我让你设计一个智能客服负责解答客户问题,你会怎么做呢?

1.遇事不决套 if-else

既然是负责解答问题的智能客服,那免不了要针对不同的场景回答不同的问题。这种变通要怎么实现呢,我们传统代码程序第一时间肯定是想到使用 if-else 进行逻辑判断啊!如果问题是这个,那客服就回答这个答案。或者是使用 contains 这种字符串 API ,如果用户问题中包含了某某关键词,那就确定为某个问答场景,回复事先准备好的答案。相信不用我说大家都会发现这种方法的滑稽之处,我们中国汉字博大精深,问同一个问题有千百万种询问方法,你咋知道我用户提问说的话就是你 if 条件里面这段话呢?要真想覆盖估计写到死都写不完 else-if 吧。同样的道理,表示同一个意思的词语也有千百万种,你要是想用 contains 就覆盖所有关键词,你的 || 号也不知道要写多少,括号里面的堆几千行才发现居然只是一堆同义词。更别提单凭一两个关键词就断定问答场景本身就非常不可靠!

2.正则化与词典

既然 contains 太弱,开发同学首先想到的是建立“同义词库”。比如把“退货、退款、不要了、拒收”都映射到一个意图池里,结合正则表达式来抓取。这确实减轻了代码量,但人类语言的博大精深,让维护这个“庞大词典”变成了一个无底洞般的体力活。

3.TF-IDF

后来,算法工程师引入了统计学。面对用户发来的一长段话,机器怎么知道重点是什么?TF-IDF 的核心逻辑就是“数词频 + 看稀有度”。
比如客户说:“我的苹果手机坏了,怎么退货?” 系统发现,“的”、“了”、“怎么”在所有句子里到处都是(烂大街,权重低),而“手机”、“退货”出现的频率不高(很稀有,权重高)。于是机器抓住了重点词,成功分发给售后。
但它的致命伤是缺乏语序逻辑。如果你说:“我不想退货”,它依然会因为看到高权重的“退货”二字,傻乎乎地给你弹出退货链接。

4.朴素贝叶斯分类器

为了让分类更准,基于概率学的算法出现了。它需要“喂”给机器大量的历史客服记录。机器统计后得出结论:只要一句话里同时出现了“买错”、“钱”、“退”这几个词,它属于【退货意图】的概率就高达 90%。
听起来很智能了对吧?但它名字里有个词叫“朴素”,因为它有一个非常天真的假设:它认为句子里的每一个词都是互相独立的,没有任何关联。 所以当你发一句:“这东西太好了,我一点都不想要退货”,它拆解出了“东西”、“想要”、“退货”,一算概率,得,又给你判成了退货。它根本理解不了“不”字对后面词义的彻底反转。

5.高潮前的总结

if-else 做智能客服好比愚公移山,后三种方法属于传统 NLP 处理,的确有很大进步,能做统计层面的文本分析。但它们的本质依然是在“算权重”、“数词频”、“算概率”。它们把完整的句子拆成了一个个碎片的词汇,并不真正理解语言的上下文含义和复杂的语境。这也是为什么前些年的智能客服,总被大家吐槽是“人工智障”。

6.LLM 诞世 —— 知晓语言之“人”

通过让大模型阅读海量的数据(即大模型的预训练),它逐渐找到人类语言的规律,具备理解语言的能力。这个其实就好比我们人,没有谁是生来就能说会道,但我们会发现身边那些表达能力强的人都很喜欢看书。大模型就像是一个腹有诗书的人,知道什么场景该说什么话,大家可以想想自己平时说话的场景,是不是十分相似!这样一来通过大模型来实现智能客服,设计的好的话就像跟真人对话一样,也就没那么别扭了吧?

三、关于大模型——你必须知道的核心概念!

1.大模型参数量

在很多大模型平台上你想要调用某个模型,常常会发现每个模型后面或者说介绍里面都会有35B、122B、9B等等,这些其实就是大模型的参数量。B就是Billion的缩写,即十亿,每个参数通常都是一个高精度浮点数,在后面具体讲量化的时候会再次提到。大模型的参数就好比人的大脑神经突触数量,数量越多代表模型的思考推理能力越强,当然与之相应的就是算力成本的巨量增长、API费用的和模型思考耗时的增加。因此不是说参数越多就越好,而是选择场景适合的模型!

2.Token

相信大家经常听到“我已经中了XXX大模型的毒,再给我些Token吧!!!”类似的话。上图是我调用Gemini模型返回的数据,大家可以看到最后一行返回了 token used:1901,后面就是调用的模型,表示我这次调用某个模型花费了多少Token。在第一次听到这个词的时候我还以为是JWT令牌里面的那个Token呢,谁让咱们是干后端开发出身的。

Token 简而言之是大模型计量单位,大模型在处理文本时不是按照一个英文字母或者是一个中文字计算,而是按照 一个 Token 计算,每种语言切分成 Token 的标准不同,大概估算如下:一个英文单词 1~1.5 个 Token ,一个汉字词 1~2 个 Token。

之所以需要具备大概的 Token 估算功能是因为大模型的上下文窗口以及调用大模型 API 的费用都是基于 Token 计算的。

3.上下文窗口

我们经常刷视频会听到有人说大模型当前一大痛点就是大模型上下文窗口有限,那么上下文窗口到底是什么东西,它是不是越长越好呢,如果技术真的发展到上下文窗口无限,真的是一件好事吗?

上下文窗口包含了你发送给模型的全部内容(系统提示词 + 历史对话 + 用户当前问题)和模型的回答,一旦这些上下文窗口的 Token 数量超过了设置的最大限度,那么最早的部分内容就会被截断,大模型就丧失了这一部分的记忆

上下文窗口是不是越长越好呢,先说结论,不是的!其实类比我们人自身就可以发现,人的记忆并不是无限的,因为我们大脑存储容量就是有限的,很多年前的事情我们未必会记得,不过失忆忘事未必是坏事,一些研究表明这是人类大脑自我保护机制。大模型也是这样,适当忘记一些事情,在有限的上下文窗口聚焦一些特定内容没准会让生成的答案更加符合实际。如果我们强行违逆自然规律(说起来有些夸张),让大模型实现无限上下文窗口,相当于一个把世间所有事情都记录下来的知识库,这个时候我们如果我们向其提问,反而可能因为知识太多了,噪声太多了,生成的答案没那么准确

4.Temperature

Temperature 是控制模型回答的随机性的,在我们后续讲基座模型和Chat模型的区别时会讲到大模型最初生成回答时的运作过程:对人类语句进行读后续写,每次根据概率选择前一个词后面可能出现的词,一个接一个词生成就组成了一句话,类似于一种续写。而 Temperature 这个参数简而言之就是控制大模型生成答案时,基于前一个字决定后面生成的字的具体策略。Temperature 参数的范围位于 0~1 之间,值越低,大模型的策略越稳定,只会尽可能选择概率更高的字作为后一个字;而值越高,大模型的策略越具备随机性,在可能的字中随机选择作为下一个字。通常我们会根据大模型的使用场景和具体落地效果动态调整Temperature。

5.从BaseModel到ChatModel

(1)BaseModel

BaseModel 就是基座模型,它是经过海量无标注文本预训练出来的原始大模型,它无法理解指令,生成答案时是做文本续写(下一词预测)

(2)ChatModel

ChatModel 是对话模型,它是在基座模型的基础上通过指令微调和对齐对话训练出来的能够听得懂人话,按照人类意图生成回复的模型,我们平常使用的豆包、Kimi、DeepSeek、千问都是 ChatModel。

6.量化

在讲解量化前我们先回到大模型参数量上来,前面提到参数其实就相当于大模型的神经突触,参数量越大代表大模型的思考推理能力越强。而每个参数就是一个高精度浮点数,一个浮点数通常由三部分组成:符号位(1位,决定正负方向) + 指数位(决定范围) + 尾数位(决定精度)

我个人觉得有个不错的比喻是尺子的范围与精度,指数位越多,尺子长度(范围)越大,尾数位越多,尺子刻度间隔越细(精度越高)。

常见的参数浮点数类型如下:

格式

位数

每参数占用

核心特点

FP32

32 位

4 字节

传统的“全精度”,范围大、精度高,但太占显存,现在很少直接用来存模型权重。 1 + 8 + 23

TF32

19 位

NVIDIA Ampere 架构(A100 等)引入的格式,保留 FP32 的范围但砍掉一半精度,GPU 内部自动使用,开发者一般不用管。 1 + 8 + 10

FP16

16 位

2 字节

“半精度”,体积是 FP32 的一半,但能表示的数值范围很小(最大约 6.5 万),训练时容易溢出。 1 + 8 + 7

BF16

16 位

2 字节

Google 提出的“脑浮点”,和 FP16 一样大,但把更多位数分给了指数(范围和 FP32 一样大),牺牲了一点精度换来了训练稳定性。 1 + 5 + 10

讲清楚参数之后,那么量化就很好理解了,一句话就是它把模型权重从 BF16/FP16(16 位)进一步压缩到更低的位数,比如 INT8(8 位整数)或 INT4(4 位整数)。精度降低了,每个参数占用的空间也就小了。

7.CoT

CoT 全称 Chain of Thought ,即思维链。大家在使用 DeepSeek 的时候相信大家应该使用过它的深度思考模式,这背后其实就涉及到了CoT。其核心思想就是让模型把推理过程一步步说出来,而不是直接跳到结论。它的使用会让模型输出 thinking 过程,Token 消耗量也会大幅度增加,但与之对应的收益就是回答质量明显提升,在处理复杂多步骤任务时可以开启深度思考。

四、总结

本文梳理大模型入门七大核心概念:Token是模型文本计量单位,中英换算不同,决定计费与上下文长度。上下文窗口包含提问与回答总长度,超限会遗忘早期内容,并非越长越好。Temperature控制生成随机性,值越低越稳定,越高越创意。BaseModel是预训练原始基座,仅会文本续写;ChatModel是经指令微调后的对话模型,可理解意图、多轮交互。量化是将高精度参数压缩为低精度,减少显存占用。CoT思维链让模型分步推理,提升复杂问题准确率,这些是理解与使用大模型的基础。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐