python - 如何将 AWS Sagemaker 与较新版本的 Huggingface Estimator 一起使用?

标签 python docker pytorch amazon-sagemaker huggingface

尝试在 sagemaker 上使用 Huggingface 估计器时,例如在 Amazon SageMaker 上运行训练

# create the Estimator
huggingface_estimator = HuggingFace(
        entry_point='train.py',
        source_dir='./scripts',
        instance_type='ml.p3.2xlarge',
        instance_count=1,
        role=role,
        transformers_version='4.17',
        pytorch_version='1.10',
        py_version='py38',
        hyperparameters = hyperparameters
)

当我尝试将版本增加到 transformers_version='4.24' 时,它抛出一个错误,支持的最大版本是 4.17。

如何将 AWS Sagemaker 与较新版本的 Huggingface Estimator 结合使用?

https://discuss.huggingface.co/t/deploying-open-ais-whisper-on-sagemaker/24761/9 上有关于使用较新版本进行推理的说明但看起来用它来训练 Huggingface 估计器的方法有点复杂 https://discuss.huggingface.co/t/huggingface-pytorch-versions-on-sagemaker/26315/5?u=alvations并且未确认复杂的步骤是否有效。

最佳答案

您可以使用 Pytorch 估算器,并在您的源目录中放置一个 requirements.txt,其中添加了 Transformers。这将确保两件事

  1. 与 huggingface 估计器中的 1.10.2 相比,您可以使用更高版本的 pytorch 1.12(当前)。
  2. 安装新版本的 HuggingFace Transformers 库。

为此,您需要像这样构建源目录

脚本 /火车.py /需求.txt

并将 source_dir 属性传递给 pytorch 估计器

pt_estimator = PyTorch(
entry_point="train.py",
source_dir="scripts",
role=sagemaker.get_execution_role(),

关于python - 如何将 AWS Sagemaker 与较新版本的 Huggingface Estimator 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74548143/

相关文章:

python - R: system() 不能使用 .bashrc 中定义的 bash 函数

python - 为什么python for-loop中的临时变量计算占用这么多内存?

docker - 使用 Jenkinsfile 让容器运行

python - 使用完整的 PyTorch 变压器模块

python - pytorch 中轴与数组不匹配错误

python - Django:ValueError:字段 account.UserProfile.user 引用的模型查找失败:auth.User

python - 如何获取字符串所有子串的每一个排列?

docker - 如何在 Amazon ECS 上找到服务地址 (URL) 和/或对 Mailtrain 实例进行故障排除?

docker - 如何使用 exec,rw 标志挂载 docker tmpfs?

python - Pytorch批量矩阵-矩阵外积