一、大模型原理:第一步分词Tokenization

大模型分词原理及BPE算法详解

现在的大模型不只处理文本,还能处理图片、音频、视频等多种模态。有趣的是,这些不同类型的数据最终都会转换成Token的形式。

比如图片,会经过视觉编码器处理,最终也变成一系列Token喂给模型。这就是为什么现在的多模态模型能够统一处理各种类型数据的原因——在Token这个层面,它们本质上都是数字序列。

这就为什么token是大模型的第一步,本文将会从原理介绍下分词。以及现在最普遍用的BPE的原理与优缺点

什么是分词(Tokenization)?

首先说说Token这个概念。很多人把Token简单理解为"词",但这样理解其实不够准确。Token更像是大模型处理文本的"最小语义单元"。

为什么需要Token呢?原因很简单——计算机只认识数字,不认识文字。当我们输入"你好世界"这样的文本时,模型需要把它转换成数字才能处理。这个转换过程就需要用到Tokenizer(分词器)。

Tokenizer的作用就是把人类的文本转换成模型能理解的数字ID序列。整个过程大概是这样的:

文本输入 → Tokenizer处理 → Token ID序列 → 模型处理

我们选择如何分解文本会显著影响模型理解语言的能力和计算效率。

因此下文将会展开各个分词方法的优缺点。

分词方法 说明 优点 缺点 示例
基于词的分词 (Word-based) 将文本分割成完整的词,按空格和标点符号分隔 • 保留完整语义
• 直观易懂
• 词汇表庞大(17万+)
• 无法处理未见词
• 词形变化困难
“Working on NLP” →
[“Working”, “on”, “NLP”]
基于字符的分词 (Character-based) 将文本分解为单个字符 • 词汇表极小
• 无未见词问题
• 丢失语义信息
• 序列过长
• 计算成本高
“Working” →
[“W”, “o”, “r”, “k”, “i”, “n”, “g”]
子词分词(BPE) (Byte Pair Encoding) 基于频率合并字符对,形成子词单元 • 平衡词表大小
• 处理未见词
• 保留语义
• 主流选择
• 中文等语言效率低 “tokenization” →
[“token”, “ization”]
“unusualification” →
[“un”, “usual”, “ification”]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

非常大模型

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值