在 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 解释与 HuggingFace 模型一起使用
DETR(DEtection TRansforme)调试记录