大语言模型(LLM)出活的时候,很多人觉得它像个黑箱。输入一句提示,输出一段文字,中间发生了什么?其实拆开来看,逻辑不复杂:给定前文,猜下一个最有可能出现的词。这不是思考,纯粹是概率计算。
比如你敲下'今天天气很好,我打算去公园',模型脑子里跑过一堆候选 token:'散步'概率35%,'野餐'20%,'上班'5%。它通常选最高的,于是续上'散步'。然后把新句子当上下文,再猜下一个词。就这样一次一个 token,拼出完整回答。
注意力机制:怎么让模型读懂上下文
光猜词不行,得知道哪些上文重要。Transformer 里的注意力机制(Self-Attention)干的就是这个——它给每个词和上下文里的其他词算一个关联权重。比如'小明在公园看到他,他养了只猫',第一个'他'和'小明'的权重0.8,第二个'他'可能和'猫'绑得更紧。多头注意力(Multi-Head Attention)更狠:一个头看指代,一个头看语义,一个头看因果,合起来理解全面得多。
这种机制的副产品是,模型学到的知识其实是统计关联。它说'地球围绕太阳转',不是真懂天体力学,而是训练语料里这个句子出现得太多,概率碾压。同理,如果数据里'吃维生素C预防感冒'随处可见,它也会当事实说出来,哪怕医学上并不严谨。这就是容易出事实性错误的原因。
从文字到向量,再变回文字
LLM 处理输入的流水线大致五步:
- 分词与嵌入:先把输入拆成 token,中文通常按词切分,比如'我喜欢人工智能'变成'我 / 喜欢 / 人工 / 智能'。接着给每个 token 一条数值向量,语义相近的向量也挨得近。'医生'和'护士'的向量距离,比'医生'和'汽车'近得多。
- 编码:编码器用几层注意力把每个 token 和全句的关联算清楚,输出带上下文信息的编码向量。
- 特征提取:前馈神经网络再从编码向量里抽出更深层的东西,比如任务类型、情感色彩。你让模型写道歉信,它在这步就抓到'愧疚''认错'的信号。
- 解码生成:解码器自回归地一个 token 一个 token 往外蹦,每一步都参考编码向量和已经生成的内容。采样参数这时候起作用:高 Temperature 会让模型偶尔选个冷门词,输出更跳;低 Temperature 就老老实实走大概率路线。
- 输出还原:把向量映射回汉字,调一下换行和分段,最终呈现干净文本。
训练一部曲:预训练、微调、对齐
空白神经网络变成能聊天的助手,要过三关:
- 预训练:拿海量无标注文本——书籍、网页、代码——让模型做自监督学习,主要是完形填空(盖住一个词让它猜)和判断两个句子是否相邻。这个阶段出来的是个语言通才,语法、常识都没问题,但不会具体任务。
- 微调:用几千到几万条标注好的'指令-回答'对教它做事,比如翻译、摘要、解题。数据量远小于预训练,但针对性极强。如果说预训练是个读过万卷书的大学生,微调就是岗前培训。


