当前位置:   article > 正文

从词到数:Tokenizer与Embedding串讲_embedding和tokenizer的去呗

embedding和tokenizer的去呗

分词嵌入一直是LM被忽略的一部分。随着各大框架如HF的不断完善,大家对tokenization和embedding的重视程度越来越低,到现在初学者大概只能停留在调用tokenizer.encode这样的程度了。

这在实践中是很危险的,比如你要调用ChatGPT的接口,但是经常发现输出被截断了,原因可能就是你输入的句子太长了。你计算句子长度是直接用空格分词,而ChatGPT是用不同的分词法(BPE分词法)。又如你不清楚T5的tokenizer的运作机理,输入数据中存在一些特殊token如'{}',但不知道T5使用的SentencePiece tokenizer不原生支持这些token,因此发现自己生成的结果有问题,都是<unk>。这些问题听上去比较低级,但是debug起来往往是最秃头的。为了解决这些疑惑,本文会提供一份详细的关于分词和嵌入的答卷。

Tokenizer

如果大家用过huggingface,对tokenizer肯定不会陌生。在使用模型前,都需要将sequence过一遍tokenizer,进去的是word序列(句子),出来的是number序列。但是,HF的tokenizer到底在做什么?事实上,tokenizer总体上做三件事情:

  1. 分词。tokenizer将字符串分为一些sub-word token string
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/363565
推荐阅读
相关标签
  

闽ICP备14008679号