在 allennlp 中使用 Transformer QA 预训练模型进行阅读理解的通过限制

Posted

技术标签:

【中文标题】在 allennlp 中使用 Transformer QA 预训练模型进行阅读理解的通过限制【英文标题】:Passage limit for Reading comprehension by using Transformer QA pretrained model in allennlp 【发布时间】:2021-08-31 14:11:09 【问题描述】:

在 allennlp 中使用 transformer-qa 模型进行阅读理解的最大通过限制或硬件限制是多少:

Predictor.from_path('https://storage.googleapis.com/allennlp-public-models/transformer-qa-2020-10-03.tar.gz').predict(passage=passage, question =问题)

我收到“DefaultCPUAllocator:内存不足:您尝试分配 23437770752 字节。购买新 RAM!”错误

【问题讨论】:

【参考方案1】:

我不认为该错误消息来自 AllenNLP。得到它时你在跑什么?

这个数字代表 22GB,这对于 TransformerQA 模型来说太大了,除非您要发送一个非常大的序列。一般来说,TransformerQA 一次只能做 512 个令牌。如果您的文本有超过 512 个标记,它将把它分成多个长度为 512 的序列。它创建的这些 512 长度序列的数量的唯一限制是您的内存大小和您的耐心。

【讨论】:

以上是关于在 allennlp 中使用 Transformer QA 预训练模型进行阅读理解的通过限制的主要内容,如果未能解决你的问题,请参考以下文章

Allennlp coref 模型最新版本

将 AllenNLP 解释与 HuggingFace 模型一起使用

在 allennlp 中编写自定义指标

DETR(DEtection TRansforme)调试记录

DETR(DEtection TRansforme)调试记录

将 HuggingFace 模型加载到 AllenNLP 中会给出不同的预测