我正在尝试使用text2text(翻译)模型facebook/m2m100_418M在sagemaker上运行。
所以如果你点击部署然后选择sagemaker,会有一些模板代码运行得很好,但我似乎找不到如何传递参数src_lang="en", tgt_lang="fr"
,就像使用pipeline或transformers时那样。现在它会翻译成随机的语言。
我猜我应该在这里以某种方式添加这些参数,但这并没有在文档中说明。
predictor.predict({ 'inputs': "The answer to the universe is"})
有人知道如何向predict方法传递参数吗?
编辑
这是需要更改HF_TASK的错误代码:
import sagemakerrole = sagemaker.get_execution_role()# Hub模型配置。 https://huggingface.co/modelshub = { 'HF_MODEL_ID':'facebook/m2m100_418M', 'HF_TASK':'text2text-generation'}# 创建Hugging Face模型类huggingface_model = HuggingFaceModel( transformers_version='4.6.1', pytorch_version='1.7.1', py_version='py36', env=hub, role=role, )# 部署模型到SageMaker推理predictor = huggingface_model.deploy( initial_instance_count=1, # 实例数量 instance_type='ml.m5.xlarge' # ec2实例类型)
回答:
好的,我已经弄明白了。任务设置错误,源语言和目标语言需要包含在任务(HF_TASK)中
例如:'HF_TASK': 'translation_en_to_fr'