使用 DistilBERT 模型将 ID 添加到 AWS Batch Transform 作业中的文本输出

问题描述 投票:0回答:1

我有一个 JSON 格式的数据集,其中包含“id”和“text”列。目前,我在 AWS 中使用以下管道配置:

hub = {
    'HF_MODEL_ID':'distilbert-base-uncased',
    'HF_TASK':'feature-extraction'
}
# create Hugging Face Model Class
huggingface_model = HuggingFaceModel(
   env=hub,                                                # configuration for loading model from Hub
   role=role,                                              # IAM role with permissions to create an endpoint
   transformers_version="4.26",                             # Transformers version used
   pytorch_version="1.13",                                  # PyTorch version used
   py_version='py39',                                      # Python version used
)
# create Transformer to run our batch job
batch_job = huggingface_model.transformer(
    
    instance_count=1,
    instance_type='ml.m5.xlarge',
    output_path=output_s3_path, # we are using the same s3 path to save the output with the input
    strategy='SingleRecord')

我正在使用批量转换作业来生成输出,当前仅包含提取的文本。但是,我还想在输出文件中包含与每个文本关联的“id”。有没有办法实现这一点,如果是的话,我如何修改我的配置以在输出文件中包含“id”?任何指导或示例将不胜感激!

amazon-web-services huggingface-transformers amazon-sagemaker huggingface huggingface-hub
1个回答
0
投票

是的,您可以将批量转换作业中的输入与输出关联起来。参见:

https://docs.aws.amazon.com/sagemaker/latest/dg/batch-transform-data-processing.html#batch-transform-data-processing-workflow:~:text=%3A%20%22 %24%22%0A%20%20%20%20%7D%0A%7D-,示例%3A%20输出%20推理%20加入%20和%20输入%20数据,-如果%20you%27re%20使用

.transform()
方法中,您使用
input_filter
output_filter
分别关联输入和输出
key:value
对。

sm_transformer.transform(…, input_filter="$", join_source= "Input", output_filter="$")

© www.soinside.com 2019 - 2024. All rights reserved.