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

AI入门学习--理解token

token(令牌) 是指对文本进行分割后得到的最小处理单位,是机器理解人类语言的基础。它的核心作用是将连续的文本转换为机器可处理的离散单元

1. token 是什么?

简单来说,token 是文本的 “基本组成块”。根据语言和分词方式的不同,token 可以是:

  • 英文中:通常是单词(如 “apple”)、词根(如 “un-”“happy”)或标点(如 “!”)。
  • 中文中:通常是单字(如 “我”“们”)或词语(如 “人工智能”)。
  • 特殊符号:如数字(“123”)、表情符号(“😊”)、网址片段等,也会被视为独立 token。

例如,对句子 “我爱人工智能!” 进行分词后,可能得到的 token 是:["我", "爱", "人工智能", "!"]

2. token 的核心作用

(1)将文本转换为机器可理解的形式

机器无法直接处理原始文本(字符串),必须将其转换为数字。token 是这一转换的 “中间桥梁”:

  • 第一步:将文本分割为 token(分词)。
  • 第二步:为每个 token 分配一个唯一的数字 ID(如 “我”→100,“爱”→203)。
  • 第三步:通过 ID 将文本转换为数字序列,供模型计算(如 “我爱”→[100, 203])。
(2)帮助模型捕捉语言规律

token 的划分方式直接影响模型对语言的理解:

  • 合理的分词(如将 “人工智能” 作为一个 token)能让模型更快学习到词语的整体含义。
  • 细分的 token(如将 “unhappy” 拆分为 “un-”“happy”)有助于模型捕捉词根、词缀等语言规律。
(3)控制模型输入长度

几乎所有 NLP 模型(如 BERT、GPT)对输入长度都有限制(通常以 token 数量为单位)。例如:

  • GPT-3.5 支持最多 4096 个 token。
  • BERT-base 支持最多 512 个 token。
    超过限制的文本需要截断或拆分,因此 token 是控制输入规模的关键指标。

3. 常见的 tokenization(分词)方式

不同模型采用的分词策略不同,常见的有:

  • 按空格 / 标点分割:最简单的方式(如英文默认按空格分词),但会将 “don't” 拆分为 “don”“'t”,不够合理。
  • 词表分词(Word-based):基于预定义词表分割,如将 “apple” 作为一个 token,但无法处理未登录词(如新词、拼写错误)。
  • 子词分词(Subword):主流模型(如 BERT、GPT)的选择,结合了词和字符的优势:
    • 将罕见词拆分为常见子词(如 “unhappiness”→“un”“happiness”)。
    • 既保证对常见词的完整表示,又能处理生僻词,平衡了词汇量和泛化能力。
  • 中文分词:由于中文无空格,需用专门工具(如 jieba、THULAC)按语义分割(如 “北京大学”→“北京”“大学” 而非单字)。

4. 为什么需要关注 token?

  • API 计费:许多 AI 服务(如 OpenAI API)按 token 数量收费,输入和输出的 token 都会被计算。
  • 模型性能不合理的 token 划分会导致模型理解偏差(如将 “武汉市” 拆分为 “武汉”“市” 可能影响地名识别)。
  • 长文本处理:超过模型 token 限制的文本需要特殊处理(如分段输入),否则会丢失信息。
http://www.dtcms.com/a/341652.html

相关文章:

  • Springboot 项目配置多数据源
  • TDengine IDMP 运维指南(5. 使用 Helm 部署)
  • C++ 数据结构 和 STL
  • Python如何将两个列表转化为一个字典
  • Spring Framework 常用注解详解(按所属包分类整理)
  • innovus auto_fix_short.tcl
  • MTK Linux DRM分析(三)- drm_drv.c分析
  • 【智能体记忆】记忆如何塑造我们:深入探究记忆的类型
  • yolov8检测实时视频流,裁剪出未戴头盔的头部方案
  • HarmonyOS相对布局 (RelativeContainer) 基本概念
  • ODPS 十五周年实录 | 为 AI 而生的数据平台
  • 大数据毕业设计选题推荐-基于Hadoop的电信客服数据处理与分析系统-Spark-HDFS-Pandas
  • 文本智能抽取:如何用NLP从海量文本中“炼“出真金?-告别无效阅读,让AI成为你的“信息炼金师
  • OceanBase DBA实战营2期--SQL 关键字限流学习笔记
  • ae复制合成后修改里面图层相互影响问题
  • uos(类linux)系统 打印机自定义打印尺寸
  • MySQL分库分表与MyCAT
  • open webui源码分析5-Tools
  • 基于单片机水质检测系统/污水监测系统/水情监测
  • ansible中roles角色是什么意思?
  • 详解flink table api基础(三)
  • 【网络】使用 DNAT 进行负载均衡时,若未配置配套的 SNAT,回包失败
  • 猫头虎开源AI分享|基于大模型和RAG的一款智能text2sql问答系统:SQLBot(SQL-RAG-QABot),可以帮你用自然语言查询数据库
  • Three.js 初级教程大全
  • 分享|财务大数据实验室建设方案
  • 机器学习(Machine Learning, ML)
  • Web网站的运行原理2
  • Ubuntu实现程序开机自动运行
  • AI每日需求进度分析总结(附实战操作)
  • 云原生环境下的ITSM新趋势:从传统运维到智能化服务管理