news 2026/6/22 12:52:51

大模型面试题57:是否了解LLM的分词器,LLM中的词表文件是如何生成的?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
大模型面试题57:是否了解LLM的分词器,LLM中的词表文件是如何生成的?

LLM就像一个只认识“自家字典”的外国翻译,分词器是“翻译助手”,负责把你说的话(自然语言)拆成“字典”里的一个个“小词条”(Token),再转换成数字让LLM看懂;而词表文件就是这本“字典”,存着所有LLM认识的“词条”和对应的数字编号。

一、 入门级:先搞懂「分词器」和「词表」的核心概念

1. 为什么LLM需要分词器?

你可能会问:“直接把每个字/单词当成一个单位不行吗?” 还真不行,核心问题有两个:

  • 问题1:词汇量无限(比如“元宇宙”“ChatGPT”这些新词,永远列不完),如果按“整词”存,字典会无限大,模型装不下;
  • 问题2:字符级拆分(比如把“hello”拆成h/e/l/l/o)会导致Token数量暴增,模型推理速度慢、训练成本高。

分词器的核心作用:用「子词(Subword)」平衡“词汇覆盖”和“Token数量”——既能处理新词(拆成已有子词),又能减少Token数量。

2. 分词器的3种核心拆分方式(小白一眼懂)

拆分方式例子(中文/英文)优点缺点
字符级“机器学习”→「机、器、学、习」;“unhappy”→「u、n、h、a、p、p、y」能处理所有新词,无未知词Token数量多,模型效率低
整词级“机器学习”→「机器学习」;“unhappy”→「unhappy」Token数量少新词/生僻词无法识别(直接标)
子词级(LLM主流)“机器学习”→「机器、学习」;“unhappy”→「un、happy」平衡前两者,新词可拆成子词需要训练词表,依赖语料质量

3. 词表文件到底是什么?

词表文件是分词器的“核心字典”,本质是Token和数字ID的映射表,比如LLaMA-2的词表片段:

<unk> 0 # 未知Token <s> 1 # 句子开头 </s> 2 # 句子结尾 , 3 # 逗号 . 4 # 句号 的 5 # 中文常用字 了 6 # 中文常用字 机器 7 # 子词 学习 8 # 子词

LLM只能理解数字,分词器做两件事:

  • 编码:文本 → 拆分成Token → 转换成ID(比如“机器学习”→7、8);
  • 解码:ID → 转回Token → 拼接成文本(比如7、8→“机器学习”)。

二、 进阶级:词表生成的核心——子词算法(大白话讲透)

词表文件不是“人工编的”,而是用子词算法从海量语料中自动生成的。主流算法有3种,其中BPE(字节对编码)是LLaMA、GPT等大模型的首选,我们重点讲BPE,其他两种简单对比。

1. 核心算法:BPE(Byte Pair Encoding)

BPE的核心逻辑:从最小的字符单元出发,不断合并语料中出现频率最高的字符对,直到达到目标词表大小

用一个极简例子,带你走一遍BPE生成词表的过程:

步骤1:准备初始语料(已清洗、分词)
["低温", "低压", "低温低压"]

先拆成最小单元(单个字),并统计每个字符的出现次数:

  • 低:4次(“低温”1次+“低压”1次+“低温低压”里的2次)
  • 温:2次
  • 压:2次
步骤2:迭代合并高频字符对

BPE的核心就是“找最常一起出现的两个字符,合并成新子词”,重复这个过程直到词表达标。

迭代次数找高频字符对合并成新子词词表内容(新增标红)更新后语料
1“低+温”(2次)低温低、温、压、低温[“低温”, “低 压”, “低温 低 压”]
2“低+压”(2次)低压低、温、压、低温、低压[“低温”, “低压”, “低温 低压”]
3“低温+低压”(1次)低温低压低、温、压、低温、低压、低温低压[“低温”, “低压”, “低温低压”]
步骤3:停止迭代

如果我们设定词表大小为6,此时词表已经满了,停止合并。最终词表就是上面的6个词条,这就是BPE生成词表的核心逻辑。

2. 其他主流子词算法(简单对比)

算法核心逻辑代表模型小白理解
BPE从下到上合并(字符→子词→整词)GPT、LLaMA、Baichuan简单粗暴,效率最高,适合大模型
WordPiece合并时计算“合并收益”(更严谨)BERT、ERNIE比BPE更精准,但速度稍慢
Unigram从上到下拆分(先假设大词表,再删低频Token)T5、ALBERT生成的词表更灵活,但训练成本高

三、 高阶:词表文件的完整生成流程(实操级)

实际工业界生成LLM词表,是一套标准化流程,不是只跑BPE就行。下面按步骤讲,还会给小白能上手的实操代码。

1. 完整流程(工业级)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/16 14:33:20

Spring新手必看:ApplicationContextException完全指南

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个面向Spring初学者的交互式学习模块。要求AI&#xff1a;1)用通俗语言解释ApplicationContextException 2)提供3个基础级错误示例 3)分步骤指导修复过程 4)包含试一试功能让…

作者头像 李华
网站建设 2026/6/19 16:29:35

Qwen3-VL-WEBUI降本部署案例:单卡4090D实现高效推理

Qwen3-VL-WEBUI降本部署案例&#xff1a;单卡4090D实现高效推理 1. 引言&#xff1a;为何选择Qwen3-VL-WEBUI进行低成本高效部署&#xff1f; 随着多模态大模型在视觉理解、图文生成、视频分析等场景的广泛应用&#xff0c;企业与开发者对高性能、低门槛、可落地的推理部署方…

作者头像 李华
网站建设 2026/6/18 2:51:58

AI如何帮你快速计算0805封装尺寸?

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个AI辅助工具&#xff0c;输入0805封装尺寸查询需求&#xff0c;自动返回详细尺寸参数&#xff08;如长2.0mm、宽1.25mm、高0.5mm等&#xff09;&#xff0c;支持单位切换&a…

作者头像 李华
网站建设 2026/6/16 14:33:14

别再瞎学!普通院校自学网络安全的最优路径(2026 最新)

目录 前言自学网安第一阶段&#xff1a;打牢基础 学习这些基础知识有什么用呢&#xff1f; 第二阶段&#xff1a;化整为零 学习建议 第三阶段&#xff1a;实战演练 实践技巧 第四阶段&#xff1a;找准定位 深入学习建议&#xff1a;学习要避开的弯路 最后&#xff1a;学习路线…

作者头像 李华
网站建设 2026/6/16 14:33:12

GitHub下载效率对比:传统vs现代加速方案

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个GitHub下载速度测试工具&#xff0c;功能包括&#xff1a;1. 支持多种加速方式测试&#xff08;直连、代理、镜像等&#xff09;&#xff1b;2. 自动生成对比图表&#xf…

作者头像 李华
网站建设 2026/6/16 14:33:10

APITABLE零基础入门:30分钟学会搭建第一个应用

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 设计一个面向初学者的APITABLE入门教程项目&#xff0c;包含&#xff1a;1. 基础界面导览视频&#xff08;嵌入在表格注释中&#xff09;2. 交互式学习表格&#xff08;带步骤指引…

作者头像 李华