1.文字被切成叫作“词元”的片段
语言模型并不是照字面去读文字。它先把文字切成叫作词元的片段。一个词元可能是一个词,也可能是词的一部分、几个字或标点符号。常用的说法往往是一个词元,少见的说法则容易被拆成多个词元。
接着,每个词元被转换成一串数字(向量)。这串数字在训练中不断调整,使意思相近的词元得到相近的值。所以在模型内部,“小狗”和“狗”离得近,“小狗”和“税金”离得远。「数学基础 第10讲」讲的向量相似度,就是这个概念。
词元也有实际意义。许多AI服务用词元数来计算一次能读多少文字以及用量。同样的内容,语言和表达方式不同,词元数也会不同。
- 切分词元的方式因模型而异,下面只是用于说明的示例。
- 例:「今天」「天气」「真」「好」「啊」
- 像“今天”“天气”这样常用的词整个作为一块,语气词之类则单独切开。
- 模型把这些片段分别转换成一串数字,然后再计算。
2.核心原理:预测下一个词元
用一句话概括语言模型做的事:“看到目前为止的词元,计算下一个词元的概率。”在“天空真”后面,可能出现“晴朗”“湛蓝”“阴沉”等词元,各有不同的概率。模型计算出这个概率分布,从中选一个接在文字后面。
然后,把包括刚接上的词元在内的整段文字重新作为输入,预测再下一个词元。这样一直重复,直到回答结束。再长的回答,归根结底也是这种一块一块的选择连续进行了几百、几千次的结果。
要把下一个词元预测好,不仅要懂语法,还要懂事实、逻辑、语气和上下文。要猜对“韩国的首都是”后面的内容,就得懂地理;要猜对数学解题过程的下一行,就得懂计算规则。在用海量文字训练这种预测的过程中,模型掌握了数量惊人的知识和模式。
3.跟着看一个简短回答是怎样生成的
我们把原理完整走一遍。假设用户输入:“用一句话描写一下下雨天。”模型把这个问题切成词元,然后从接在后面的第一个词元开始,一个一个地挑选。下面的概率全是为了说明而编的数字。
挑选的方法也有不同选择。如果每次只挑概率最高的词元,同一个问题总会得到同样的回答,但表达容易平淡。如果按概率比例偶尔也挑不那么可能的词元,表达会更丰富,代价是每次回答都略有不同。许多服务都有一个设置,用来决定这种随机性的程度。
一个常见的误解也能在这里解开:模型并不是先在“脑子里”写好完整答案再展示出来。前面选出的词元不断缩小后面的选择范围,回答就这样一点点形成。所以,如果开头几个词元走偏了,后面就可能顺着这个走向,把错误内容说得头头是道。
- 把整个输入切成词元,并把每个词元转换成一串数字。
- 计算第一个词元的概率。例:「窗外」0.30、「雨滴」0.25、「灰色」0.15、… 从中选出「雨滴」。
- 把接上「雨滴」后的文字重新作为输入,计算下一个词元。例:「敲打」0.60、「声」0.20、… 选出「敲打」。
- 重复同样的步骤,一直写到「雨滴敲打着玻璃窗,街道渐渐被浸成一片灰色。」
- 当表示“回答结束”的特殊词元成为下一个词元中概率最高的那个时,选出它并停止生成。
4.预训练与面向对话的后续训练
大语言模型通常分两个阶段做成。第一阶段是预训练:在书籍、网页、代码等海量文字上反复预测下一个词元,掌握语言和知识的模式。“大”的意思是训练用的文字量和模型里的权重数量都非常多。
只完成预训练的模型很会接着往下写,却不太会亲切地回答问题。所以在第二阶段,用“问题和好的回答”的示例进行后续训练,再结合人从多个回答中挑出较好者的评价来加以打磨。经过这个过程,它才成为能听从指示、能对话、能拒绝危险请求的模型。
由此带来一个重要结果:模型的知识停在收集训练数据的那个时间点。之后发生的事,除非另外接上搜索功能或由用户提供资料,否则它并不知道。问需要最新信息的问题时,一定要记住这一点。
5.上下文窗口:一次能看到的文字量
对话时,语言模型会把到目前为止的对话和粘贴进来的资料整个作为输入。一次能接收的词元最大量,叫作上下文窗口。模型基本上并不是“记住”了对话,而是每次都把前面的整段对话重新读一遍,再生成下一个回答。
所以,对话变得非常长、超出上下文窗口时,前面的部分可能被截掉或较少被考虑。重要的条件与其只在对话开头说一次,不如在需要时再简短提醒一下,这样更稳妥。另外,新的话题在新的对话里开始,结果会更清爽。
6.由原理带来的长处和短处
因为下一个词元是按概率挑选的,所以同一个问题的回答也可能每次略有不同。想要多个点子时,这是长处;需要完全一样的结果时,这是短处。
另外,模型挑的是“像样的下一句话”,并不是在核实事实。训练数据里常见的内容大多准确,但在少见的、最新的或数字很多的内容上,它可能自然而然地编出像样却错误的句子。这就是第7讲要讲的幻觉。
反过来,在转换文字格式、做摘要、把说明讲得更通俗、展开多种观点这类以“语言模式”为核心的事情上,它非常强。懂了原理,就能分清哪些事可以交给它、哪些需要核对。
| 特性 | 用得好时 | 需要注意 |
|---|---|---|
| 按概率挑选 | 能得到多个点子 | 同一个问题回答也会不同 |
| 追随“像样” | 句子自然,善于转换格式 | 错误的事实也会说得很自然 |
| 知识停在训练时间点 | 广为人知的知识很熟悉 | 可能不知道最新信息 |
| 只看上下文窗口内的文字 | 粘贴资料后,会以资料为依据回答 | 很长对话的前面部分可能较少被考虑 |
📌 要点总结
- 语言模型把文字切成词元,再把每个词元转换成一串数字(向量)来计算
- 回答是反复进行“计算下一个词元的概率 → 选出一个”直到结束而生成的
- 通过预训练掌握语言和知识,通过后续训练成为能听从指示的对话模型
- 模型的知识停在训练时间点,并且只根据上下文窗口内的文字作答
- 像样和事实可能不同——数字、最新信息、少见的事实要核对
🤖 可以这样问 AI
复制后把 [ ] 部分换成你的情况。不要直接相信回答,请与正文对照核实。
提出需要最新信息的问题时
回答下面的问题之前,请先告诉我:这些内容有没有可能在你的训练时间点之后发生了变化?对可能已经变化的部分,请一并告诉我应该去哪里核实最新信息。问题:[问题]
希望以一份较长的资料为依据得到回答时
请只以下面的资料为依据回答。资料里没有的内容不要猜测,请写“资料中没有”。在回答的每句话末尾,用括号注明作为依据的资料段落编号。 [粘贴资料] 问题:[问题]
- 自然语言处理入门教材中的一般性说明(分词、语言模型、上下文)
- 韩国高中《人工智能基础》课程内容(韩国教育部公布的课程标准)
达成全部学习目标后,请点击完成。
此浏览器无法保存记录,仅在当前页面显示。