AI 为啥能回答你的问题?大模型 5 步工作流程,看完秒懂!

作者:印刻君日期:2025/11/18

如今,大语言模型(LLM)已成为我们学习和工作中的常用工具。当你在对话框输入问题时,或许会好奇,这些模型为何能精准、迅速地生成回答?本文将用通俗易懂的语言,为你拆解背后的核心工作流程。

简单来说,大模型处理问题主要包含五个关键环节,分别是:

  1. 分词(Tokenization)
  2. 词嵌入(Word Embedding)
  3. 位置编码(Positional Encoding)
  4. 自注意力机制(Self-Attention)
  5. 自回归生成(Autoregressive Generation)

这些专业名词虽然看起来吓人,但只要理清它们各自要解决的核心问题,理解起来其实并不难。

我是印刻君,一位探索 AI 的程序员,关注我,了解更多有温度的轻知识,有深度的硬内容。

1. 分词(Tokenization):将语言转化为数字信号

计算机无法直接处理自然语言,仅能识别和处理数字。因此模型接收问题后,首要任务是分词 (Tokenization)——将文本拆解成一系列有意义的基本单元,也就是词元 (Token)。这是后续所有处理的基础。

举个例子,输入文本:"沙特王子喜欢买苹果股票,女人喜欢用苹果拍照,仓鼠喜欢吃苹果。三个苹果区别在哪里?"。

分词后会得到:["沙特", "王子", "喜欢", "买", "苹果", "股票", ",", "女人", "喜欢", "用", "苹果", "拍照", ",", "仓鼠", "喜欢", "吃", "苹果", ...]

完成分词后,每个词元会被映射到唯一的数字 ID。假设模型词典中 “沙特” 对应 1345、“王子” 对应 5369、“苹果” 对应 8568,那么部分词元序列会转化为数字串 [1345, 5369, ..., 8568, 9102, ...]

需要注意的是,此时模型仅获得文本的数字化形式,尚未理解语义。比如句中三个 “苹果” 的 ID 完全相同(均为 8568),模型无法区分其具体指向 —— 是苹果公司、苹果手机,还是作为水果的苹果。

2. 词嵌入(Word Embedding):为词元赋予意义

仅靠数字 ID 无法表达词元的含义,第二步 词嵌入(Word Embedding) 就是为每个词元生成包含语义信息的数学表示 ——词向量(Word Vector)

词向量本质是高维空间中的坐标点,由一串浮点数组成。例如简化版 “苹果” 词向量为:[0.12, -0.45, 0.67, 0.88, ..., -0.24](真实维度通常达数百甚至数千维)。你可将其理解为 “语义空间” 中的精准定位,核心特点是:语义越相近的词,空间坐标越靠近

为了更直观理解,我们可以参考简化的二维坐标系:

image.png

从简化图中能看到,“王子”“公主” 聚集在右上角,二者语义相近;“老鼠”“仓鼠” 则聚集在左下角,与 “王子” 的语义差异较大。

更有趣的是,这些向量支持有意义的数学运算,比如 王子 - 男人 + 女人 ≈ 公主。这意味着模型不仅能学习词义,还能捕捉词与词之间的逻辑关系(如性别、身份差异)。

对于 “苹果” 这类多义词,此阶段会生成融合多种含义(公司、设备、水果)的通用向量,其具体含义将在后续步骤中结合上下文进一步精准定义。

3. 位置编码(Positional Encoding):引入位置概念

词序直接决定句意,“仓鼠喜欢吃苹果” 与 “苹果喜欢吃仓鼠” 的含义天差地别。为让模型理解词元的排列顺序,第三步需引入位置编码(Positional Encoding) —— 为序列中每个位置生成独特的位置向量,再与对应词元的词向量整合(通常为相加)。

然后,这个位置向量会与对应位置的词向量进行整合(通常是相加)。举个简化的例子,假设:

