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

Token(词元),5分钟彻底搞懂

如果你习惯看视频,就看《4. Token(词元),看会动画敲下代码,就彻底搞懂了》,喜欢看文章就接着往下看。

Token的优化过程如下

大模型单次调用的总消耗 Token 由两部分组成:总消耗 Token = 输入 Token + 输出 Token。其中,输入 Token 的构成更为细致,包括当前用户提问 Token、系统提示词 Token、历史对话上下文 Token,以及消息格式开销 Token。

需要注意的是,Token 的实际切分由各模型厂商自研的 Tokenizer(分词器)独立完成,因此相同文本在不同模型上会产生不同的 Token 数量与序列。以上提及的换算比例等数据,均为行业通用估算参考。

下面通过代码实战,带你彻底搞懂。首先打开命令行窗口,使用 pip 命令安装 transformers和PyTorch 开发库。

pip install transformers torch

安装完成后,我们便可以借助 transformers 库加载主流的分词器,直观地观察文本到 Token 的切分过程。以下是具体代码示例:

# 首先从 transformers 库中导入 AutoTokenizer 类,它能自动适配不同大模型的分词规则 from transformers import AutoTokenizer # 接着从预训练权重加载 Qwen2 模型的分词器 # 注意: "Qwen2_tokenizer"是下载到本地自命名的分词器 ,下载地址见文章最后链接 tokenizer = AutoTokenizer.from_pretrained("Qwen2_tokenizer") # 定义待处理的输入文本 text = "你好,我是cool。" # --------------------------------------------------------- # 第1步:分词 (Tokenization) # --------------------------------------------------------- # 使用 BPE算法将文本切分为“子词单元” # 规则是:常见词为1个Token,复杂词会拆开,标点也算Token。 bpe_codes = tokenizer.tokenize(text) # 先打印出来看一下结果 print(bpe_codes) # 为了让分词结果可读,需要做一下处理 decoded_result = [] for bpe_code in bpe_codes: # 先将子词转换为模型词汇表中的ID id = tokenizer.convert_tokens_to_ids(bpe_code) # 再将单个ID解码回文本并将结果存起来 decoded = tokenizer.decode([id]) decoded_result.append(decoded) # 输出最终的分词列表 print("分词结果:", decoded_result) # --------------------------------------------------------- # 第2步:向量化 (Numericalization) # --------------------------------------------------------- # 将字符串形式的 Token 列表转换为模型能处理的整数 ID 列表 # 这是大模型的“输入语言”(模型只认识数字,不认识文字) token_ids = tokenizer.convert_tokens_to_ids(bpe_codes) print("向量ID:", token_ids) # --------------------------------------------------------- # 第3步:统计 Token 数量 # --------------------------------------------------------- # 计算 Token 总数 count = len(token_ids) print("Token总数:", count) # 将 ID 列表完整解码回原始文本
http://www.cnnetsun.cn/news/3002761.html

相关文章:

  • SEO思维如何赋能地理智能:从搜索优化到空间决策
  • Java 开发者“优雅”转战 Python:FastAPI 是 Spring Boot 的平替吗?
  • 当漏洞来了,你知道系统里用了什么吗?——SBOM 的真正价值
  • 2026零基础录音转文字入门指南避坑教学包教包会看完可直接上手
  • 【八股学习】大模型预训练数据 || 数据污染 || MHA、MQA和GQA || RoPE || KV Cache
  • 早期停止聚合:用并行短任务加速统计推断与机器学习计算
  • 最近,架构的招聘市场已经疯掉了。。。
  • 重构数字标牌基础设施:LibreSignage的开源API驱动解决方案
  • 具身智能本地化运行:VLA模型端侧部署技术解析
  • Spark.NET:一个试图把 Django / Rails 式开发体验带回 .NET 世界的全栈 Web 框架
  • TVA在物流分拣领域的独特价值(8)
  • KPI测量不是算数,而是定义可验证的业务动作
  • SQL注入实战指南:从原理到Payload的攻防解析
  • 《HarmonyOS技术精讲-UI开发 (基于NDK构建UI)》第6篇:集成第三方C++图形库——以Skia为例
  • UVa 599 The Forrest for the Trees
  • 登报遗失声明收费标准是什么?登报遗失声明去哪办?流程+费用保姆级指南
  • 智人曾经这样灭绝猛犸象:AI入侵与行业灭绝
  • 如何用3分钟解锁15+加密音乐格式:浏览器中的音乐自由革命
  • 应届生为什么要先学技术再找工作?优选产品结构设计的就业优势
  • NewTab Redirect! 终极指南:5步轻松定制你的Chrome新标签页
  • 淘宝闪购 AI 应用研发二面,我笑了!!!
  • SkillNexus:开源 Skills 全生命周期创造平台
  • 3步快速掌握知网文献批量下载:学术研究效率提升的终极方案
  • 数值半群相对理想的联络理论:主联络与典范联络的构造与应用
  • 【数据分析】自动驾驶车辆控制的优化前馈补偿器的数据驱动方法matlab代码
  • 专业的厨房商用空调哪个公司强
  • 决策树实战指南:从可解释性到业务落地的完整工作流
  • 如何免费获取百度文库等30+平台文档:kill-doc终极指南
  • designmodel-中一维线体-梁单元绘制-和网格划分!!!
  • 放弃解决一类人的痛点,专注用AI解决一个又一个具体的问题,或许会有新的机会