在 transformers 中实现了大量的算法模型类,有 Bert 模型的 BertModel 类,有 BART 模型的 BartModel 类,有 GPT 模型的 GPT2Model 类等。

AutoTokenizer 会根据 model 的类型自动选择合适的分词器。需要注意的是,预训练模型与分词器是配套使用的。如果使用了 cardiffnlp/twitter-roberta-base-sentiment-latest 模型,就应该使用 cardiffnlp/twitter-roberta-base-sentiment-latest 分词器,否则效果会很差。

1
{'input_ids': [[0, 47876, 3602, 36714, 23133, 15389, 48418, 6800, 46499, 11582, 49429, 47089, 23171, 49117, 11423, 2], [0, 49429, 47089, 23171, 49117, 11423, 48827, 47983, 10278, 41907, 711, 15264, 47658, 6382, 2]], 'attention_mask': [[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]]}

本篇主要是介绍了 transformers 中的 pipeline、模型类、分词器、模型配置类等。pipeline 提供了便捷的方式,将分词器、模型处理、后处理器等组合在一起,方便用户使用。AutoModel 类会根据 model 的类型自动选择合适的模型类。AutoTokenizer 会根据 model 的类型自动选择合适的分词器。AutoConfig 会根据 model 的类型自动选择合适的模型配置类。