LLM 编码的过程

本文详细介绍了LLM(大型语言模型)的编码过程,包括Tokenization、词汇创建、标记索引、嵌入层、位置编码、段编码(可选)和编码器输入等步骤,阐述了如何将文本转换为神经网络可理解的数字表示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

句子 》句子预处理 (把太长的句子截短,在句子中添加首尾标识符)》分词 》编码(词典 vocabulary)

tokenizer.encode 参与了 step 1、2、3
transformer 参与了 step 4、5、6、7

LLM 编码的过程

LLM(大型语言模型)编码是将输入文本转换为神经网络可以处理的数字表示的过程。下面是编码过程的步骤概述:

1. Tokenization
输入文本被分解成单个词或标记。这是使用标记器完成的,它将文本分解成子词(小单元词)或词块。例如,单词“unbreakable”可能被标记化为“un##break##able”。

2. 词汇创建
通过从训练数据集中收集所有唯一标记来创建词汇。这个词汇用于将每个标记映射到唯一的整数索引。

3. 标记索引
输入文本中的每个标记被替换为词汇中的对应整数索引。这创建了一个整数序列,其中每个整数代表一个标记。

4. 嵌入层
整数序列被输入到嵌入层中,该层将每个整数转换为高维空间中的密集向量(嵌入)。这些嵌入是在训练过程中学习的,并捕捉每个标记的语义含义。

5. 位置编码
为了保留标记的顺序,位置编码被添加到嵌入中。这涉及到将固定向量添加到每个嵌入中,其中向量是标记在序列中的位置的函数。

6. 段编码(可选)
如果输入文本由多个段(例如句子或段落)组成,段编码将被用于区分它们。这涉及到将段特定的向量添加到嵌入中。

7. 编码器输入
最终的编码输入是一个向量序列,其中每个向量代表输入文本中的一个标记。这个序列被输入到编码器中,通常是一个基于 transformer 的架构。

下面是一个简单的示例来说明编码过程:

输入文本:“The quick brown fox jumps over the lazy dog.”

标记化:[“The”, “quick”, “brown”, “fox”, “jumps”, “over”, “the”, “lazy”, “dog”]

词汇:{“The”: 0, “quick”: 1, “brown”: 2,…, “dog”: 8}

标记索引:[0, 1, 2, 3, 4, 5, 0, 6, 8]

嵌入层:将每个整数索引转换为密集向量(例如使用 Word2Vec 或 GloVe)。

位置编码:将固定向量添加到每个嵌入中,基于其在序列中的位置。

段编码(可选):如果输入文本由多个段组成,将段特定的向量添加到每个嵌入中。

编码器输入:一个向量序列,其中每个向量代表输入文本中的一个标记。

这个编码输入然后被输入到 LLM 的编码器中,该编码器处理向量序列以生成输入文本的上下文表示。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值