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

大语言模型中的 Token:它们是什么,如何工作?

引言

如果你使用过 ChatGPT 这样的 AI 工具,你可能会好奇:它是如何理解并生成文字的?大语言模型(LLM,Large Language Model)并不是直接处理整个句子或文章,而是拆分成一个个 Token(标记)来进行计算。那么,什么是 Token?它们在大语言模型中起到什么作用?这篇文章将用通俗易懂的语言帮你解开这些谜团。


1. 什么是 Token?

在大语言模型的世界里,Token(标记)是文本的最小单位,就像字母是单词的组成部分,Token 是大模型理解文本的基本“积木”。

一般来说,Token 可以是:

  • 一个完整的单词(在英语等语言中,常见的单词可能被视为一个 Token,例如 “Hello”)。
  • 一个单词的一部分(在更复杂的单词拆分方法下,“unbelievable” 可能被拆分成 “un”, “believ”, “able”)。
  • 一个标点符号(例如 “.”, “,”, “!”)。
  • 一个空格(某些模型会把空格也视为 Token)。
  • 一个汉字(在中文等语言中,常见做法是将每个汉字作为一个 Token,例如 “你好” 被视为两个 Token)。

2. 为什么需要 Token?

计算机并不直接理解人类的语言,而是通过数字处理信息。大语言模型需要一种方法把句子转换成计算机能理解的格式,而 Token 化(Tokenization)就是这个过程的关键步骤。

举个例子
假设你输入了一句话:

“ChatGPT 是一个很强大的 AI”

模型不会直接处理整个句子,而是会先把它拆分成 Token。例如:

  • “ChatGPT”
  • “是”
  • “一个”
  • “很”
  • “强大”
  • “的”
  • “AI”

然后,这些 Token 会被转换成 数字 ID,比如:

["ChatGPT", "是", "一个", "很", "强大", "的", "AI"]  
→ [48231, 271, 593, 1198, 3421, 12, 31924]

这些数字 ID 就是模型实际操作的数据,它们会作为输入送入神经网络进行处理。


3. Token 在大模型中的作用

Token 的作用主要体现在以下几个方面:

3.1 作为输入单位

当你输入一段文本时,模型会先把它转换成 Token,然后再进行处理。例如:

“我喜欢编程”

可能会被拆分成:

["我", "喜欢", "编程"]

接着,模型会将这些 Token 转换成向量(数学表达),然后通过神经网络计算输出结果。

3.2 影响计算成本

大模型的计算量和 Token 的数量直接相关。一般来说,Token 越多,模型处理的时间越长,消耗的算力越大

比如:

  • “Hello”(1 个 Token)
  • “Unbelievable”(可能是 3 个 Token)
  • “今天天气很好”(4 个 Token,每个汉字单独算)

如果你使用 ChatGPT,你可能注意到 “每次对话有 Token 限制”,这是因为处理太多 Token 需要大量计算资源。

3.3 影响生成效果

当大模型生成文本时,它是逐个 Token 预测下一个 Token。例如:

“人工智能正在改” → “人工智能正在改变世界”

模型可能会预测多个可能的 Token,例如:

  • “变”(概率 80%)
  • “造”(概率 10%)
  • “善”(概率 5%)

然后,它会选择概率最高的 Token 继续生成。


4. Token 的具体实例

我们来看看不同的 Tokenization 方法,以及它们如何影响模型的理解。

4.1 英语 Token 化

英语单词有不同的形式,因此常用 子词(Subword) 拆分。例如:

  • “playing” → “play” + “ing”
  • “unbelievable” → “un” + “believ” + “able”

这样可以减少 Token 数量,提高模型的学习效率。

4.2 中文 Token 化

中文没有空格,直接按 切分是最常见的方法。例如:

“我爱学习人工智能” → [“我”, “爱”, “学习”, “人工”, “智能”]

但也可以用 词级别 切分:

[“我爱”, “学习”, “人工智能”]

不同的 Token 化方式会影响模型的理解效果。

4.3 特殊 Token

在大模型中,还会使用一些特殊 Token 来处理特定任务:

  • [CLS](分类 Token):用于分类任务,比如情感分析。
  • [SEP](分隔 Token):用于分割句子,比如问答任务。
  • [PAD](填充 Token):用于对齐文本长度,避免计算浪费。

