结合具体场景举例说明chatgpt预训练模型中Tokenization的原理

706cd7285567c9365b717618dc3526fe.jpeg

假设我们有一个场景,Alice想向Chatbot询问一部电影的推荐。她发送了一条消息:“你好,能给我推荐一部好看的电影吗?”

在这个场景中,Chatbot使用了ChatGPT预训练模型。首先,Chatbot需要对Alice的消息进行Tokenization,也就是将文本转换为标记(tokens)序列。以下是Tokenization的具体过程:

1. 分词:首先将文本拆分成更小的单元。在英文中,这通常是按照空格拆分;在中文中,可能需要使用分词工具将句子拆分成单个词。

   Alice的消息为:“你好,能给我推荐一部好看的电影吗?”

   分词后的结果为:["你好", ",", "能", "给", "我", "推荐", "一部", "好看", "的", "电影", "吗", "?"]

2. 子词切分:将分词后的结果进一步拆分成子词(subwords)或字符(characters)。

   在这个例子中,我们可以假设子词切分后的结果与分词结果相同。

3. 将子词转换为标识符:将子词映射到预训练模型的词汇表中的唯一标识符(如整数ID)。

   例如:["你好": 1234, ",": 56, "能": 789, "给": 1011, "我": 1213, "推荐": 1415, "一部": 1718, "好看": 1920, "的": 2122, "电影": 2324, "吗": 2526, "?": 2728]

4. 添加特殊标记:在序列的开始和结束位置添加特殊的标记,如[BOS](Beginning of Sentence)和[EOS](End of Sentence)。

   标记化后的序列为:[BOS, 1234, 56, 789, 1011, 1213, 1415, 1718, 1920, 2122, 2324, 2526, 2728, EOS]

现在,输入序列已经转换为一组整数ID,可以被ChatGPT模型理解和处理。模型将对这些标记进行处理,生成一个回应,并将回应的标记通过类似的逆向过程(Detokenization)转换回文本,以便Alice能够理解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值