当前位置: 首页 > news >正文

AI知识补全(一):tokens是什么?

名人说:苔花如米小,也学牡丹开。——袁枚《苔》
创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊)

目录

很高兴你打开了这篇博客,更多AI知识,请关注我、订阅专栏《AI大白话》,内容持续更新中…

当我们与ChatGPT 或 DeepSeek这样的AI对话时,它们并不是按照我们熟悉的单词或字符来处理文本的,而是使用一种称为"Tokens"的基本单位

本文将以生动直观的方式带您了解"tokens",揭示它们如何成为人类语言与人工智能之间沟通的桥梁。

一、什么是Tokens?

在大语言模型(LLM)的世界里,Tokens是文本处理的基本单位

简单来说,Tokens就像是模型眼中的"原子",是无法再被分割的最小文本单元。但与我们通常理解的单词不同,Tokens可能是完整的单词、单词的一部分、标点符号,甚至是单个字符。

在这里插入图片描述

对于中文和英文等不同语言,Tokens的划分方式存在显著差异:

  • 英文:通常会将单词拆分为更小的部分。例如,“tokenization"可能被拆分为"token”、“ization”
  • 中文:由于汉字本身就具有较强的独立语义,所以一个汉字常常就是一个Token

我们可以试着想象一下,当我们阅读一本书时,我们看到的是完整的句子和单词。但AI大模型看世界的方式不同,它们把文本拆分成一块块小积木——这些就是"Tokens"。

Tokens就像是语言的积木,模型通过组合这些积木来理解和生成文本。

在这里插入图片描述

二、为什么Tokens如此重要?

理解Tokens的概念对于使用大语言模型至关重要,主要有以下几个原因:

1.模型的输入输出限制

所有LLM都有上下文窗口大小限制,这个限制以Tokens为单位计算。例如:

  • GPT-3.5的限制是4,096个Tokens
  • GPT-4的限制是8,192个Tokens
  • Claude 3 Opus的限制是200,000个Tokens

在这里插入图片描述

当我们提交过长的文本时,超出部分会被截断,导致模型无法获取完整信息

2.计费标准

使用 商业API时,大多按Tokens计费。例如:

  • 每1,000个输入Tokens收费$X
  • 每1,000个输出Tokens收费$Y

🌟注:了解文本会转化为多少Tokens,有助于控制成本。

3.性能影响

Tokens数量直接影响处理速度和内存占用

  • Tokens越多,处理时间越长
  • Tokens越多,所需计算资源越多

三、Tokens是如何生成的?

Tokens的生成过程称为"分词"(Tokenization),这是模型预处理阶段的重要步骤

  1. 分词器(Tokenizer)选择:不同模型使用不同的分词器,如BPE(Byte Pair Encoding)、WordPiece、SentencePiece等

在这里插入图片描述

  1. 训练过程:分词器通过在大量文本上训练,学习频繁出现的字符组合
  2. 词表构建:建立有限大小的词表(Vocabulary),通常包含数万个Tokens
  3. 文本转换:将输入文本转换为词表中Tokens的序列

例如,整体的拆分流程大致如下

在这里插入图片描述

以BPE为例,它会先将文本分割为单个字符,然后迭代地合并最常见的字符对,直到达到预定的词表大小。

四、不同语言的分词差异

各种语言在分词过程中表现出显著差异:

语言特点Tokens消耗
英文空格自然分隔,常见词汇占单个Token相对较少
中文无空格分隔,每个汉字通常是一个Token相对较多
日文混合汉字与假名,分词复杂较多
阿拉伯文连笔书写,词形变化复杂较多

举例来说:

  • 英文句子"I love programming"可能只需要3个Tokens
  • 而中文翻译"我爱编程"则需要4个Tokens
  • 日文翻译可能需要8个Tokens

在这里插入图片描述

再比如 中英文汉堡包🍔的token分解对比:

在这里插入图片描述

五、实践中的Tokens计算

为了更直观地理解Tokens的计算,以下是一些例子:

英文短句: "Hello, world!" ≈ 3 tokens
中文短句: "你好,世界!" ≈ 5 tokens
英文段落: 一段200字的英文文本 ≈ 150 tokens
中文段落: 一段200字的中文文本 ≈ 400 tokens
文本估计Tokens数
“你好!”3个 (包括标点)
“Hello!”2个 (包括标点)
一条朋友圈消息(30字)约35个
一页A4纸中文(500字)约600个
一页A4纸英文(500词)约650个

六、Tokens优化策略

了解了Tokens的工作原理后,我们可以采取一些策略来优化使用:

  1. 精简输入:移除不必要的文本,如重复说明、冗长的问候语
  2. 结构化信息:使用表格、JSON等结构化格式可能比文本描述更节省Tokens
  3. 分批处理:将长文本分成多个小块分别处理
  4. 针对不同语言调整:中文等亚洲语言需要预留更多Tokens空间
  5. 利用嵌入:对于频繁使用的长文本,可以考虑使用嵌入(embeddings)技术

七、Tokens与日常使用的关系

当你在使用ChatGPT、DeepSeek等AI工具时:

  • 聊天过程中模型开始"忘记"前文:这很可能是因为超出了Tokens限制
  • 回答突然中断:可能是生成的内容接近Tokens上限
  • 响应速度变慢:处理的Tokens越多,耗时越长

小结:tokens,AI处理文本的基本单位

在这里插入图片描述


Tokens是理解和高效使用大型语言模型的关键概念。它们决定了模型能处理的文本量、响应速度和使用成本。通过深入理解Tokens的工作原理,开发者和用户可以更有效地构建提示,优化交互流程,并充分发挥大语言模型的潜力。

希望这篇文章能帮助你更好地理解大语言模型中的Tokens概念,为你的AI应用开发提供有价值的参考!如果有什么想了解的知识,欢迎评论说出你的想法!


创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊)


http://www.mrgr.cn/news/95637.html

相关文章:

  • go中的文件、目录的操作
  • 多阶段构建实现 Docker 加速与体积减小:含文件查看、上传及拷贝功能的 FastAPI 应用镜像构建
  • 【STM32】SPI通信外设硬件SPI读写W25Q64
  • Nginx请求头Hos头攻击
  • Ubuntu20.04安装并配置Pycharm2020.2.5
  • C++模板编程与元编程面试题及参考答案(精选100道题)
  • 车道保持中车道线识别
  • 圆弧插补相关算法汇总(C++和ST源代码)
  • 银河麒麟桌面版包管理器(四)
  • 银河麒麟桌面版包管理器(五)
  • 如何解决微服务调用链性能问题(优化 JVM 配置,降低 Full GC 频率)
  • 虚幻基础:UI
  • 论文阅读笔记:Denoising Diffusion Probabilistic Models (3)
  • 二叉树的学习
  • PowerShell 终端环境自动化配置
  • Ubuntu修改Swap交换空间大小
  • 长短期记忆网络:从理论到创新应用的深度剖析
  • java八股文之并发编程
  • springboot自定义工具
  • Pytest的Fixture使用