大模型 Token 究竟是啥:图解大模型Token

图片

向AI转型的程序员都关注公众号 机器学习AI算法工程

前几天,一个朋友问我:“大模型中的 Token 究竟是什么?”

这确实是一个很有代表性的问题。许多人听说过 Token 这个概念,但未必真正理解它的作用和意义。思考之后,我决定写篇文章,详细解释这个话题。

我说:像 DeepSeek 和 ChatGPT 这样的超大语言模型,都有一个“刀法精湛”的小弟——分词器(Tokenizer

大模型收到一段文字

会让分词器把它切成很多个小块

这切出来的每一个小块就叫做一个 Token

比如这段话(我喜欢唱、跳、Rap和篮球),在大模型里可能会被切成这个样子。

单个汉字,可能是一个 Token

两个汉字构成的词语,也可能是一个 Token

三个字构成的常见短语,也可能是一个 Token

一个标点符号,也可能是一个 Token

一个单词,或者是几个字母组成的一个词缀,也可能是一个 Token

大模型在输出文字的时候,也是一个 Token 一个 Token 的往外蹦,所以看起来可能有点像在打字一样。

朋友听完以后,好像更疑惑了:

于是,我决定换一个方式,给他通俗解释一下。

大模型的Token究竟是啥,以及为什么会是这样。

首先,请大家快速读一下这几个字:

是不是有点没有认出来,或者是需要愣两秒才可以认出来?

但是如果这些字出现在词语或者成语里,你瞬间就可以念出来。

那之所以会这样,是因为我们的大脑在日常生活中喜欢把这些有含义的词语或者短语,优先作为一个整体来对待。

不到万不得已,不会去一个字一个字的抠。

这就导致我们对这些词语还挺熟悉单看这些字(旯妁圳侈邯)的时候,反而会觉得有点陌生

而大脑🧠之所以要这么做,是因为这样可以节省脑力,咱们的大脑还是非常懂得偷懒的。

比如 “今天天气不错” 这句话,如果一个字一个字的去处理,一共需要有6个部分

但是如果划分成3个常见有意义的词

就只需要处理3个部分之间的关系,从而提高效率节省脑力

既然人脑可以这么做,那人工智能也可以这么做。

所以就有了分词器,专门帮大模型把大段的文字,拆解成大小合适的一个个 Token

不同的分词器,它的分词方法和结果不一样。

分得越合理,大模型就越轻松。这就好比餐厅里负责切菜的切配工,它的刀功越好,主厨做起菜来当然就越省事。

分词器究竟是怎么分的词呢?

其中一种方法大概是这样,分词器统计了大量文字以后,发现 “苹果” 这两个字,经常一起出现

就把它们打包成一个 Token,给它一个数字编号,比如 19416

然后丢到一个大的词汇表里。

这样下次再看到 “苹果” 这两个字的时候,就可以直接认出这个组合就可以了。

然后它可能又发现 “鸡” 这个字经常出现,并且可以搭配不同的其他字

于是它就把 “鸡” 这个字,打包成一个 Token,给它配一个数字编号,比如 76074

并且丢到词汇表里。

它又发现 “ing” 这三个字母经常一起出现

于是又把 “ing” 这三个字母打包成一个 Token,给它配一个数字编号,比如 288

并且收录到词汇表里。

它又发现 “逗号” 经常出现。

于是又把 “逗号” 也打包作为一个 Token,给它配一个数字编号,比如 14

收录到词汇表里。

经过大量统计收集,分词器就可以得到一个庞大的Token表

可能有5万个10万个,甚至更多Token,可以囊括我们日常见到的各种符号等等。

这样一来,大模型在输入输出的时候,都只需要面对一堆数字编号就可以了。

再由分词器按照Token表,转换成人类可以看懂文字符号

这样一分工,工作效率就非常高。

有这么一个网站 Tiktokenizer:https://tiktokenizer.vercel.app

输入一段话,它就可以告诉你,这段话是由几个Token构成的,分别是什么,以及这几个Token的编号分别是多少

我来演示一下,这个网站有很多模型可以选择,像 GPT-4oDeepSeekLLaMA 等等。

我选的是 DeepSeek,我输入 “哈哈”,显示是一个 Token,编号是 11433

“哈哈哈”,也是一个 Token,编号是 40886

4个 “哈”,还是一个 Token,编号是 59327

但是5个 “哈”,就变成了两个Token,编号分别是 1143340886

说明大家平常用两个 “哈” 或者三个的更多。

再来,“一心一意” 是三个 Token。

“鸡蛋” 是一个 Token。

但是 “鸭蛋” 是两个 Token。

“关羽” 是一个 Token。

“张飞” 是两个 Token。

“孙悟空” 是一个 Token。

“沙悟净” 是三个 Token。

另外,正如前面提到的,不同模型的分词器可能会有不同的切分结果。比如,“苹果” 中的 “” 字,在 DeepSeek 中被拆分成两个 Token。

但是在 Qwen 模型里却是一个 Token。

所以回过头来看,Token 到底是什么?

它就是构建大模型世界的一块块积木。

大模型之所以能理解和生成文本,就是通过计算这些 Token 之间的关系,来预测下一个最可能出现的 Token。

这就是为什么几乎所有大模型公司都按照 Token 数量计费,因为 Token 数量直接对应背后的计算成本。

Token” 这个词不仅用于人工智能领域,在其他领域也经常出现。其实,它们只是恰好都叫这个名字而已。

就像同样都是 “车模”汽车模型车展模特,虽然用词相同,但含义却截然不同

机器学习算法AI大数据技术

 搜索公众号添加: datanlp

图片

长按图片,识别二维码

阅读过本文的人还看了以下文章:

实时语义分割ENet算法,提取书本/票据边缘

整理开源的中文大语言模型,以规模较小、可私有化部署、训练成本较低的模型为主

《大语言模型》PDF下载

动手学深度学习-(李沐)PyTorch版本

YOLOv9电动车头盔佩戴检测,详细讲解模型训练

TensorFlow 2.0深度学习案例实战

基于40万表格数据集TableBank,用MaskRCNN做表格检测

《基于深度学习的自然语言处理》中/英PDF

Deep Learning 中文版初版-周志华团队

【全套视频课】最全的目标检测算法系列讲解,通俗易懂!

《美团机器学习实践》_美团算法团队.pdf

《深度学习入门:基于Python的理论与实现》高清中文PDF+源码

《深度学习:基于Keras的Python实践》PDF和代码

特征提取与图像处理(第二版).pdf

python就业班学习视频,从入门到实战项目

2019最新《PyTorch自然语言处理》英、中文版PDF+源码

《21个项目玩转深度学习:基于TensorFlow的实践详解》完整版PDF+附书代码

《深度学习之pytorch》pdf+附书源码

PyTorch深度学习快速实战入门《pytorch-handbook》

【下载】豆瓣评分8.1,《机器学习实战:基于Scikit-Learn和TensorFlow》

《Python数据分析与挖掘实战》PDF+完整源码

汽车行业完整知识图谱项目实战视频(全23课)

李沐大神开源《动手学深度学习》,加州伯克利深度学习(2019春)教材

笔记、代码清晰易懂!李航《统计学习方法》最新资源全套!

《神经网络与深度学习》最新2018版中英PDF+源码

将机器学习模型部署为REST API

FashionAI服装属性标签图像识别Top1-5方案分享

重要开源!CNN-RNN-CTC 实现手写汉字识别

yolo3 检测出图像中的不规则汉字

同样是机器学习算法工程师,你的面试为什么过不了?

前海征信大数据算法:风险概率预测

【Keras】完整实现‘交通标志’分类、‘票据’分类两个项目,让你掌握深度学习图像分类

VGG16迁移学习,实现医学图像识别分类工程项目

特征工程(一)

特征工程(二) :文本数据的展开、过滤和分块

特征工程(三):特征缩放,从词袋到 TF-IDF

特征工程(四): 类别特征

特征工程(五): PCA 降维

特征工程(六): 非线性特征提取和模型堆叠

特征工程(七):图像特征提取和深度学习

如何利用全新的决策树集成级联结构gcForest做特征工程并打分?

Machine Learning Yearning 中文翻译稿

蚂蚁金服2018秋招-算法工程师(共四面)通过

全球AI挑战-场景分类的比赛源码(多模型融合)

斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)

