跳转至

三:Tokenizer自测题

来源:http://mp.weixin.qq.com/s?__biz=MzYyNTk3Njg1NA==&mid=2247483759&idx=1&sn=6f482f37d9e5211af988ad2a9ee84fe0&chksm=f01eb216c7693b00152294b12bb28d3daf18bfaacdc079db1df01cefd8116b8552b18eef0a24#rd

覆盖范围

  • tokenizer 在 LLM 流程中的位置

  • token、vocabulary、token id、embedding table 的关系

  • 字符级、词级、子词级 tokenizer 的优缺点

  • BPE、byte-level BPE、WordPiece、Unigram、SentencePiece

  • normalization、pre-tokenization、special tokens、chat template

  • OOV、UNK、中文、多语言、代码、数字、URL

  • tokenization 对上下文长度、成本和模型效果的影响

  • padding、truncation、attention mask、offset mapping

  • tokenizer 与模型 embedding 的兼容性

  • 常见工程 bug 和面试追问

一、Tokenizer 基础

  • 请用 1 分钟解释 tokenizer 在大语言模型中的作用。

  • LLM 为什么不能直接处理原始字符串?为什么需要 token id?

  • token、vocabulary、token id、embedding table 之间是什么关系?

  • tokenizer 的 encode 和 decode 分别做什么?

  • 为什么同一句话在不同模型中可能被切成不同 token?

  • tokenizer 是否是模型训练后可以随意替换的组件?为什么?

  • 词表大小 V 会影响模型哪些参数和计算?

  • 为什么上下文窗口通常按 token 计数,而不是按字符或词计数?

二、粒度选择:字符、词、子词

  • 字符级 tokenizer 的优点和缺点是什么?

  • 词级 tokenizer 的优点和缺点是什么?

  • 子词级 tokenizer 为什么是现代 LLM 的主流选择?

  • 子词 tokenizer 如何缓解 OOV 问题?

  • “可编码”是否等于“模型一定理解得好”?请解释。

  • 子词粒度过细和过粗分别有什么问题?

  • tokenizer 的 token efficiency 是什么?为什么重要?

三、Tokenizer Pipeline

  • 一个典型 tokenizer pipeline 包含哪些阶段?

  • normalization 的作用是什么?请举例说明。

  • normalization 可能带来哪些信息损失?

  • pre-tokenization 的作用是什么?它和真正的 subword segmentation 有什么区别?

  • 为什么很多 GPT 类 tokenizer 会把词前空格作为 token 的一部分?

  • tokenizer 训练阶段和使用阶段有什么区别?

  • tokenizer 训练语料的语言和领域分布会如何影响词表?

四、BPE 与 Byte-level BPE

  • BPE 的训练流程是什么?

  • BPE 中的 merge rule 是什么?编码新文本时是否会重新统计 pair 频率?

  • 请用一个简单例子说明 BPE 如何从字符逐步合并成子词。

  • BPE 为什么能在有限词表下处理未见词?

  • byte-level BPE 和普通字符级 BPE 有什么区别?

  • byte-level BPE 为什么几乎可以避免 <unk>

  • byte-level tokenizer 对中文、emoji 或罕见字符可能有什么代价?

  • GPT 类模型中常见的 byte-level BPE 对空格和英文词有什么特殊影响?

五、WordPiece、Unigram 与 SentencePiece

  • WordPiece 的核心思想是什么?它和 BPE 的直觉区别是什么?

  • WordPiece 中 ## 前缀通常表示什么?

  • Unigram tokenizer 的核心思想是什么?

  • Unigram 和 BPE 在训练方向上有什么不同?

  • SentencePiece 的重要特点是什么?为什么它对中文、日文等无空格语言友好?

  • SentencePiece 中 符号通常表示什么?

  • 请对比 BPE、WordPiece、Unigram 三者的核心差异。

六、Special Tokens 与 Chat Template

  • special tokens 是什么?请列举常见 special tokens 及其作用。

  • BOS、EOS、PAD、UNK 分别是什么?

  • BERT 中 [CLS][SEP][MASK] 分别有什么作用?

  • decoder-only chat model 中 role tokens 或 turn separators 为什么重要?

  • chat template 和 tokenizer 有什么关系?

  • 如果 chat template 用错,模型可能出现哪些问题?

  • 为什么 EOS token 对生成停止很重要?

  • decode 时 skip_special_tokens=True 可能解决什么问题?又可能隐藏什么问题?

七、中文、多语言、代码与结构化文本

  • 中文 tokenizer 为什么不能简单照搬英文按空格分词的思路?

  • 同样长度的中文、英文、代码在不同 tokenizer 下 token 数为什么可能差异很大?

  • 多语言 tokenizer 的词表分配会带来哪些公平性或效率问题?

  • 代码 tokenizer 需要特别关注哪些字符或结构?

  • 数字、日期、URL、JSON 被切得很碎会带来哪些影响?

  • emoji、罕见符号、乱码为什么会考验 tokenizer 的鲁棒性?

八、训练、微调与标签对齐

  • 为什么微调时必须使用与基座模型匹配的 tokenizer?

  • 新增 special token 或领域 token 后,模型侧需要做什么?

  • 什么是 resize token embeddings?什么时候需要?

  • token-level 任务中,subword 切分会如何影响标签对齐?

  • offset mapping 是什么?它在 NER、QA、信息抽取中有什么用?

  • 对一个词被切成多个 subword 的情况,标签可以有哪些处理策略?

  • SFT 中 prompt token、answer token、padding token 是否都应该参与 loss?这和 tokenizer 有什么关系?

九、Padding、Truncation 与 Attention Mask

  • padding、truncation、attention mask 分别是什么?

  • padding token 如果参与 attention 或 loss,会带来什么问题?

  • left padding 和 right padding 在 decoder-only 推理中有什么差异和风险?

  • 截断策略设计不当会导致什么问题?

  • tokenizer 输出的 input_idsattention_masklabels 通常各自表示什么?

十、工程排错与面试追问

  • 如果模型输出中出现大量 <s></s>、`` 这类符号,可能是什么原因?

  • 如果同一段中文在某模型中 token 数异常多,可能是什么原因?

  • 如果微调后模型完全不会说话或输出乱码,tokenizer 相关原因有哪些?

  • 如果新增 token 后训练报 embedding shape mismatch,应该如何排查?

  • tokenizer 会如何影响 API 成本和推理延迟?

  • 你会如何评估一个 tokenizer 对某个领域是否合适?

  • 请总结 subword-based tokenizer 的核心价值、主要算法和工程注意事项。

            预览时标签不可点
    

    <div class="