在 Azure 机器学习服务 Nvidia Compute 中导入 sentence_transformers 时出现分段错误
Segmentation fault error in importing sentence_transformers in Azure Machine Learning Service Nvidia Compute
我想在 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
requirements.txt 文件:
torch==1.4.0
sentence-transformers
是否有人对此错误有解决方案?
我通过将 pytorch 版本从 1.4.0 更改为 1.6.0 解决了这个问题。
所以 requirements.txt 看起来像这样:
torch==1.6.0
sentence-transformers
起初我尝试了一个与 pytorch 1.4.0 兼容的旧版本的句子转换器。但是旧版本不支持“xml-roberta-base”模型,所以我尝试升级pytorch版本。
我想在 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
requirements.txt 文件:
torch==1.4.0
sentence-transformers
是否有人对此错误有解决方案?
我通过将 pytorch 版本从 1.4.0 更改为 1.6.0 解决了这个问题。 所以 requirements.txt 看起来像这样:
torch==1.6.0
sentence-transformers
起初我尝试了一个与 pytorch 1.4.0 兼容的旧版本的句子转换器。但是旧版本不支持“xml-roberta-base”模型,所以我尝试升级pytorch版本。