python+flask搭建CNN在线识别手写中文网站

中科院Kaggle全球文本匹配竞赛华人第1名团队-深度学习与特征工程

不断更新资源

深度学习、机器学习、数据分析、python

 搜索公众号添加: datayx  

图片

图片

### 图解 BERT 模型架构及工作原理 #### 架构 (Architecture) BERT 使用多层双向 Transformer 编码器构建而成。每一层都由自注意力机制(self-attention mechanism) 和前馈神经网络(feed-forward neural network)组成[^1]。 ```mermaid graph TD; A[BERT Input] -->|Token Embeddings, Segment Embeddings, Positional Embeddings| B[Transformer Encoder Layers]; B --> C[Output Layer]; style A fill:#f96,stroke:#333,stroke-width:4px; style B fill:#bbf,stroke:#f33,stroke-width:2px; style C fill:#bfb,stroke:#3a3,stroke-width:2px; ``` #### 输入 (Input) 对于给定的任务,输入被转换成 token 序列,并附加特殊标记(如 `[CLS]` 和 `[SEP]`)。这些 tokens 被映射到词嵌入向量(word embeddings),并加入位置编码(position encodings)和分段编码(segment embeddings)[^2]。 ```mermaid sequenceDiagram participant User as 用户请求 participant Tokenizer as 分词器 participant Model as BERT模型 User->>Tokenizer: 提供文本序列 Tokenizer-->>Model: 输出token IDs, segment IDs, position IDs ``` #### 训练 (Training) 在预训练阶段,BERT 主要完成两个任务:遮蔽语言建模(Masked Language Modeling, MLM) 和下一句预测(Next Sentence Prediction, NSP)。MLM 随机掩盖一些输入 tokens 并尝试恢复它们;NSP 则用于理解句子间关系。 ```mermaid flowchart TB subgraph Pre-training Tasks direction LR a1[Masked Language Modeling] b1[Next Sentence Prediction] end a1 --> |Loss Function| c(Loss) b1 --> |Loss Function| c ``` 上述图示展示了 BERT 的主要组成部分及其运作方式。通过这种设计,使得 BERT 成为了处理多种自然语言处理下游任务的强大工具[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值