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

LLM应用实战2-理解Tokens

文章目录

  • 基本定义
  • Tokenization 的作用
  • 主流 Tokenization 算法示例
  • 示例
    • GPT-4o&GPT-4o mini
    • GPT-3.5 & GPT-4

基本定义

Tokens 是大型语言模型(LLM)处理文本或代码的最小语义单元,可包含以下形式:

  • 字符(如英文字母 a 或中文字符 北)
  • 单词(如英文单词 apple 或中文词汇 北京)
  • 子单词(如将 unhappy 拆分为 un 和 happy)
  • 文本/代码片段(如 def find_max() 或 HTML 标签

    特定 Token 的表达形式和粒度由 分词算法(Tokenization)决定(例如 BPE、WordPiece、Unigram Language Model)。

Tokenization 的作用

  1. 语义分割:通过拆分文本为统一格式的 Token,解决模型直接处理字符或词的语言差异问题(如中文无空格分割)。
  • 示例:中文短语 北京欢迎你 可能被分割为单一 Token 北京欢迎你 或组合 Token 北京|欢迎|你。
  1. 数值化映射:
  • 每个 Token 会被分配唯一数值 ID(如 北京 → ID 70090),模型处理的实质是这些 ID 序列。
  • 类似 ASCII 编码,但覆盖更复杂的语义单元。
  1. 效率优化:
  • 平衡计算成本与语义保留,例如通过合并高频字符对降低处理复杂度。

主流 Tokenization 算法示例

在这里插入图片描述
以 BPE 为例:

  • 输入词表:low, lower, newest, widest
  • 高频字符对:e+s → es(合并) → 最终 Token 可能包括 low, es, t 等。

示例

来源于: https://platform.openai.com/tokenizer

GPT-4o&GPT-4o mini

在这里插入图片描述
可以看到: 总共6个字符,被划分成了4个Tokens

在这里插入图片描述
这分别是这4个Token的ID

在这里插入图片描述
可以看到: “欢迎”和“你!”的ID在同一个模型下是保持一致的。

在这里插入图片描述
这是英文的分词,相比中文来说,更加直观。

GPT-3.5 & GPT-4

在这里插入图片描述
在这里插入图片描述
可以看到,不同版本的LLM分词方式不同,这里出现了乱码,为什么会有乱码并且把一个中文词语转换成了多个Token?
因为大语言模型(LLMs)在处理文本时,若输入包含特殊 Unicode 字符(尤其是多字节字符或组合字符),可能导致

  1. 字节级拆分差异:
  • 某些 Unicode 字符在 UTF-8 编码中由多个字节表示,而 Tokenization 算法(如 BPE)可能按字节对生成子词,导致单个字符对应多个 Tokens
  • 示例:字符 ç(Unicode: U+00E7)在 UTF-8 编码为 0xC3 0xA7,可能被拆分为两个 Tokens。
  1. 分词算法的语言偏向性:
  • 主流 Tokenizers(如 GPT-4 的 BPE)基于英语语料优化,对中文、表情符号等处理可能不够精细,从而拆分不合理。
http://www.dtcms.com/a/121319.html

相关文章:

  • C语言malloc类函数详解
  • Linux C 与 C 语言的区别及开发差异
  • Spring MVC 请求类型注解详解
  • Java-多级排序结合thenComparing()
  • 四六级听力考试播音系统:构建播放控制智能化、发射系统双备份、发射功率有冗余、安全稳定可靠的英语四六级听力播音系统使用环境
  • vue-element-plus-admin的安装
  • pytorch小记(十六):PyTorch中的`nn.Identity()`详解:灵活模型设计的秘密武器
  • Linux内核——X86分页机制
  • I/O进程4
  • 动态规划系列一>卡特兰数-不同的二叉搜索树
  • C# 串口通信
  • 全新二手罗德SMCV100B信号发生器SMBV100A
  • 视频融合平台EasyCVR搭建智慧粮仓系统:为粮仓管理赋能新优势
  • 对象的创建方式有哪些?在虚拟机中具体的创建过程是怎样的?
  • Conda使用方法详解
  • SAM: 一切皆可分割
  • NO.82十六届蓝桥杯备战|动态规划-从记忆化搜索到动态规划|下楼梯|数字三角形(C++)
  • 【在团队中有效表达想法的方法】
  • WPF 组件的宽高绑定另一个组件的宽高的指定比值
  • 【RK3588 嵌入式图形编程】-SDL2-扫雷游戏-添加地雷到网格
  • 【11408学习记录】英语语法精析:主从复合句之定语从句完全指南——从规则到实战例句一网打尽
  • 网络安全应急响应之文件痕迹排查:从犯罪现场到数字狩猎的进化论
  • TCP 和 UDP 可以使用同一个端口吗?
  • Windows 图形显示驱动开发-WDDM 2.0功能_分配用法跟踪
  • 《TCP/IP网络编程》学习笔记 | Chapter 23:IOCP
  • 使用cline(VSCode插件)、continue(IDEA插件)、cherry-studio玩转MCP
  • 上门预约洗鞋店小程序都具备哪些功能?
  • 3DMax中模型解组
  • windows系统桌面快捷箭头去掉、恢复方式,支持win10、win11
  • zk源码—4.会话的实现原理二