[具身智能-315]:大语言模型(LLM)处理文本的全过程
大语言模型(LLM)处理文本的全过程,可以形象地理解为一个“先并行读懂输入,再逐个生成输出”的两阶段过程。
为了让你更清晰地理解,我们将以用户提问 “你好,请介绍一下大模型” 为例,完整走一遍这个流程。
📥 第一阶段:输入与预处理
当你输入一段文字(Prompt),模型并不能直接理解这些汉字。它需要先将文本转换成自己能处理的数字形式。
-
分词 (Tokenization)
模型会利用一个预定义的“词表”,将你的输入文本切割成更小的单元,这些单元被称为 Token。一个 Token 可以是一个字、一个词,甚至是一个词的一部分。- 举例:你的输入 “你好,请介绍一下大模型” 可能被切分为:
["你好", ",", "请", "介绍", "一下", "大", "模型"]。
- 举例:你的输入 “你好,请介绍一下大模型” 可能被切分为:
-
转换为ID (Token to ID)
分词后,模型会通过查表,将每个 Token 映射成一个唯一的整数编号,即 Token ID。- 举例:
"你好" → 177519,"," → 11,"大" → 1640。
此时,你的文本已经变成了一串纯数字序列:[177519, 11, 1640, ...]。
- 举例:
🧠 第二阶段:理解与编码 (Prefill)
这一阶段是模型“思考”和“理解”你问题的过程,在工程上被称为 预填充 (Prefill)。
-
向量化 (Embedding)
模型将上一步得到的 Token ID 序列,转换成高维的向量(一长串数字)。这个向量是词语的数学表示,语义相近的词(如“猫”和“狗”),其向量在数学空间中的距离也会很近。同时,模型还会加入位置编码,让它知道每个词在句子中的先后顺序。- 举例:ID
177519(对应“你好”)被转换成一个包含数千个数字的向量,如[0.02, -0.15, 0.88, ...]。
- 举例:ID
-
核心计算 (Transformer & Self-Attention)
这些向量被并行送入模型的核心——由数十甚至上百层 Transformer 模块堆叠而成的深度神经网络。在这里,自注意力机制 (Self-Attention) 开始工作。- 作用:它让模型能够分析输入文本中所有词之间的关系,理解上下文。例如,在处理“大模型”时,模型通过注意力机制可以知道“大”是用来修饰“模型”的,而不是一个独立的形容词。
- 结果:经过层层计算,模型完全理解了你的问题,并将所有关键信息压缩、缓存下来(这个过程称为 KV Cache),为下一步生成回答做好了准备。
✍️ 第三阶段:生成与输出 (Decode)
这是模型开始“回答”你的阶段,它是一个循环往复的自回归过程,即根据已有的内容预测下一个内容。
-
预测下一个Token (Next Token Prediction)
基于已经理解的全部上下文,模型会计算词表中所有可能的 Token 作为下一个词的概率。- 举例:模型可能计算出下一个词是“大”的概率是30%,是“我”的概率是25%等等。然后,它会根据一定的策略(如选择概率最高的)挑出一个 Token。
-
循环生成 (Autoregressive Generation)
模型将刚刚选出的新 Token 添加到已有的序列中,然后再次重复第一步的预测过程,计算再下一个 Token 的概率。- 举例:这个过程就像一个接龙游戏,模型不断地根据上文预测并生成下一个 Token,直到生成一个代表“结束”的特殊 Token,或者达到预设的长度限制。这就是为什么你会看到模型的回答是一个字一个字“吐”出来的。
-
解码与后处理 (Decoding & Post-processing)
在生成每个 Token ID 后,模型会通过查表(与第1阶段的查表相反),将数字 ID 转换回人类可读的文本 Token。- 举例:
56568 → "我"。
最后,这些 Token 被拼接起来,经过简单的格式优化,最终呈现给你。
- 举例:
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)