分享

LLM关键技术:分词器(Tokenizer)的科普文章

 dbn9981 2024-12-24

因为在构建基于大语言模型(LLM)的应用时,分词器决定了文本如何被解析和理解。分词器的类型可分为以下三种:

  • 词级分词器(Word):基于空格和标点符号拆分文本。
  • 字符级分词器(Character):将文本拆分为单个字符,包括标点。
  • 子词级分词器(Subword):将文本拆分为子词单元,常用于大多数LLM,如BPE(Byte-Pair Encoding)和WordPiece。

其中,BPE由 OpenAI(tiktoken)使用,它拥有更大的词汇表,处理表情符号和拼写错误时表现更佳。例如,"😞" 在tiktoken中可能被正确识别,而在WordPiece中会被标记为[UNK](Unknow)。

而WordPiece由Cohere和一些较小的Transformer使用,例如MiniLM-L6-v2拆分效果细腻,但词汇表较小,可能导致更多的子词分割。举个栗子:"Gucci" 会被拆成 ['gu', 'undefinedge'],难以理解用户的真实意图;而tiktoke 则尝试将'pckage'拆分为更有意义的部分,如['p', 'ck', 'age'],虽然不完美,但稍好一些。

  • 日期和货币格式:各种不同的日期和货币表示方式会增加模型理解的难度,如 "20th October 2024", "2024-20-10", "20 October 2024", "20/10/2024",在分词和嵌入时会导致不同的理解,因此统一化日期格式能帮助模型更准确地理解和处理这些信息。

基础了解完毕,要想分词器用的好,这些技巧少不了,如下所示:

  • 清洗输入文本:标准化日期格式,消除多余空格,统一货币表示等,提升模型表现。例如,将所有日期格式统一为 "2024-10-20",减少模型理解的难度。

  • 选择合适的分词器:根据具体应用需求选择最适合的分词器,了解其词汇表和处理方式。如果你的应用需要处理大量表情符号,选择像tiktoken这样的BPE分词器会更合适。

  • 评估与可视化:使用评估工具和可视化手段检查分词和嵌入效果,确保模型理解准确。通过绘制嵌入距离矩阵,观察不同分词器在处理相似和不同情感时的表现差异。

图片

参考文献:
[1] https:///2024/10/21/you-should-probably-pay-attention-to-tokenizers/

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    该文章已关闭评论功能
    类似文章 更多