ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

【零基础学AI】第 3 章——大语言模型为什么能回答问题

【零基础学AI】第 3 章——大语言模型为什么能回答问题 第 3 章 大语言模型为什么能回答问题文章目录第 3 章 大语言模型为什么能回答问题 关于《AI 零基础 36 讲》模型先把文字切成 Token上下文决定模型接着看什么一次计算只决定下一个位置选出的 Token 会回到输入里为什么逐个预测能写出长回答回答问题也是一种条件生成流畅不能证明内容正确同一个问题为什么会有不同回答自己走一遍生成循环参考资料在对话框里输入“天快下雨了出门记得带”模型很可能接出“伞”。继续让它写它还能补成一句完整提醒。换成“我要参加闭卷考试出门记得带”后面出现的内容就会变成准考证、证件或文具。模型看到的最后几个字相同上文不同接下来的选择便不同。它回答问题的入口就在这里。文字先被切成 Token模型结合当前上下文计算下一个 Token 的可能性选出一个以后放回上下文再算下一次。许多轮计算连在一起才变成我们看到的一段回答。读完本章你应该能解释 Token、上下文、下一个 Token 概率和逐步生成也能说明为什么同一个问题可能得到不同答案。学习本章不需要写代码先完成第 2 章即可。 关于《AI 零基础 36 讲》零基础也能开始学 AI《AI 零基础 36 讲》是一套面向初学者的 AI 入门教程。课程从认识和使用 AI 开始逐步学习Python、数据处理、机器学习与深度学习再进入大模型应用开发最后完成个人知识库助手的综合实践。本篇是正式讲解文章通过具体例子、原创图示和操作结果讲清概念。涉及编程的章节提供可运行代码方便你边读边试。读完以后动手检验建议按专栏顺序学习并完成对应的课后训练检查自己能否独立运用本章知识。博客专栏《AI 零基础 36 讲》模型先把文字切成 Token人看到一句话习惯按字和词来读。语言模型使用 Token 作为处理和预测的基本单位。Token 可能是一个词也可能是词的一部分、单个字符或标点。具体怎样切由模型使用的分词器和词表决定。同一句中文交给不同模型得到的 Token 数量可能不同。不能把一个汉字固定换算成一个 Token也不能把一个英文单词永远看成一个 Token。Hugging Face 的分词器文档把 tokenizer 描述为准备模型输入的组件。它会把字符串转换成 Token ID。模型处理的是这些数字编号生成结束以后程序再把 Token ID 解码回文字。下面是一段为了说明流程而写的模拟结果输入文字 天快下雨了出门记得带 模拟 Token [天快] [下雨] [了] [] [出门] [记得] [带] 模拟编号 [1842] [630] [91] [12] [728] [401] [266]真实分词器可能把它切得更细也可能组合出不同片段。这里要抓住的是转换过程。文字会变成一串模型词表中的编号后面的计算都沿着这串编号进行。上下文决定模型接着看什么语言模型估计某个 Token 或 Token 序列出现在当前序列中的概率。它做判断时会参考已经放进上下文的信息。“苹果已经熟了咬一口很甜”里的苹果是水果。“苹果发布了新的系统版本”里的苹果指向公司。目标词没有变前后的文字让模型得到不同线索。聊天产品还会把对话记录、系统要求和用户刚输入的内容整理成模型能够接收的序列。之前几轮对话若仍在上下文里模型可以利用它们保持称呼、任务和格式。产品没有把某段旧对话送进当前请求模型便不能直接利用那段内容。上下文窗口表示模型一次能够处理的 Token 数量。窗口有限用户输入、对话历史、系统要求、外部资料和模型准备生成的内容都要占空间。对话越来越长时产品可能截断旧内容或先做压缩。不同产品的处理办法不完全相同不能把界面上仍能看到的全部消息都当成模型这次确实读到了的内容。一次计算只决定下一个位置假设当前上下文是“天快下雨了出门记得带”。模型经过多层计算以后会为词表里的候选 Token 产生分数再把它们转换成概率分布。下面的数字仍是教学示例不代表任何实际模型。候选 Token示例概率伞64%外套14%水8%书3%其他候选合计11%“伞”在这个上下文里概率最高。生成程序可以直接选择最高概率候选也可以按概率抽样。Hugging Face 的生成文档把选择输出 Token 的过程称为解码并提供贪心选择、采样和束搜索等方法。温度会调整概率分布。较低温度通常让高概率候选更集中输出往往更稳定。较高温度会增加其他候选被选中的机会结果可能更多样也更容易偏离常见表达。温度没有替模型添加知识它只改变当前候选的选择方式。选出的 Token 会回到输入里程序选出“伞”以后会把它追加到已有序列。新的上下文变成“天快下雨了出门记得带伞”。模型再次计算下一个位置可能选择句号也可能继续补充原因。这条循环持续运行直到模型产生结束标记、达到长度限制或者应用程序触发其他停止条件。Hugging Face 的文本生成文档对这个过程给出了很直接的描述。模型根据初始提示和已经生成的输出预测下一个 Token随后继续生成直到结束标记或预设长度。用户看到的是完整段落程序内部经历了多轮选择。后面每一步都依赖前面已经选出的 Token。开头选了一个不合适的词后续内容仍可能沿着它继续写偏差也会越积越多。为什么逐个预测能写出长回答只看一次下一个 Token 预测这项任务显得很小。大语言模型在大量文本上反复学习参数逐渐记录语言中的搭配、结构和更复杂的关联。Google 的课程指出大量训练和更广的上下文让模型能够学习高阶模式并生成连贯文字。参数可以理解成训练后确定的一大组数值。输入 Token 经过模型计算这些参数会影响每个候选 Token 的分数。模型规模很大时参数数量也很大但数量大不等于每个参数都对应一条能读懂的知识。人不能打开某个参数直接看到一条完整答案。训练数据决定模型有机会学到哪些模式。数据里经常出现的语言结构、事实关联和任务示例会影响参数。数据缺少某个领域内容已经过时或者材料本身带有错误模型的回答也会受到影响。Transformer 的自注意力机制帮助模型在当前序列中衡量不同 Token 之间的关系。它让模型处理“苹果”时参考前面的“系统版本”处理代词时寻找相关对象。第 26 章会把 Query、Key、Value 拆开计算本章只需要知道上下文里的 Token 并非同等重要模型会根据当前位置组合相关信息。回答问题也是一种条件生成用户提出问题后问题文字、指令和已有对话共同构成上下文。经过指令训练的聊天模型学过大量“收到要求以后怎样回应”的例子于是能把下一个 Token 预测组织成回答、摘要、翻译或代码。提示词会改变模型接下来更愿意生成的内容。要求“给小学生解释”上下文会把候选推向短句和常用词。补上一份材料并要求“只根据材料回答”模型会参考材料中的 Token。这个限制能减少离题仍需要检查模型有没有误读或补写材料中不存在的内容。聊天产品还可能连接搜索、计算器、数据库和文件解析工具。模型可以请求工具程序执行后把结果放回上下文模型再继续生成。此时用户面对的是一个完整应用大语言模型负责其中的语言计算外部工具负责获取或计算额外信息。流畅不能证明内容正确下一个 Token 预测关心当前序列怎样继续更合适。它可以产生事实正确的回答也可能产生语法完整、细节具体却没有依据的内容。NIST 的生成式 AI 风险说明把这类现象称为 confabulation中文讨论中常叫幻觉。生成模型逼近训练数据的统计分布语言模型逐个预测后续 Token这种设计能够产生连贯输出也会产生事实错误或前后矛盾。一个不存在的书名只要符合书名习惯后续作者、出版社和内容简介都可能顺着生成出来。句子越顺读者越容易放松检查。第 4 章会专门练习事实核验、隐私和版权边界。此处先留下一个动作遇到具体数字、引语和现实决定回到原始来源核对。同一个问题为什么会有不同回答回答变化通常来自三处。上下文可能不同模型或参数版本可能不同解码时也可能进行了采样。即使用户输入的最后一句完全相同前面的系统要求和对话历史也会改变候选概率。使用同一个模型和同一段上下文只要生成程序允许随机采样两次运行也可能选到不同 Token。第一个分叉出现以后后续上下文随之变化整段回答便走向不同方向。需要稳定格式时可以写清限制、降低随机性并用程序检查输出。需要创意草稿时可以允许更多候选参与。两种任务对变化的容忍程度不同生成设置也应该跟着任务调整。自己走一遍生成循环本章的课后练习提供了模拟分词、上下文判断和下一个 Token 概率表。所有 Token 划分与概率都是教学材料没有冒充某个实际模型的内部输出。练习的关键动作很少。先读上下文再从候选中选一个 Token把它接回原句然后重新判断下一步。做过两轮以后你会看见一段回答怎样从多次局部选择中长出来也会看到第一步选错怎样影响后续文字。完成练习后可以用一句话解释模型回答问题的过程。程序把提示转换成 Token模型结合上下文计算下一个 Token生成程序选出一个并追加随后重复。能把这句话里的每个名词说清楚就可以进入第 4 章开始处理 AI 回答里的错误与使用边界。参考资料Google 语言模型与上下文入门Google 大语言模型与 Transformer 说明Google 生成式 AI 术语表Hugging Face 分词器文档Hugging Face 文本生成说明Hugging Face 生成方法文档Transformer 原始论文NIST 生成式 AI 风险说明
返回列表