简化示例:

  • 词向量(“苹果”)= [0.1, 0.2, 0.3, ...]
  • 位置向量(第 5 个位置)= [0.0, 0.5, 0.1, ...]
  • 整合后向量 = [0.1, 0.7, 0.4, ...]

整合后的向量同时包含语义信息(来自词嵌入)和位置信息(来自位置编码)。即便三个 “苹果” 词元相同,因所处位置不同,最终向量也会存在差异,为后续区分含义提供基础。

4. 自注意力机制(Self-Attention):构建深层语义联系

完成前三步后,模型已获得含语义和位置信息的词元向量,但还需理解词元间的关联,才能掌握句子深层含义。目前主流大语言模型(如 GPT 系列)均基于 Transformer 架构构建,其核心正是自注意力机制(Self-Attention Mechanism)。

在 Transformer 出现前,旧模型采用逐词顺序处理模式,存在明显缺陷:理解当前词元时,仅能依赖前文信息,无法提前获取后文内容。以三个 “苹果” 为例:

  • 读到第一个 “苹果” 时,仅能看到 “沙特王子喜欢买”,无法判断是公司、手机还是水果;
  • 读到第二个 “苹果” 时,虽看到 “女人喜欢用”,但未看到 “拍照” 前仍无法确定是电子设备;
  • 第三个 “苹果” 也需结合后文 “吃” 才能精准判断为水果。

这种 “单向语境” 不仅难以捕捉长距离语义关联,计算效率也较低。而 Transformer 抛弃循环结构,允许模型同时处理所有词元,核心就在于自注意力机制——每个词元会 “审视” 序列中所有其他词元,计算 “注意力分数”(衡量关联强度),并根据分数从其他词元中吸收有效信息,更新自身向量表示

简单来说,就是每个词元,都会关注上下文,结合上下文信息明确自身含义。

回到示例:

  • 第一个 “苹果” 会重点关联 “王子、买、股票”,向量被修正为 “公司 - 苹果”;
  • 第二个 “苹果” 会聚焦 “女人、用、拍照”,向量更新为 “设备 - 苹果”;
  • 第三个 “苹果” 会关联 “仓鼠、吃”,向量定义为 “水果 - 苹果”。

这一过程会在模型的多层 Transformer 模块中反复进行,不断精炼语义理解,最终形成对句子全面、深刻的认知。

5. 自回归生成(Autoregressive Generation):逐词构建连贯回答

在充分理解输入信息后,模型开始生成回答。它并非先构思完整提纲再落笔,而是采用 “边写边想” 的模式,从第一个词开始,逐个拼接出完整回答,这就是 “自回归生成”—— 简单说,就是 “写一个词,再根据这个词写下一个,循环直至回答完成”。

还是以 “三个苹果区别” 的问题为例,模型生成答案过程如下:

  1. 预测概率分布,确定开头第一个词:模型先明确问题核心是 “区分三个‘苹果’的含义”,随后在词汇库中计算所有词作为回答开头的 “可能性”,形成概率排行。
词元概率
三个40%
25%
第一个15%
不同8%
无关词...
  1. 采样与选择开头词(温度参数影响选择):模型从概率排行中选择第一个词,“温度(temperature)” 参数决定选择方式。低温模式(0.1,偏保守)会直接选概率最高的 “三个”;高温模式(1.5,偏灵活)可能选概率较低但更有画面感的 “这”。
  2. 循环生成(逐词接写,直到完成):选好第一个词后,它会被加入 “上下文”,模型基于 “已写词语 + 原始问题” 继续预测下一个词,循环往复。

以低温模式为例:

  • 输出:“三个”,预测下一个词排行:“苹果”(60%)>“场景”(10%)→选 “苹果”
  • 输出:“三个苹果”,预测下一个词:“的”(55%)>“分别”(20%)→选 “的”
  • 输出:“三个苹果的”,预测下一个词:“区别”(70%)>“含义”(15%)→选 “区别”
  • 输出:“三个苹果的区别”,预测下一个词:“在于”(45%)>“是”(25%)→选 “在于”
  • 输出:“三个苹果的区别在于”,预测下一个词:“指代”(30%)>“对应”(20%)→选 “指代”
  • 输出:“三个苹果的区别在于指代”,预测下一个词:“不同”(50%)→选 “不同”
  • 输出:“三个苹果的区别在于指代不同”,预测下一个词:“:”(35%)→选 “:”

