spaCy 模型 sm、md、lg 之间的区别

Difference between spaCy models sm, md, lg

我可以看到,在 the English spaCy models 中,中型模型的性能优于小型模型,而大型模型的性能优于中型模型 - 但仅次于中型模型。但是,在模型的描述中,写到它们都在 OntoNotes 上进行过训练。例外情况是 md 和 lg 的向量,它们已经在 CommonCrawl 上进行了训练。因此,如果所有模型都在同一数据集 (OntoNotes) 上进行训练,并且唯一的区别是向量,那么为什么不需要向量的任务会有性能差异?我很想了解更多关于每个模型及其训练设置等的信息,但似乎这些信息并不容易获得。

So if all models were trained on the same dataset (OntoNotes), and the only difference is the vectors, why then is there a performance difference for the tasks that don't require vectors?

我认为您正在寻找的缺失部分是:如果模型是用向量初始化的,那么这些向量将在训练期间用作特征。根据向量的不同,这可以显着提高您训练的统计模型组件的准确性。

但是,向量可能非常大,因此您通常希望在模型大小和准确性之间找到最佳权衡。如果在训练期间使用了向量,则相同的向量也需要在运行时可用,并且您不能轻易将它们换掉——否则,模型的性能会更差。 sm 模型未使用向量训练,允许您加载自己的向量以进行相似性比较,而不会影响预训练统计组件的预测。

TL;DR: spaCy 的 smmdlg 核心模型都是在相同条件下对相同数据进行训练的.唯一的区别是包含的向量用作特征,因此会影响模型的准确性。