news 2026/4/19 22:45:25

【AI面试临阵磨枪】什么是 Tokenization?子词分词(Subword)的优缺点?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【AI面试临阵磨枪】什么是 Tokenization?子词分词(Subword)的优缺点?

一、 面试题目

请详细解释什么是大模型中的Tokenization(分词)?目前主流的子词分词(Subword Tokenization)技术(如 BPE, WordPiece)解决了什么问题?它的优缺点分别是什么?

二、 知识储备

1. 核心背景:什么是 Tokenization?

Tokenization 是将自然语言文本转换为模型可处理的离散数字序列的过程。

  • 直观理解:模型不认识“苹果”或“Apple”,它只认识数字。Tokenization 就是把句子切成一块块(Tokens),并查表映射为索引(Index)。
  • 切分粒度:从粗到细分为:词(Word)、子词(Subword)、字符(Character)。

2. 子词分词(Subword Tokenization)详解

目前主流模型(如 GPT、BERT)均采用子词分词(如 BPE 算法)。它通过将高频词保留为完整词、将低频词拆分为多个常用片段来平衡性能。

子词分词解决的核心痛点:
  • 词表爆炸:如果按词(Word)分词,词表会大到显存塞不下(英语有百万级词汇)。
  • OOV(Out of Vocabulary)问题:如果按词分词,模型遇到没见过的生僻词(如新造词)就直接“抓瞎”报错。
  • 语义损失:如果按字符(Character)分词,粒度太细,模型很难学习到字母组合背后的完整语义。

3. 子词分词的优缺点对比

维度

优点

缺点

词表大小

适中。通常在 3w-10w 之间,兼顾性能与效率。

需要在分词速度与复杂度之间做权衡。

处理新词

极强。遇到生僻词会拆解成熟悉的子词(如unhappy->un+happy)。

某些拆分可能导致原始词根语义被切割(如undesirable拆得太碎)。

信息密度

高效。高频词占一个 Token,低频词占多个,压缩率高。

对非英语不友好。同样的句子,中文可能比英文消耗更多 Token(分词粒度差异)。

字符还原

无损。可以通过子词序列 100% 还原原始字符串。

数字、公式或生僻字符容易被拆分成极其零碎的 Token。

三、 代码实现

1. Python 实现:模拟 BPE 子词切分逻辑

在 Python 中,我们常用tiktokentransformers库来观察子词切分。

import tiktoken # 1. 加载 GPT-4 的分词器 enc = tiktoken.get_encoding("cl100k_base") # 2. 观察子词切分:生僻词会被拆解 text = "Tokenization is amazing!" tokens = enc.encode(text) # 3. 打印结果:你会发现 Token ID 和切分后的片段 print(f"Token IDs: {tokens}") # 解码查看具体的子词切分 print(f"Subwords: {[enc.decode([t]) for t in tokens]}")

2. Node.js 实现:统计 Token 消耗(Web 业务常用)

在 Node.js 业务中,我们通常需要通过分词来计算成本(Token 计费)。

const { encoding_for_model } = require("tiktoken"); function countTokens(text, model = "gpt-4") { const enc = encoding_for_model(model); const tokens = enc.encode(text); // 释放内存 enc.free(); return tokens.length; } // 示例:中文的分词密度通常比英文大 console.log(countTokens("你好,AI时代!"));

四、 破局之道

在回答完流程后,通过这段话展现你对底层语言建模的思考:

回答 Tokenization 问题,核心要理解它是在“寻找语言表达的最优信息熵”

你可以告诉面试官:

  1. 词分词(Word)输在了灵活性,解决不了新词问题;
  2. 字符分词(Char)输在了效率,序列太长导致模型“计算疲劳”;
  3. 子词分词(Subword)则是通过统计学手段,在词表规模语义完整性之间找到了工程上的平衡点。

在实际落地中,我非常关注Token 效率。比如在中英混合场景下,我会关注分词器对中文的压缩比,因为这直接决定了上下文窗口的使用率和 Token 成本。一个优秀的开发者不应只把 Token 看作数字,而应理解它是模型与现实世界沟通的“翻译官”,分词算法的优劣直接决定了模型理解语义的颗粒度和推理的性价比。

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

Seata 1.4.2 在 Windows 上配置 Nacos 注册中心的保姆级避坑指南

Seata 1.4.2 与 Nacos 深度集成:Windows 环境配置全解析与实战避坑 分布式事务框架 Seata 在微服务架构中扮演着重要角色,而 Nacos 作为服务发现和配置中心,两者的无缝集成能显著提升系统可靠性。本文将聚焦 Seata 1.4.2 版本在 Windows 环境…

作者头像 李华
网站建设 2026/4/19 22:41:53

崩坏星穹铁道三月七助手:解放双手的终极游戏效率伙伴

崩坏星穹铁道三月七助手:解放双手的终极游戏效率伙伴 【免费下载链接】March7thAssistant 崩坏:星穹铁道全自动 三月七小助手 项目地址: https://gitcode.com/gh_mirrors/ma/March7thAssistant 你是否厌倦了每天重复刷材料、清体力的枯燥操作&…

作者头像 李华
网站建设 2026/4/19 22:40:06

【PolarCTF】x64

先检查下,发现是64位的程序IDA分析程序这里很明显read函数存在溢出然后可以看到后面函数Shell同时也可以找到/bin/sh字符串这里我们可以通过IDA查找攻击思路如下:填充垃圾数据pop_rdi_ret将/bin/sh传递到rdi中执行Shell函数获得shellgdb调试程序将cyclic…

作者头像 李华
网站建设 2026/4/19 22:38:52

台积电法说会:AI需求强劲异常,供不应求态势将延续至至少2027年

2026年Q1绩后,台积电召开法说会。台积电首席执行官魏哲家宣称“AI需求极为强劲”,并指出全球正置身于“AI大趋势”之中。财报显示,台积电今年第一季度营收(以美元计)环比增长6.4%,达359亿美元,略…

作者头像 李华
网站建设 2026/4/19 22:34:47

在setting菜单里显示的有些字符 不正常,

比如时间 显示的不是正常字体,location 下面显示的字体也是不正常的。在setting菜单里显示的有些字符 不正常,比如时间 显示的不是正常字体,location 下面显示的字体也是不正常的。设置菜单(Settings)中出现字符显示异…

作者头像 李华