在 AWS Bedrock 上微调模型 - 日志文件显示“访问被拒绝”

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

我整理了一个大约 50 行的 JSON 文件,格式为:

{"prompt": "What is the meaning of life?", "completion": "Forty-two"}

该文件位于 S3 存储桶中(使用默认的 SSE-S3 AWS 托管密钥)。

Bedrock 在读取和写入存储桶时需要一个角色来承担。我已经让向导创建了一个角色,但我也尝试创建一个测试角色来无限制地访问 S3。无论哪种情况,训练模型都会排队,12 分钟后就会失败。有一个名为

的日志文件 S3 存储桶中的

.write_access_check_file.temp 内容如下:

<Error>
<Code>AccessDenied</Code>
<Message>Access Denied</Message>
<RequestId>kbhjkhjksdhfjkdshf</RequestId>
<HostId>hohiowehfjiowhf</HostId>
</Error>

Bedrock 显然能够将此错误日志写入 S3 存储桶。 那么 S3 和 Bedrock 的 IAM 角色似乎没问题?

我尝试过 Titian lite 和 Titan Express,并且我确实可以访问这些模型。

amazon-web-services fine-tuning amazon-bedrock
1个回答
0
投票

我实际上自己解决了这个问题。解决了一个问题,暴露了另一个问题,我也通过一些挖掘解决了这个问题。对于某些人来说这是一个菜鸟错误,对于其他进入机器学习的人来说,这可能会有很大帮助。

我创建的角色所附加的策略允许访问特定的基础微调工作。我将政策更改为:

"ArnLike": {
                "aws:SourceArn": "arn:aws:bedrock:us-west-2:accountnumber:model-customization-job/*"
            }

通过在信任关系中使用 ArnLike 而不是 ArnEquals,您帐户中的每个基岩微调项目都将有权访问该 S3 存储桶。这是一个菜鸟错误,但如果您是 AWS 新手,这是一个很容易犯的错误。

现在我有一个新错误:

Invalid training input data configuration. Check the input data S3 
Uris(Uri should be a file, not a directory) and retry request.

所以我尝试了一些方法,但结果与错误所调用的完全不同。我将 input.json 重命名为 input.jsonl,工作开始了。

希望这可以帮助人们完成他们的第一次基岩微调。

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