Node.js执行Vertex AI微调作业:权限错误及参数无效问题排查
Vertex AI Pipeline微调模型的权限与参数问题排查
一、权限问题处理
你使用的专用服务账号当前拥有Vertex AI Service Agent和Service Accounts User角色,但仍无法扮演默认Compute Engine服务账号,需补充以下配置:
- 给专用服务账号添加**
roles/iam.serviceAccountUser**角色,绑定目标为默认Compute Engine服务账号(${projectID}-compute@developer.gserviceaccount.com),允许其扮演该账号。 - 确保专用服务账号拥有GCS存储桶的访问权限:添加
roles/storage.objectAdmin(或更细粒度的storage.objects.get用于读取训练数据、storage.objects.create用于写入输出)。 - 再次确认默认Compute Engine服务账号已启用,且Compute Engine API处于激活状态。
二、无效参数问题排查
针对Error: 3 INVALID_ARGUMENT:错误,按以下步骤逐一排查:
1. 模型兼容性验证
请求中使用gemini-1.0-pro-002作为source_model,但该模型暂不支持通过Pipeline作业微调。需改回目标模型text-bison@001,只有PaLM系列部分模型支持这种微调方式。
2. 核心参数校验
- 训练数据集:确认
gs://${input}/${file}路径正确,JSONL文件格式为每行{"text": "训练内容"},且服务账号能读取该路径。 - 输出目录:检查
gs://${output}桶存在,服务账号有写入权限,路径格式无需末尾斜杠。 - 超参数取值:
epochs(1-10)、learning_rate_multiplier(0.1-10)当前取值合规,可尝试用默认值(如epochs=3)测试是否为参数取值导致的问题。
3. PipelineJob结构补全
提交的请求缺少必填的pipelineSpec字段,Vertex AI Pipeline需要指定官方微调流水线模板。需在pipelineJob中添加:
"pipelineSpec": { "uri": "gs://google-cloud-aiplatform/schema/matching_engine/pipeline/fine_tuning_text_model_20230801_1.0.0.json" }
4. 日志定位具体错误
登录GCP控制台,进入Vertex AI > 流水线,找到失败作业查看详细日志(如Worker日志),日志会明确标注无效参数的具体原因,比如路径不存在、格式错误等。
三、修正后的代码关键片段
确保pipelineJob包含完整的流水线定义:
const pipelineJob = { "displayName": modelDisplayName, "pipelineSpec": { "uri": "gs://google-cloud-aiplatform/schema/matching_engine/pipeline/fine_tuning_text_model_20230801_1.0.0.json" }, "runtimeConfig": runtimeConfig, };
内容的提问来源于stack exchange,提问作者Pierre Bressand
相关产品推荐
相关产品推荐