如果生成中出现偏差,比如低温模式下第 7 步错把冒号预测为逗号,后续可能变成 “三个苹果的区别在于指代不同,第一个苹果指代苹果手机”(本该是 “苹果公司”).

模型会基于 “苹果手机” 继续写:“第一个苹果指代苹果手机,适合沙特王子购买股票…”,后续内容全跟着错,这就是模型 “幻觉” 现象的一种表现。

总结:大模型应答的核心流程

  1. 分词 (Tokenization):将输入文本分解为数字化的词元序列。
  2. 词嵌入 (Word Embedding):将每个词元ID映射到高维语义空间中的一个向量。
  3. 位置编码 (Positional Encoding):为词元向量注入序列位置信息。
  4. 自注意力机制 (Self-Attention):通过计算词元间的关联度,动态更新每个词元的向量表示,使其融入上下文信息。
  5. 自回归生成 (Autoregressive Generation):基于最终的理解,逐个词元地预测并构建出完整的回答。

整个过程虽涉及复杂的数学计算,但其核心目标是就是人类理解语言、思考并作出回应,希望我的文章,让你更清晰地看懂大模型的工作原理。

我是印刻君,一位探索 AI 的程序员,关注我,了解更多有温度的轻知识,有深度的硬内容。

exported_image.png


AI 为啥能回答你的问题?大模型 5 步工作流程,看完秒懂!》 是转载文章,点击查看原文


相关推荐


整数序列权重排序——基于深度优先搜索(DFS)以及记忆化搜索
w24167178402025/11/16

提示:本文适合对算法设计感兴趣的道友一起互相学习,如有疑问,欢迎评论区或者私信讨论。 文章目录 前言 一、题目介绍 二、前置知识扩展 1.深度优先遍历 1.1递归DFS 1.1非递归DFS 2.@cache装饰器 3.range()函数 4.sorted()函数 三、解题思路及代码解读


前端开发小技巧-【JavaScript】- 获取元素距离 document 顶部的距离
禁止摆烂_才浅2025/11/15

获取元素距离 document 顶部的距离 方案1:使用 offsetTop(最简单) const element = document.getElementById('myDiv') const distance = element.offsetTop console.log(distance) // 500(像素) 方案2:使用 getBoundingClientRect() + scrollY(最准确) const element = document.getElementById(


稳定边界层高度参数化方案的回归建模
mayubins2025/11/14