5. Token 对大模型的逻辑影响

Token 的使用方式决定了大模型的逻辑处理方式:

  1. 输入 Token 被编码:输入的文本会被拆成 Token,并转换成向量。
  2. 模型计算 Token 之间的关系:通过 自注意力机制(Self-Attention),模型学习不同 Token 之间的联系。
  3. 逐步生成新 Token:对于生成任务(如写文章),模型会逐步预测下一个 Token,并不断扩展文本。

换句话说,Token 就像拼图块,模型的任务是找到它们之间的最佳组合方式,从而生成有逻辑的文本。


6. 结论

Token 是大语言模型理解和生成文本的基础单位。通过 Token:

  • 计算机可以把文本转换为数值数据,进行数学运算。
  • 大语言模型可以更高效地处理文本,提高计算效率。
  • 生成内容时,可以根据上下文逐步预测最佳 Token,确保语言的连贯性。

了解 Token 的概念,可以帮助你更好地理解大语言模型的工作原理。如果你对 AI 感兴趣,可以尝试使用 Tokenizer 工具,把不同的句子转换成 Token,看看它们是如何被拆分的!


7. 参考文献

  • “Attention Is All You Need” - Vaswani et al. (2017)
  • “BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding” - Devlin et al. (2018)
  • “GPT-3: Language Models are Few-Shot Learners” - OpenAI (2020)
  • “The Tokenization Process in Large Language Models” - AI Research Papers (2023)

相关文章:

大语言模型中的 Token:它们是什么,如何工作?

