Azure机器学习服务Nvidia Compute中导入sentence_transformers时出现分段错误

kknvjkwl  于 2023-03-03  发布在  其他
关注(0)|答案(2)|浏览(218)

我想使用AML中的sentence_transformers来运行XLM-Roberta模型进行句子嵌入。我有一个脚本,其中我导入sentence_transformers:

from sentence_transformers import SentenceTransformer

运行AML管道后,此脚本的运行失败,并出现以下错误:

AzureMLCompute job failed.
UserProcessKilledBySystemSignal: Job failed since the user script received system termination signal usually due to out-of-memory or segfault.
    Cause: segmentation fault
    TaskIndex: 
    NodeIp: #####
    NodeId: #####

我很确定是这个导入导致了这个错误,因为如果我注解掉这个导入,脚本的其余部分就会运行,这很奇怪,因为sentence_transformers的安装成功了。
这是我的计算的详细信息:

Virtual machine size
STANDARD_NV24 (24 Cores, 224 GB RAM, 1440 GB Disk)
Processing Unit
GPU - 4 x NVIDIA Tesla M60

代理池:

Azure Pipelines

药剂规格:

ubuntu-16.04

要求. txt文件:

torch==1.4.0
sentence-transformers

有人能解决这个错误吗?

jgovgodb

jgovgodb1#

我通过将pytorch版本从1.4.0更改为1.6.0修复了这个问题。因此requirements.txt看起来如下所示:

torch==1.6.0
sentence-transformers

一开始我尝试了一个旧版本的sentence-transformers,它兼容pytorch1.4.0,但是旧版本不支持“xml-roberta-base”模型,所以我尝试升级pytorch1.4.0版本。

dgsult0t

dgsult0t2#

我在Python 10环境中安装sentence-transformers 2.2.2时遇到了类似的问题。安装过程失败,并显示错误消息。经过一些故障排除,我找到了一个适合我的解决方案。我将Python安装从版本10降级到版本8。然后我就可以毫无问题地安装sentence-transformers 2.2.2了。看起来sentence-transformers和Python 10之间存在一些不兼容性。如果您遇到类似的问题,我建议试试这个解决方案,当然,如果你使用的是其他需要Python 10的软件包,那么降级Python安装可能并不理想。

相关问题