之前咱们一直在讲一些自认为"高大上"的东西,类似于算命必须讲什么煞气,什么紫薇。
重点突出一个让别人听不懂,从而显得自己"牛掰"。
抛开那些"玄乎"的名词,补全一下自己的AI基础,听懂那些"装杯"的人到底在说些什么!
模型
我们一直说"大模型",到底什么是"模型"?
是我们玩儿的航模?车模?(此车模非彼"车模")
其实AI领域的"模型",可以简单理解为一套"规则"。
这是我们从海量数据中摸索出的规律,总结起来,就叫他"模型"。
打个比方,我们给电脑看了非常非常多猫的照片,让他自己从这些猫片中总结规律。
它可能总结出了:皮毛、爪子、牙齿、耳朵...的规律,这时候我无论给他一张什么猫的照片。
他都能准确识别:这是一只猫。
这时候,我们就训练出了一个:看猫片的模型。

语言模型也是一样的,我们投喂了数以亿计的资料给它,让他从这些文字中寻找规律。
比如,你问他:我是一个?
他根据以往的规律会告诉你:人!
你又问:它是一只?
他或许会告诉你:猫!
就是说它是按照一定的规律在输出内容,当前面出现了"只"这个单位。
按照以往学到的规律,它推算是人的可能性只有0.5%,是猫的可能性高达60%。
所以输出的是"猫"。
这也引出模型背后隐藏的本质:
其实它只是一个用海量数据堆砌出来的"规律",拿着你的输入,按照"规律"给到你输出。
它输出的东西自己并不知道背后的含义 ,所有的输出都是概率推算的结果。
大模型和小模型
知道了模型的含义,所以"大"模型其实就是在说"规律"大。
这里要注意一个误区:"大"模型的大,不是简单的说训练的数据量大,而是说"参数"量大。
打个比方:现在这个模型是一个学生,训练数据其实就是课本、习题集、卷子...材料。
而参数就是我学完课本,做完习题,考完卷子,最后沉淀下来的"知识"。

这个"模型学生"现在已经会了你给的所有"训练资料",你这时候再出类似的题目就都会"解"了。
模型的训练并不是原封不动的保存原始数据,而是在总结规律,写入参数。
这些参数会以一大堆浮点数数字的形式被保存下来。
所以"训练"模型,其实本质上就是在不断的调整这堆"参数"。
而所谓"推理",其实就是在用这堆"规律/参数"进行计算,给你一个结果。
所以,以"参数"大小区分大模型和小模型,一般我们说千亿级别参数以上的都算大模型 ,百万~几十亿参数的都算小模型。
这不是个官方名词,而是个俗称,"大名"应该叫大语言模型 LLM(Large Language Model)。
训练数据多≠参数大
既然"参数"是总结了"训练资料"的规律,那么按理说,资料越多,模型学会的东西也就越多,参数也就越大。
其实不然!
还是拿上面那个"学习"的例子,你看的书越多,理论上来说,学到的知识也就越多。
但是你忽略了一个事儿:脑容量是有限的!

大家都有小学二年级的学历,也都看过小学二年级的课本,但不是说大家都能达到小学二年级的水平。
模型也一样,用了多少训练资料和参数的大小并不完全正相关。
参数量,或者说模型容量,是训练模型之前就定好的,也就是说这个"容器大小"是固定的。
你做模型,先拍板:我要做 7B / 13B / 70B,这个数字在训练开始前就写死了。
训练的过程不会自动增加参数数量 ,只会修改每一个参数里面的数值 ,所以参数总个数是不变的。
同样一个 7B 的模型,你给他 1 亿 Token 的训练数据和给他 100 亿 Token 的训练数据,"规律总结"的效果肯定是不同的。
我们简单总结一个表格:
| 参数量 | 训练数据量 | 结果 |
|---|---|---|
| 小参数 | 小数据 | 只能执行简单任务的小模型 |
| 小参数 | 大数据 | "容量"不足以装下这么多"规律",会欠拟合 |
| 大参数 | 小数据 | "容量"富裕太多,容易简单复制样本,泛化差,过拟合 |
| 大参数 | 大数据 | 充分学习各种"规律",可以执行复杂任务的大模型 |
这里出现了两个词:泛化、拟合。
这两个词是机器学习中常用的两个专业名词,所谓"泛化"就是说,面对从未见过的新"问题",模型能否给出正确答案。
相当于是在考这个"模型学生",这道新出现的题目,根据你学到的"知识",能不能解答。
泛化是机器学习中我们最想要的能力,因为训练AI的目的不是在于无限的去"背诵"训练集。
而是让其学会规律,去解答那些从未见过的新问题。
而"拟合"其实是在考量,模型在训练数据上学得怎么样,能不能看懂、记住训练集里的模式。
相当于是在考这个"模型学生",这道训练集中出现过的"旧题目",能不能答对。
"欠拟合"就是说"没学会",连例题都不会做。
"过拟合"说的就是"学会了,但只会例题",换个新题目当场翻车。
理想状态应该是"刚好拟合",既会做例题,又会做新题目。
参数大、数据大的超级AI
这里你可能会好奇一个问题:既然参数量越大,训练数据越多,模型越强,那么为什么我们不搞一个超级大的模型来训练?
这样不就能够得到一个超级牛的模型了嘛?
从理论上来说确实如此,巨大的参数 + 海量数据 = 超级AI。

但现实中做不到,参数越大,训练所需的算力卡数量、电力、时间是暴涨,而不是线性增长!
一个千亿参数级大模型,完整的训练一次,成本大概需要几千万~数亿人民币。
如果是 千亿 x 10 的 万亿参数大模型,则成本不是简单的 x 10,甚至有个能直接翻个几次方。
而且训练模型这个事儿,在比较小的时候,翻倍参数、翻倍数据,模型能力提升非常明显。
但当规模越来越大之后:你把参数翻一倍,能力只能涨一点点。
这就是所谓的模型缩放定律(Scaling Law)
能力 ≈ k * (参数量^α) * (数据量^β)
α、β 都是小于 1 的小数。
也就是说,随着模型的变大,其能力的提升其实是越来越小的。
投入多,回报少。这和咱们看"成绩不好"的同学,辅导几节课可能提升巨大,因为起点低。
而"学霸"级别的同学,辅导几节课可能一分的提升都没有。
写着写着停不下来了,这篇就到这里了。
如果你感兴趣,欢迎你关注我的公众号,我持续更新 AI 相关的内容。