引言 如果你使用过 ChatGPT 这样的 AI 工具,你可能会好奇:它是如何理解并生成文字的?大语言模型(LLM,Large Language Model)并不是直接处理整个句子或文章,而是拆分成一个个 Token(…...

如何评估所选择的PHP后端框架的性能?

大家在选择PHP后端框架的时候,如果想评估其性能如何,能不能扛得住你的项目?可以根据以下几点进行分析,帮助大家选择到更符合自己心目中的PHP后端框架。 1. 基准测试 基准测试是评估框架性能的基础方法,主要通过模拟高…...

从UNIX到Linux:操作系统进化史与开源革命

从UNIX到Linux:操作系统进化史与开源革命 一、操作系统:数字世界的基石 1.1 什么是操作系统? 操作系统(OS)是计算机系统的核心管理者,承担着三大核心使命: 硬件指挥官:直接管理C…...

神经网络 - 激活函数(Sigmoid 型函数)

激活函数在神经元中非常重要的。为了增强网络的表示能力和学习能力,激活函数需要具备以下几点性质: (1) 连续并可导(允许少数点上不可导)的非线性函数。可导的激活函数可以直接利用数值优化的方法来学习网络参数. (2) 激活函数及其导函数要尽可能的简单&#xff0…...

【AD】3-10 原理图PDF导出

文件—智能PDF 多页原理图导出 导出设置时选择工程,可自行选择导出一页或多页原理图,一般PCB不用导出...

Linux上用C++和GCC开发程序实现两个不同MySQL实例下单个Schema稳定高效的数据迁移到其它MySQL实例

设计一个在Linux上运行的GCC C程序,同时连接三个不同的MySQL实例,其中两个实例中分别有两个Schema的表结构分别与第三实例中两个Schema个结构完全相同,同时复制两个实例中两个Schema里的所有表的数据到第三个实例中两个Schema里,使…...

C进阶 自定义类型

目录 前言 一 结构体 二 结构体的存储 三 位段 四 枚举 五 联合体 总结 前言 我们之前学习的int char double ......都是内置类型,但是我们今天所学习的是自定义类型,比如联合体,结构体,枚举 一 结构体 结构体是一…...

010 rocketmq批量消息

文章目录 批量消息BatchProducer.javaBatchConsumer.java 批量消息 批量发送可以提⾼发送性能,但有⼀定的限制: topic 相同 waitStoreMsgOK 相同 (⾸先我们建设消息的iswaitstoremsgoktrue(默认为true), 如果没有异常,我们将始终收到"O…...

【华三】从零开始掌握SR技术:原理、架构与应用全解析

【华三】从零开始掌握SR技术:原理、架构与应用全解析 一、初识SR:路由技术的新革命1.1 传统网络的困扰:从真实案例看技术瓶颈1.1.1 企业网络运维之痛问题2:流量工程实现困难问题3:网络智能化缺失 1.2 SR的诞生意义&…...

安全模块设计:token服务、校验注解(开启token校验、开启签名校验、允许处理API日志)、获取当前用户信息的辅助类

文章目录 引言pom.xmlI 校验注解ApiValidationII token服务TokenService获取当前用户信息的辅助类III 域登录接口响应数据登陆用户信息引言 pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/PO…...

考虑复杂遭遇场景下的COLREG,基于模型预测人工势场的船舶运动规划方法附Matlab代码

考虑复杂遭遇场景下的COLREG&#xff0c;基于模型预测人工势场的船舶运动规划方法附Matlab代码 一、引言 1.1、研究背景和意义 随着全球航运业的迅猛发展&#xff0c;船舶交通密度不断增大&#xff0c;海上交通事故频发&#xff0c;严重威胁到海上航行的安全。国际海上避碰规…...

构建高效系统:API接口设计规范详解

在当今的数字化时代&#xff0c;应用程序接口&#xff08;API&#xff0c;Application Programming Interface&#xff09;已成为连接不同软件系统和服务的桥梁&#xff0c;是推动数字化转型的关键技术之一。无论是企业内部系统集成、第三方服务接入&#xff0c;还是面向开发者…...

【文献阅读】A Survey Of Resource-Efficient LLM And Multimodal Foundation Models

发表时间&#xff1a;二〇二四年九月二十三日 摘要 大型基础模型&#xff0c;包括大语言模型&#xff08;LLMs&#xff09;、视觉Transformer&#xff08;ViTs&#xff09;、扩散模型以及基于大语言模型的多模态模型&#xff0c;正在革新整个机器学习的生命周期&#xff0c;…...

mysql 全方位安装教程

下载 MySQL 【官网下载地址】 注意要选择较大的哪个安装包&#xff0c;小的安装包是一个安装器。 我们不用登录&#xff0c;直接下载 直接运行下载好的安装包 MySQL如果是 安装包安装, 可以图形化界面自主配置 如果是压缩包解压, 可以配置 配置文件, 可以解压安装到指定的…...

【Linux】Linux的进程控制

目录 1. 学习思维导图 2.进程创建&#xff08;fork&#xff09; 2.1 fork创建进程失败 3.进程终止 3.1 进程退出情况 3.1.1main函数 3.1.2 退出码 3.2 exit/_exit函数 1. exit() 函数 2. _exit() 函数 4.进程等待 4.1 实现进程等待的方法 wait/waitpid方法 区别&a…...

金融支付行业技术侧重点

1. 合规问题 第三方支付系统的平稳运营&#xff0c;严格遵循《非银行支付机构监督管理条例》的各项条款是基础与前提&#xff0c;其中第十八条的规定堪称重中之重&#xff0c;是支付机构必须牢牢把握的关键准则。 第十八条明确指出&#xff0c;非银行支付机构需构建起必要且独…...

Django模型管理器/QuerySet 常见的方法

模型管理器/QuerySet 常见的方法 get([**kwargs]) 方法 用途&#xff1a;获取满足条件的唯一对象。参数&#xff1a;关键字参数&#xff0c;指定查询条件。返回值&#xff1a;模型对象。异常&#xff1a;如果找到多个对象或未找到对象&#xff0c;将分别抛出 MultipleObjects…...

QT播放视频保持视频宽高比消除黑边

QT播放视频保持视频宽高比消除黑边 1、问题 在播放视频的时候&#xff0c;由于框架的大小发生变化&#xff0c;导致视频出现黑边很不好看。 因此需要像一种方法消除黑边 2、处理 1、读取视频的宽高比 2、设置视频的Widget的大小固定&#xff0c;Widget的宽高比和视频宽高比…...

在Ubuntu中,某个文件的右下角有一把锁的标志是什么意思?

在Ubuntu中&#xff0c;某个文件的右下角有一把锁的标志是什么意思&#xff1f; 在 Ubuntu&#xff08;或其他基于 GNOME 文件管理器的 Linux 发行版&#xff09;中&#xff0c;文件或文件夹的右下角出现一把“锁”标志&#xff0c;通常表示 你当前的用户没有该文件/文件夹的写…...

聊聊Java的SPI机制

个人自建博客地址 什么是SPI呢&#xff1f; SPI全称Service Provider Interface&#xff0c;翻译过来就是服务提供者接口。调用方提供接口声明&#xff0c;服务提供方对接口进行实现&#xff0c;提供服务的一种机制&#xff0c;服务提供方往往是第三方或者是外部扩展。 下面…...

【 实战案例篇三】【某金融信息系统项目管理案例分析】

大家好,今天咱们来聊聊金融行业的信息系统项目管理。这个话题听起来可能有点专业,但别担心,我会尽量用大白话给大家讲清楚。金融行业的信息系统项目管理,说白了就是如何高效地管理那些复杂的IT项目,确保它们按时、按预算、按质量完成。咱们今天不仅会聊到一些理论,还会通…...

go并发编程

https://www.bilibili.com/video/BV16A4y1f7EX sync包工具 Mutex&#xff1a;同一时间只有一个goroutine持有锁&#xff0c;其它申请该锁的goroutine会被阻塞。RWMutex&#xff1a;允许多个协程同时读取共享数据&#xff0c;但写入时需要独占锁。WaitGroup&#xff1a;等待一组…...

使用Python开发以太坊智能合约:轻松入门与深度探索

使用Python开发以太坊智能合约&#xff1a;轻松入门与深度探索 随着区块链技术的快速发展&#xff0c;以太坊作为最为成熟和广泛使用的智能合约平台&#xff0c;成为了开发去中心化应用&#xff08;DApp&#xff09;的核心工具。智能合约不仅是区块链技术的基础&#xff0c;更…...

Python从0到100(八十九):Resnet、LSTM、Shufflenet、CNN四种网络分析及对比

前言&#xff1a; 零基础学Python&#xff1a;Python从0到100最新最全教程。 想做这件事情很久了&#xff0c;这次我更新了自己所写过的所有博客&#xff0c;汇集成了Python从0到100&#xff0c;共一百节课&#xff0c;帮助大家一个月时间里从零基础到学习Python基础语法、Pyth…...

密码学(哈希函数)

4.1 Hash函数与数据完整性 数据完整性&#xff1a; 检测传输消息&#xff08;加密或未加密&#xff09;的修改。 密码学Hash函数&#xff1a; 构建某些数据的简短“指纹”&#xff1b;如果数据被篡改&#xff0c;则该指纹&#xff08;以高概率&#xff09;不再有效。Hash函数…...

设计模式Python版 备忘录模式

文章目录 前言一、备忘录模式二、备忘录模式示例1三、备忘录模式示例2 前言 GOF设计模式分三大类&#xff1a; 创建型模式&#xff1a;关注对象的创建过程&#xff0c;包括单例模式、简单工厂模式、工厂方法模式、抽象工厂模式、原型模式和建造者模式。结构型模式&#xff1a…...

CES Asia 2025聚焦量子计算,多领域进展引关注

作为亚洲地区极具影响力的科技盛会&#xff0c;CES Asia 2025第七届亚洲消费电子技术贸易展&#xff08;赛逸展&#xff09;将在首都北京举办。本届展会以“创新、智能、互联”为主题&#xff0c;将全方位展示全球消费科技领域的最新成果与发展趋势。其中&#xff0c;量子计算作…...

MySQL索引深度剖析:从数据结构到实际应用

引言 在数据库系统中&#xff0c;索引是提高查询效率的关键技术之一。MySQL作为最流行的关系型数据库之一&#xff0c;其索引机制尤为重要。本文将剖析MySQL索引的数据结构、分类、创建方式以及实际应用场景&#xff0c;帮助读者更好地理解和应用索引技术。 主体部分 1. MyS…...

【deepseek】本地部署+RAG知识库挂载+对话测试

文章目录 前言一、Deepseek模型下载(以7B为例)二、RAG本地知识库挂载三、创建本地对话脚本四、结果展示 前言 本文主要涵盖Deepseek在ubuntu系统中的部署全流程&#xff0c;包括模型的下载、系统部署、本地文档向量化、向量列表存储、RAG知识库挂载、对话测试等内容 一、Deeps…...

Vue.js 组件开发全面详解及应用案例

Vue.js 的组件化开发是其核心特性之一&#xff0c;使得代码复用、维护和扩展变得更加容易。以下是关于 Vue.js 组件开发的全面解析&#xff0c;并附带一个实际应用案例。 一、组件基础概念 1. 什么是组件&#xff1f; 组件是 Vue 应用的基本构建块&#xff0c;封装了 HTML、C…...

java面试场景问题

还在补充&#xff0c;这几天工作忙&#xff0c;闲了会把答案附上去&#xff0c;也欢迎各位大佬评论区讨论 1.不用分布式锁如何防重复提交 方法 1&#xff1a;基于唯一请求 ID&#xff08;幂等 Token&#xff09; 思路&#xff1a;前端生成 一个唯一的 requestId&#xff08;…...

MySQL数据库基本概念

目录 什么是数据库 从软件角度出发 从网络角度出发 MySQL数据库的client端和sever端进程 mysql的client端进程连接sever端进程 mysql配置文件 MySql存储引擎 MySQL的sql语句的分类 数据库 库的操作 创建数据库 不同校验规则对查询的数据的影响 不区分大小写 区…...

【wiki知识库】07.用户管理后端SpringBoot部分

目录 一、今日目标 二、??SpringBoot部分类的添加 2.1 使用逆向工程新增User模块 2.2 UserQueryParam添加 2.3 UserSaveParam添加 2.4 UserResetPasswordParam添加 2.5 UserQueryVo添加 2.6 SnowFlake工具类 三、??后端新增接口? 3.1 /user/list接口添加 3.2 /…...

千峰React:案例二

完成对html文档还有css的引入&#xff0c;引入一下数据&#xff1a; import { func } from prop-types import ./购物车样式.css import axios from axios import { useImmer } from use-immer import { useEffect } from reactfunction Item() {return (<li classNameacti…...

Junit框架缺点

JUnit 是 Java 生态中最流行的单元测试框架&#xff0c;广泛应用于单元测试和集成测试中。尽管它功能强大且易于使用&#xff0c;但也存在一些缺陷和局限性。以下是 JUnit 的主要缺点&#xff1a; 1. 功能相对固定 问题&#xff1a;JUnit 的核心功能相对固定&#xff0c;缺乏灵…...

计算机毕业设计SpringBoot+Vue.js公司日常考勤系统(源码+文档+PPT+讲解)

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;Java领…...

Python线程池知多少

目录 目标 Python版本 官方文档 概述 线程池 实战 创建线程池的基本语法 批量提交任务 生产者&消费者模型 目标 掌握线程池的基本概念和使用方法。 Python版本 Python 3.9.18 官方文档 concurrent.futures — Launching parallel taskshttps://docs.python.org/3…...

MySQL数据库入门到大蛇尚硅谷宋红康老师笔记 高级篇 part 6

从6到12章将会是重中之重,请一定好好看 第06章_索引的数据结构 1.为什么使用索引 索引是存储引擎用于快速找到数据记录的一种数据结构&#xff0c;就好比一本教课书的目录部分&#xff0c;通过目录中找到对应文章的页码&#xff0c;便可快速定位到需要的文章。MySQL中也是一…...

C++动态与静态转换区别详解

文章目录 前言一、 类型检查的时机二、安全性三、适用场景四、代码示例对比总结 前言 在 C 中&#xff0c;dynamic_cast 和 static_cast 是两种不同的类型转换操作符&#xff0c;主要区别体现在类型检查的时机、安全性和适用场景上。以下是它们的核心区别&#xff1a; 一、 类…...

面向AI 的前端发展及初识大模型

AI带来的开发范式迁移 随着AI的涌现&#xff0c;对前端的发展也有着非常大的影响&#xff0c;总结过去前端的发展路径&#xff0c;目前应该属于又一次的大规模的开发范式迁移阶段。上一个阶段是从jquery到React/Vue/Angular迁移&#xff08;jquery之前的就不讨论了&#xff09…...

Java入门的基础学习

Java的基础语法知识 一 初始Java二 Java数据类型和变量1.字面常量2.数据类型基本数据类型引用数据类型 3.变量整型变量浮点型变量字符型变量布尔型变量 4.类型转化和提升类型转化类型提升 三 运算符1.算数运算符2.关系操作符3.逻辑运算符&#xff1a;&&&#xff0c;||&…...

万字详解 MySQL MGR 高可用集群搭建

文章目录 1、MGR 前置介绍 1.1、什么是 MGR1.2、MGR 优点1.3、MGR 缺点1.4、MGR 适用场景 2、MySQL MGR 搭建流程 2.1、环境准备2.2、搭建流程 2.2.1、配置系统环境2.2.2、安装 MySQL2.2.3、配置启动 MySQL2.2.4、修改密码、设置主从同步2.2.5、安装 MGR 插件 3、MySQL MGR 故…...

脚本无法获取响应主体(原因:CORS Missing Allow Credentials)

背景&#xff1a; 前端的端口号8080&#xff0c;后端8000。需在前端向后端传一个参数&#xff0c;让后端访问数据库去检测此参数是否出现过。涉及跨域请求&#xff0c;一直有这个bug是404文件找不到。 在修改过程当中不小心删除了一段代码&#xff0c;出现了这个bug&#xff0…...

GD32F450 使用

GB32F450使用 1. 相关知识2. 烧写程序3. SPI3.1 spi基础3.2 spi代码 4. 串口4.1 串口引脚4.2 串口通信代码 问题记录1. 修改晶振频率 注意&#xff1a;GD32F450 总共有三种封装形式&#xff0c;本文所述的相关代码和知识&#xff0c;均为 GD32F450IX 系列。 1. 相关知识 参数配…...

神经网络代码入门解析

神经网络代码入门解析 import torch import matplotlib.pyplot as pltimport randomdef create_data(w, b, data_num): # 数据生成x torch.normal(0, 1, (data_num, len(w)))y torch.matmul(x, w) b # 矩阵相乘再加bnoise torch.normal(0, 0.01, y.shape) # 为y添加噪声…...

Android 数据库查询对比(APN案例)

功能背景 APN 数据通常存储在数据库中&#xff0c;由TelephonyProvider提供。当用户进入APN设置界面时&#xff0c;Activity会启动&#xff0c;AOSP源码通过ContentResolver查询APN数据。关键分析点在于这个查询操作是否在主线程执行&#xff0c;因为主线程上的耗时操作会导致…...

神卓 S500 异地组网设备实现监控视频异地组网的详细步骤

一、设备与环境准备 硬件清单 主设备&#xff1a;神卓 S500 异地组网路由器 1子设备&#xff1a;神卓 S500 或兼容设备 N&#xff08;需通过官网认证&#xff09;监控设备&#xff1a;支持 RTSP/ONVIF 协议的 NVR、摄像头网络要求&#xff1a;各网点需稳定联网&#xff08;推荐…...

golang安装(1.23.6)

1&#xff0e;切换到安装目录 cd /usr/local 2&#xff0e;下载安装包 wget https://go.dev/dl/go1.23.6.linux-amd64.tar.gz 3&#xff0e;解压安装包 sudo tar -C /usr/local -xzf go1.23.6.linux-amd64.tar.gz 4&#xff0e;配置环境变量 vi /etc/profile export PATH$…...

leetcode35.搜索插入位置

题目&#xff1a; 给定一个排序数组和一个目标值&#xff0c;在数组中找到目标值&#xff0c;并返回其索引。如果目标值不存在于数组中&#xff0c;返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 示例 1: 输入: nums [1,3,5,6], target 5 输出…...

LeetCode第57题_插入区间

LeetCode 第57题&#xff1a;插入区间 题目描述 给你一个 无重叠的 &#xff0c;按照区间起始端点排序的区间列表。在列表中插入一个新的区间&#xff0c;你需要确保列表中的区间仍然有序且不重叠&#xff08;如果有必要的话&#xff0c;可以合并区间&#xff09;。 难度 中…...