我是来问你们是否有可能使用现有的受过训练的拥抱式变形金刚模型。
我第一个天真的尝试是通过spacy.load('bert-base-uncased')加载它,它没有工作,因为spacy需要一个特定的结构,这是可以理解的。
现在,我试图弄清楚如何使用spacy-transformers库加载模型,创建spacy结构,并将其作为一个正常的空间感知模型使用。
我不知道这是否可能,因为我找不到关于这个问题的任何东西。我试着阅读了文档,但是我找到的所有指南、示例和帖子都是从spacy/en_core_web_sm这样的spacy结构化模型开始的,但是这个模型最初是如何创建的呢?我相信总有人要用斯佩奇训练每件事。
我能从你那里得到帮助吗?
谢谢。
发布于 2021-10-29 03:58:44
您要做的是向管道中添加一个转换器组件,并给出您的HuggingFace模型的名称作为参数。这是覆盖在文档中,尽管人们确实很难找到它。重要的是要了解变压器只是spaCy管道的一部分,您应该了解它们是如何结合在一起的。
要从文档中提取,您可以在配置中指定自定义模型:
[components.transformer.model]
@architectures = "spacy-transformers.TransformerModel.v3"
# XXX You can change the model name here
name = "bert-base-cased"
tokenizer_config = {"use_fast": true}回到为什么您需要理解spaCy的结构,非常重要的是要理解在spaCy中,变形金刚只是特性的来源。如果您的HuggingFace模型有一个NER头或什么,它将无法工作。因此,如果您使用自定义模型,您将需要在其之上培训其他组件,比如NER。
还请注意,spaCy有各种非变压器内置模型。这些训练非常快,在许多情况下将提供与变形金刚相当的性能;即使它们不那么精确,您也可以使用内置的模型来配置管道,然后在转换器中进行交换。
我发现的所有指南、示例和帖子都是从spacy/en_core_web_sm这样的spacy结构化模型开始的,但是该模型最初是如何创建的呢?
你看到快速启动了吗?预先训练的模型是使用类似于您从中得到的信任来创建的。
https://stackoverflow.com/questions/69738938
复制相似问题