【大模型】分词粒度

如何理解分词粒度?

分词粒度是一种要从哪种角度进行分词的;可以包括字符级(character level)、单词级(word level)、子词级(sub-word level)、(字节级(byte level));(很难说字节级应该被认为是一种技巧还是一种分词粒度)

例如对于一句话:This is the Hugging Face Course.,
字符级分词会按照单个字符进行分词,对于上面这段文本,可以分割为:

python 复制代码
['T', 'h', 'i', 's', 't', 'e', 'H', 'u', 'g', 'n', 'F', 'a', 'c', 'C', 'o', 'u', 'r', '.']

如果不区分大小写的话(bert-base-uncased是一个不区分大小写的分词器):会先将原文本全部变为小写:This is the Hugging Face Course.->this is the hugging face course.

python 复制代码
['t', 'h', 'i', 's', 'e', 'u', 'g', 'n', 'f', 'a', 'c', 'o', 'u', 'r', '.']

对于中文而言,以你好,这是一篇关于分词粒度的博客!为例,则会被分割为:

python 复制代码
['你', '好', '这', '是', '一', '篇', '关', '于', '分', '词', '粒', '度', '的', '博', '客']

单词级分词则会按照词进行分词,这种方法对于英文而言十分方便简单:

python 复制代码
['This', 'is', 'Hugging', 'Face', 'Course', '.']

如果按照句子中的空格进行分词,['This', 'is', 'Hugging', 'Face', 'Course.']

中文使用词汇级的分词器似乎并不是很多,似乎也不是很合适。
子词级分词按照词的子词进行分词,类似于利用词根词缀来进行分词。

python 复制代码
['This', 'is', 'the', 'Hu', '##gging', 'Face', 'Course', '.']

中文也有对应的子词级的分词,仍然是上述的文本:

python 复制代码
['你好', ',', '这', '是一', '篇', '关于', '分', '词', '粒', '度', '的', '博客', '!']

(中文分词来自于Qwen2.5

拿房子举个例子叭,尽管不一定贴切;有一个房子,我们可以将房子拆分为厨房、卧室、客厅、卫生间...,这是一种粒度;可以继续拆分为砖、水泥,玻璃...,这又是一种更细的粒度;砖、水泥、玻璃都可以被继续分解为沙子、泥等;这还是一种粒度,因此,房子到底是由什么组成的,取决于从哪种粒度上进行分析。
什么是字符? 字符可以理解文本数据中最小的组成部分。

字符可以是:

字母:AB

数字:01

标点符号:!?

特殊符号:@#

空格、换行等控制字符;

汉字:

等等

相关推荐
强哥之神12 小时前
Meta AI 推出 Multi - SpatialMLLM:借助多模态大语言模型实现多帧空间理解
人工智能·深度学习·计算机视觉·语言模型·自然语言处理·llama
刘阿宾13 小时前
【华为昇腾|CUDA】服务器A6000显卡部署LLM实战记录
服务器·华为·语言模型·gpu算力·kylin
行走的山峰14 小时前
npu-driver 23.0.3驱动安装
语言模型
九年义务漏网鲨鱼1 天前
【大模型学习 | MINIGPT-4原理】
人工智能·深度学习·学习·语言模型·多模态
kebijuelun1 天前
百度文心 4.5 大模型详解:ERNIE 4.5 Technical Report
人工智能·深度学习·百度·语言模型·自然语言处理·aigc
MUTA️1 天前
ELMo——Embeddings from Language Models原理速学
人工智能·语言模型·自然语言处理
jerwey1 天前
大语言模型(LLM)按架构分类
人工智能·语言模型·分类
FF-Studio2 天前
大语言模型(LLM)课程学习(Curriculum Learning)、数据课程(data curriculum)指南:从原理到实践
人工智能·python·深度学习·神经网络·机器学习·语言模型·自然语言处理
Liudef062 天前
FLUX.1-Kontext 高效训练 LoRA:释放大语言模型定制化潜能的完整指南
人工智能·语言模型·自然语言处理·ai作画·aigc
茫茫人海一粒沙2 天前
为什么大语言模型训练和推理中越来越多地使用 bfloat16?
人工智能·语言模型·自然语言处理