假设我们有一个线性方程:

y = ax + b

现在,ab 都不知道,但我们掌握了两组数据:

  • x = 1 时,y = 3
  • x = 2 时,y = 5

把它们代入方程,可以得到:

a + b = 3
2a + b = 5

两个方程相减,得到 a = 2;再代入第一个方程,得到 b = 1。原来的方程也就确定了:

y = 2x + 1

现在,即使有人问“当 x = 10 时,y 是多少”,我们也能算出答案是 21

从两组已知数据求出线性方程参数,再预测新结果的过程

这个看起来很普通的数学题,其实已经包含了理解机器学习和大模型最关键的思路。

方程就是一个简单的模型

在这个例子中,y = ax + b 可以看成一个模型。它描述了输入 x 和输出 y 之间可能存在的关系。

其中:

  • x 是输入;
  • y 是输出;
  • ab 是需要确定的参数;
  • (1, 3)(2, 5) 是已知数据,也就是用来学习的例子。

我们根据已知数据求出 ab,这个过程可以理解为最简单的“训练”。训练完成后,再给模型一个新的 x,让它计算对应的 y,这个过程就叫“推理”。

把它概括一下就是:

训练:数据 + 模型结构 → 模型参数
推理:新输入 + 模型参数 → 输出结果

大模型中的权重是什么

y = ax + b 中,a 决定了 x 对结果的影响有多大。准确地说,a 可以类比为权重,b 可以类比为偏置,它们都属于模型参数。

大模型中的权重,作用和这里的 a 很相似:它控制一部分输入信息会以多大程度、什么方向影响后续结果。

只不过,大模型面对的不是一个数字,也不是只有一个权重。它会先把文字切分成一个个较小的单位,通常称为 token。一个 token 可能是一个字、一个词,也可能只是一个词的一部分。随后,模型通过一层又一层的计算,处理这些 token 之间的关系。

如果把其中一个很小的计算单元简化,可以写成:

输出 = 输入 1 × 权重 1 + 输入 2 × 权重 2 + …… + 偏置

大语言模型就是把大量类似的计算组合起来,并不断重复。它拥有的不是一个 a,而是由大量数字组成的权重矩阵。

大模型是怎样训练的

大模型训练时,会反复完成一个看起来很简单的任务:根据前面的文字,预测接下来最可能出现什么。

例如,给模型一句话:

今天天气很好,我准备去公园……

接下来可能是“散步”“跑步”,也可能是其他符合上下文的内容。

训练初期,模型的权重通常是随机或近似随机的,预测自然不准确。系统会把预测结果和训练文本中的实际内容进行比较,计算误差,再根据误差对权重做一点调整。

整个过程可以简化为:

  1. 给模型一段文本;
  2. 让模型预测后面的 token;
  3. 将预测与实际内容比较;
  4. 计算误差并调整权重;
  5. 换一批文本,继续重复。

训练通过误差调整权重,推理使用已经学到的权重生成结果

一次调整通常微小得几乎看不出作用。但经过大量文本和大量重复后,模型会逐渐找到更合适的权重组合。

程序员并不是把每一条问答逐字写进模型,而是提供训练方法和数据,让模型通过调整参数,自己学到语言中反复出现的规律。

知识藏在哪一个权重里

在线性方程中,我们可以明确地说 a = 2,它表示这条直线的斜率。但在大模型中,单独拿出某一个权重,通常很难说它具体代表哪一条知识。

模型不会把知识整齐地保存成一张“问题—答案”表。更接近真实的理解是:一条知识往往分散在许多权重之间,而一个权重也可能同时参与许多不同内容的计算。

当模型回答“法国的首都是巴黎”时,并不是先找到某个专门保存这句话的权重。它会综合词义、语法、上下文以及训练中形成的大量关联,共同计算接下来应该输出什么。

一条回答由分散在关系网络中的许多权重共同形成

所以,大模型里的知识更像一张复杂的关系网,而不是一本可以逐页查阅的百科全书。

为什么大模型会一本正经地说错话

理解了训练方式,也就更容易理解大模型为什么会产生“幻觉”。

大模型最基础的工作,是根据上下文计算下一个 token 的概率。它擅长生成语言上连贯、形式上合理的内容,但“看起来像正确答案”和“事实一定正确”并不是一回事。

当问题超出训练中形成的可靠规律,或者上下文信息不足时,模型仍然可能继续生成一个听起来很顺的答案。只是这个答案未必真实。

因此,在医疗、法律、财务、新闻和精确数据等重要场景中,不能只看回答是否流畅,还需要核对可靠来源。

和大模型聊天,会改变它的权重吗

通常不会。

我们在聊天框里输入的内容,会成为模型当前的上下文。模型会参考这些信息生成回答,但一次普通对话通常不会永久修改模型本身的权重。

可以把它理解为:

  • 权重是模型在长期训练中形成的能力;
  • 上下文是模型当前正在参考的信息;
  • 微调或继续训练才会真正修改权重。

这有点像一个人参加开卷考试:桌上的资料可以帮助他回答当前问题,但不代表资料里的内容已经永久变成了他的长期记忆。

大模型和线性方程有什么不同

y = ax + b 只有两个参数,而且我们提前假设了输入和输出是直线关系。给出两个合适的点,就能确定这条直线。

大模型的结构要复杂得多,参数数量也庞大得多。更重要的是,语言并不存在一条简单、确定的直线规律。同一句话在不同语境中可能有不同含义,同一个问题也可能有多种合理答案。

不过,两者最核心的思路仍然相通:

先确定一个模型结构,再通过数据寻找合适的参数,最后用这些参数处理新的输入。

参数越多,模型就一定越聪明吗

不一定。

参数越多,通常意味着模型有更大的空间去表示复杂规律,但最终能力还取决于模型结构、训练数据、训练方法和计算资源等因素。就像方程写得更复杂,并不代表它一定更接近真实世界;关键在于结构是否合适,以及参数有没有被训练好。

因此,“参数量”可以帮助我们了解模型规模,却不能单独代表模型的实际能力。

总结

y = ax + b 到大语言模型,规模和复杂程度发生了巨大变化,但最基本的思想没有变。

在线性方程中,我们根据两个已知点求出 ab;在大模型中,训练系统根据大量文本和预测误差,不断调整内部权重。

所谓机器学习,可以先用一句普通话理解:

从大量已有例子中调整内部参数,让模型面对新的输入时,能够给出更合适的输出。

当然,大模型不只是一条被放大很多倍的直线。但从这条直线出发,我们已经能够看懂模型、参数、权重、训练和推理之间最基本的关系。