稳定边界层高度参数化方案的回归建模 为了发展一个适用于CAS-ESM气候系统模式的稳定边界层高度参数化方案,本研究基于湍流尺度分析理论,采用多元线性回归方法,对Zilitinkevich类型公式中的经验系数进行确定性拟合。该公式综合考虑了地表机械强迫、热力强迫以及自由大气静力稳定度的综合影响。 理论框架 我们所采用的参数化公式源于稳定层结下湍流动能的平衡关系,其函数形式如下: 1/h² = C1 * (f² / τ) + C2 * (N |f| / τ) + C3 * (|f β F₊| / τ


Python 的内置函数 isinstance
IMPYLH2025/11/13

Python 内建函数列表 > Python 的内置函数 isinstance Python 的内置函数 isinstance() 用于判断一个对象是否属于某个类或类型,或者是否属于由这些类型组成的元组中的一个。它是 Python 中类型检查的重要工具,相比于 type() 函数具有更灵活的类型检查能力。 其语法为: isinstance(object, classinfo) 其中: object 是要检查的对象classinfo 可以是一个类型对象,或者由类型对象组成的元组 is


[免费]基于Python的农产品可视化系统(Django+echarts)【论文+源码+SQL脚本】
java1234_小锋2025/11/11

大家好,我是java1234_小锋老师,看到一个不错的基于Python的农产品可视化系统(Django+echarts)【论文+源码+SQL脚本】,分享下哈。 项目视频演示 https://www.bilibili.com/video/BV1mYkoBLEju/ 项目介绍 本研究提出了一种基于Python的农产品可视化系统,结合Django框架和ECharts库,旨在为农产品数据的展示和分析提供便捷、高效的解决方案。系统通过Django框架构建后端服务,使用ECharts实现前端数提供数


用 PyQt 开发一个桌面计算器:从零到完整实战指南
Python私教2025/11/9

作者:张大鹏 时间:2025-11-05 标签:Python、PyQt5、GUI、桌面开发、实战教程 一、前言 在桌面应用开发中,计算器 是一个非常适合入门的练手项目。 它涉及到图形界面设计、事件绑定、信号槽机制、布局管理等核心概念。 今天我们将使用 PyQt5(同样适用于 PyQt6)一步步实现一个可用的计算器程序,从 UI 布局到功能逻辑完整讲解。 最终效果如下👇: 支持加减乘除和小数运算;按钮布局整齐;可通过按钮或键盘输入操作;界面美观,可打包为独立应用。 二、项目环境 项目依赖


React+Tailwind CSS+Shadcn UI
再希2025/11/7

推荐常用网址 yhttps://react.dev/learn/describing-the-ui 使用 Vite 安装 Tailwind CSS - Tailwind CSS Introduction - shadcn/ui 下面这个地址记录了前端常用的命令,以及学习教程等,推荐给各位 https://www.houdunren.com/doc/article/21/208 创建react项目首先需要准备好nodeJS环境,我这里使用的是vite脚手架 步骤如下: 使用 Vit


前端新手必看!困扰90%人的10个JavaScript问题,一次性帮你解决
良山有风来2025/11/4

是不是经常被JavaScript的各种“奇怪”行为搞到头大?明明照着教程写代码,结果运行起来却各种报错?别担心,这些问题几乎每个前端新手都会遇到。 今天我就把新手最容易踩坑的10个JavaScript问题整理出来,每个问题都会给出清晰的解释和实用的解决方案。看完这篇文章,你就能彻底理解这些“坑”背后的原理,写出更健壮的代码。 变量提升的陷阱 很多新手都会困惑,为什么变量在声明之前就能使用?这其实是JavaScript的变量提升机制在作怪。 console.log(myName); // 输出:u


低空经济网络安全体系
芯盾时代2025/10/31

为了促进低空经济的稳健发展,构建完善的网络安全体系势在必行。低空经济网络安全业务体系的重点在于将安全因素深度融入业务决策流程,确保在满足各类场景需求的同时,安全措施得以全面落实。产业合作体系则强调产学研用管多方的协同合作,以期通过集体努力完善相关政策、加强监管、推动技术创新和标准制定。同时,需要特别关注机载智能算法的相关安全。威胁定级与应急防护体系聚焦安全威胁的分类分级和应急处置,旨在构建低空经济网络安全的主动防御能力。供应链安全体系则着眼于生产制造全链条的安全管理,从而确保低空经济供应链的安全


【普中STM32F1xx开发攻略--标准库版】-- 第 9 章 STM32 固件库介绍
普中科技2025/10/29

(1)实验平台: 普中STM32F103朱雀开发板https://item.taobao.com/item.htm?id=620302685024普中STM32F103玄武开发板https://item.taobao.com/item.htm?id=603479028876(2)资料下载:普中科技-各型号产品资料下载链接         前面章节为大家简单介绍了如何使用寄存器点亮开发板上 LED, 这种开发方式显然是不适合大众, 对于 STM32 这样庞大的芯片, 内部寄存器实在太多,

首页编辑器站点地图

Copyright © 2025 聚合阅读

License: CC BY-SA 4.0