
vertex ai 目前不支持对已部署模型进行增量训练或直接追加数据更新;必须基于包含新旧数据的完整数据集,从头创建新数据集、训练新模型并重新部署。本文详解标准重训练流程及 python 自动化实践。
vertex ai 目前不支持对已部署模型进行增量训练或直接追加数据更新;必须基于包含新旧数据的完整数据集,从头创建新数据集、训练新模型并重新部署。本文详解标准重训练流程及 python 自动化实践。
在 Google Vertex AI 中,无论是使用 AutoML 还是自定义训练(Custom Training),模型一旦训练完成并部署,即为不可变对象(immutable artifact)。这意味着:你无法“更新”或“微调”已部署的模型,也无法向其底层训练数据集中动态追加样本。这与传统机器学习中“在线学习”或“持续训练”的概念不同——Vertex AI 的设计哲学强调可复现性、版本可控性和端到端审计能力,因此所有模型迭代都需显式触发全新训练流水线。
✅ 正确的重训练流程(推荐实践)
要利用新增数据提升模型性能,应遵循以下四步闭环:
Python 3.14.2是Python编程语言在2025年12月5日发布的稳定版本,属于3.14系列的第二个维护更新。该版本包含了18项修复,重点解决了多进程、数据类及正则表达式等模块的回归问题,并修复了CVE-2025-12084等安全漏洞。此版本标志着自由线程模式(移除GIL)正式获得官方支持,是Python发展的重要里程碑。
- 合并数据:将新采集的数据(如新增的 CSV、JSONL 或 Cloud Storage 中的标注文件)与原始数据集合并,确保标签格式、预处理逻辑和 schema 一致;
- 创建新数据集:使用 aiplatform SDK 创建一个全新数据集(即使名称相似,也需新资源 ID);
- 启动新训练作业:调用 AutoMlTextTrainingJob、AutoMlImageTrainingJob 等对应类,指定新数据集与超参配置;
- 部署新模型并灰度切换:训练完成后,将新模型部署至同一 Endpoint(或新建 Endpoint),通过流量拆分实现平滑升级。
? Python 示例:自动化重训练(AutoML 图像分类场景)
from google.cloud import aiplatform
# 初始化 Vertex AI(请提前设置 GOOGLE_CLOUD_PROJECT 和认证)
aiplatform.init(project="your-project-id", location="us-central1")
# Step 1: 准备新数据(假设已上传至 gs://my-bucket/new-data.jsonl)
# 注意:需与原数据集格式完全一致(例如:IMAGE_CLASSIFICATION 格式)
dataset_uri = "gs://my-bucket/merged-dataset.jsonl" # 合并后的新数据路径
# Step 2: 创建新数据集(AutoML 图像分类)
dataset = aiplatform.ImageDataset.create(
display_name="my-dataset-v2",
gcs_source=dataset_uri,
import_mode="batch", # 支持批量导入
)
# Step 3: 启动新训练任务(自动选择最佳模型架构)
job = aiplatform.AutoMLImageTrainingJob(
display_name="train-job-v2",
prediction_type="classification",
multi_label=False,
)
model = job.run(
dataset=dataset,
model_display_name="my-model-v2",
training_encryption_spec_key_name=None,
model_encryption_spec_key_name=None,
sync=True,
)
# Step 4: 部署至现有 Endpoint(支持多模型共存 + 流量分配)
endpoint = aiplatform.Endpoint("projects/123456789/locations/us-central1/endpoints/987654321")
endpoint.deploy(
model=model,
deployed_model_display_name="my-model-v2-prod",
traffic_percentage=100, # 或设为 10 先灰度验证
machine_type="n1-standard-4",
)
⚠️ 关键注意事项
- 数据一致性是前提:新旧数据必须经过相同清洗、增强与标注规范处理,否则模型性能可能劣化;
- 不支持“覆盖式”更新:即使调用 update_dataset() 方法,也仅能更新元数据(如 display_name),无法变更训练样本;
- 成本与耗时需评估:每次重训练均产生完整训练费用(GPU 小时)和时间开销,建议结合数据增量规模设定重训频率(如每周/每千条新样本);
- 版本管理建议:为数据集、模型、Endpoint 均启用清晰命名规则(如 dataset-v20240501, model-prod-v2),便于回滚与 A/B 测试;
- 替代方案探索:若业务强依赖低延迟更新,可考虑在 Vertex AI 外构建轻量级在线学习层(如 TensorFlow Serving + Redis 特征缓存),但需自行保障一致性与监控。
? 总结
Vertex AI 当前不提供模型热更新或数据集原地追加能力,这是平台设计使然,而非限制。拥抱“全量重训 + 自动化编排”范式,反而更利于构建健壮、可审计、可扩展的 MLOps 流程。未来若官方支持增量训练(Incremental Training)或数据集版本快照(Dataset Versioning),建议通过 Google Issue Tracker 提交 Feature Request 并订阅更新。
Python免费学习笔记(深入):立即使用
在学习笔记中,你将探索 Python 的核心概念和高级技巧!










