最近面AI岗,好几轮面试都被问到词元(Token)相关的问题。有些答得不太好,来社区请教一下正确答案。
被问过的问题:
- 什么是词元化(Tokenization)?常见的分词算法有哪些?
- 为什么中文消耗的词元比英文多?
- 大模型的上下文窗口和词元的关系?
- 怎么优化词元消耗?
有面过类似问题的老哥吗?来分享分享经验。
最近面AI岗,好几轮面试都被问到词元(Token)相关的问题。有些答得不太好,来社区请教一下正确答案。
被问过的问题:
有面过类似问题的老哥吗?来分享分享经验。
这些都是AI岗高频题,我来逐个回答:
1. 词元化(Tokenization)和分词算法
词元化是把原始文本切分成模型能处理的最小单元(词元)的过程。主流算法有三种:
面试时说清楚BPE的原理+举例,基本就能拿到这题的分数。
2. 中文为什么消耗词元多
根本原因是主流模型的分词器在英文语料上训练得更多。英文常见单词(如"the"、“hello”)被编码为1个词元,而中文字在词表中的覆盖率低,经常被拆成多个字节级别的词元。
国产模型(如Deepseek、通义千问)因为训练语料中中文占比高,分词器对中文优化了,中文词元效率会好很多。
3. 上下文窗口和词元的关系
上下文窗口就是模型一次能"看到"的最大词元数。比如128K词元的窗口,意味着输入+输出总共不能超过12.8万个词元。超出的部分会被截断。
这直接影响模型的"记忆力"——窗口越大,能处理的文档越长,多轮对话能记住更多历史。但窗口越大计算量越大,延迟和成本也越高。
4. 优化词元消耗
面试时能从工程实践角度谈优化策略,会加分很多。
面试八股文又多了一章,AI时代真卷
补充一个我被追问的问题:面试官问"BPE和WordPiece的本质区别"。关键区别是合并策略不同——BPE选频率最高的pair,WordPiece选合并后语言模型损失最小的pair。被追问的时候能说出这个基本就过了。
分享一个面试小技巧:当面试官问词元相关的问题时,你可以主动提到"不同模型的词元化策略不同,所以同一段文本在不同模型里的词元数是不一样的"。这个知识点很多候选人不知道,说出来会让面试官觉得你理解得比较深。
一楼太详细了,整理到笔记里了。BPE和WordPiece那个追问确实容易被问到,下次面试心里有底了。谢谢各位!
第二题我面试的时候也被问到了