GCP Vertex AI
编辑GCP Vertex AI
编辑概述
编辑Vertex AI 是一个平台,支持机器学习模型和 AI 应用的训练和部署。它旨在简化和加速 ML 模型的开发和部署过程,提供各种针对企业级工作流程量身定制的功能和集成。
与 Google Cloud Platform (GCP) Vertex AI 的集成允许您收集已部署模型的指标,例如令牌使用量、延迟、总调用次数和错误率。此外,它还会跟踪模型副本的资源利用率指标以及端点的预测指标。
数据流
编辑指标
编辑GCP Vertex AI 包括发布者类别下的 Vertex AI 模型花园发布者模型 指标和预测类别下的 Vertex AI 端点 指标。
要求
编辑您需要 Elasticsearch 来存储和搜索数据,以及 Kibana 来可视化和管理数据。您可以使用我们托管在 Elastic Cloud 上的 Elasticsearch 服务(推荐),或者在您自己的硬件上自行管理 Elastic Stack。
在使用任何 GCP 集成之前,您需要
- GCP 凭据 来连接您的 GCP 帐户。
- GCP 权限 以确保您用来连接的服务帐户具有共享相关数据的权限。
角色和权限
编辑没有查看 Vertex AI 指标所需的单一特定角色。访问权限取决于模型的部署方式以及授予您的 Google Cloud 项目和用户帐户的权限。
但是,为了总结必要的权限和隐含角色,您通常需要一个包含以下权限的角色
- monitoring.metricDescriptor.list: 允许您列出可用的指标描述符。
- monitoring.timeSeries.list: 允许您列出指标的时间序列数据。
这些权限包含在许多角色中,但以下是一些最常见的角色
- roles/monitoring.viewer: 此角色提供对 Cloud Monitoring 指标的只读访问权限。
- roles/aiplatform.user: 此角色授予对 Vertex AI 的更广泛访问权限,包括模型查看和潜在的指标访问权限。
- 更精细的角色: 为了进行精细控制(建议用于安全最佳实践),请考虑使用具有所需特定权限的自定义角色。这将仅包含查看模型指标所需的必要权限,而不是更广泛地访问所有 Vertex AI 或 Cloud Monitoring 资源。这需要 IAM(身份和访问管理)方面的专业知识。
-
具有更广泛访问权限的预定义角色: 这些角色在 Google Cloud 项目中提供广泛的权限,授予对指标的访问权限,但授予的功能远超仅仅查看指标所必需的功能。除非需要执行其他任务,否则这些角色通常过于宽松。例如
roles/aiplatform
.user 或roles/editor
。
Vertex AI 中的部署类型
编辑Vertex AI 提供两种主要的部署类型,
- 预配置吞吐量: 适用于高使用率、具有可预测工作负载且对有保证的性能有较高要求的应用程序。
- 按需付费: 非常适合低使用率应用程序、批处理以及具有不可预测流量模式的应用程序。
现在,您可以使用模型花园发布者资源在 Vertex AI 中跟踪和监控不同的部署类型(预配置吞吐量和按需付费)。
配置
编辑要获取指标,请输入 project_id 和凭据文件/json。
有关配置的更多信息,请参阅Google Cloud Platform 配置。
故障排除
编辑有关对问题进行故障排除的更多信息,请参阅Google Cloud Platform 故障排除。
指标参考
编辑示例
metrics
的示例事件如下所示
{ "cloud": { "provider": "gcp", "account": { "name": "elastic-sa", "id": "elastic-sa" } }, "agent": { "name": "docker-fleet-agent", "id": "f9c4beb9-c0c0-47ca-963a-a9dc00e2df5e", "ephemeral_id": "6c42a949-d522-44bf-818b-12c4a5908b90", "type": "metricbeat", "version": "8.15.2" }, "@timestamp": "2024-11-07T05:50:40.000Z", "ecs": { "version": "8.0.0" }, "gcp": { "vertexai": { "publisher": { "online_serving": { "token_count": 13 } } }, "labels": { "resource": { "model_user_id": "gemini-1.5-flash-002", "model_version_id": "", "publisher": "google", "location": "us-central1" }, "metrics": { "request_type": "shared", "type": "input" } } }, "service": { "type": "gcp" }, "data_stream": { "namespace": "default", "type": "metrics", "dataset": "gcp_vertexai.metrics" }, "elastic_agent": { "id": "f9c4beb9-c0c0-47ca-963a-a9dc00e2df5e", "version": "8.15.2", "snapshot": false }, "host": { "hostname": "docker-fleet-agent", "ip": [ "172.25.0.7" ] }, "metricset": { "period": 60000, "name": "metrics" }, "event": { "duration": 913154084, "agent_id_status": "verified", "ingested": "2024-11-07T05:57:17Z", "module": "gcp", "dataset": "gcp_vertexai.metrics" } }
ECS 字段参考
有关 ECS 字段的详细信息,请参阅以下文档。
导出的字段
字段 | 描述 | 类型 | 单位 | 指标类型 |
---|---|---|---|---|
@timestamp |
事件时间戳。 |
日期 |
||
data_stream.dataset |
数据流数据集。 |
常量关键字 |
||
data_stream.namespace |
数据流命名空间。 |
常量关键字 |
||
data_stream.type |
数据流类型。 |
常量关键字 |
||
gcp.labels.metrics.deployed_model_id |
为预测请求提供服务的 DeployedModel 的 ID。 |
关键字 |
||
gcp.labels.metrics.error_category |
请求的响应错误类别(用户/系统/容量)。 |
关键字 |
||
gcp.labels.metrics.input_token_size |
预测请求中令牌数量的桶化大小。 |
关键字 |
||
gcp.labels.metrics.latency_type |
预测请求的延迟类型(模型或开销)。 |
关键字 |
||
gcp.labels.metrics.max_token_size |
预测请求/响应中令牌数量的最大桶化大小。 |
关键字 |
||
gcp.labels.metrics.method |
请求的方法类型(RawPredict/StreamRawPredict/ChatCompletions/等)。 |
关键字 |
||
gcp.labels.metrics.output_token_size |
预测响应中令牌数量的桶化大小。 |
关键字 |
||
gcp.labels.metrics.replica_id |
与模型副本对应的唯一 ID。 |
关键字 |
||
gcp.labels.metrics.request_type |
请求的流量类型(专用/共享)。 |
关键字 |
||
gcp.labels.metrics.response_code |
预测请求的响应代码。 |
关键字 |
||
gcp.labels.metrics.spot |
此部署是否在 Spot VM 上。具有 True 或 False 值。 |
关键字 |
||
gcp.labels.metrics.type |
令牌类型(输入/输出)。 |
关键字 |
||
gcp.labels.resource.endpoint_id |
端点的 ID。 |
关键字 |
||
gcp.labels.resource.location |
服务运行所在的区域。 |
关键字 |
||
gcp.labels.resource.model_user_id |
PublisherModel 的资源 ID。 |
关键字 |
||
gcp.labels.resource.model_version_id |
PublisherModel 的版本 ID。 |
关键字 |
||
gcp.labels.resource.publisher |
模型的发布者。 |
关键字 |
||
gcp.labels.resource.resource_container |
拥有端点的 GCP 项目的标识符。 |
关键字 |
||
gcp.vertexai.prediction.online.cpu.utilization |
已部署模型副本分配的 CPU 的百分比,并且当前正在使用。如果机器类型有多个 CPU,则可能超过 100%。每 60 秒采样一次。采样后,数据在最多 360 秒内不可见。 |
双精度 |
百分比 |
仪表 |
gcp.vertexai.prediction.online.error_count |
在线预测错误数。 |
长整型 |
仪表 |
|
gcp.vertexai.prediction.online.memory.bytes_used |
已部署模型副本分配且当前正在使用的内存量。每 60 秒采样一次。采样后,数据在最多 360 秒内不可见。 |
长整型 |
字节 |
仪表 |
gcp.vertexai.prediction.online.network.received_bytes_count |
已部署模型副本通过网络接收的字节数。每 60 秒采样一次。采样后,数据在最多 360 秒内不可见。 |
长整型 |
字节 |
仪表 |
gcp.vertexai.prediction.online.network.sent_bytes_count |
已部署模型副本通过网络发送的字节数。每 60 秒采样一次。采样后,数据在最多 360 秒内不可见。 |
长整型 |
字节 |
仪表 |
gcp.vertexai.prediction.online.prediction_count |
在线预测数。 |
长整型 |
仪表 |
|
gcp.vertexai.prediction.online.prediction_latencies |
已部署模型的在线预测延迟。 |
直方图 |
||
gcp.vertexai.prediction.online.replicas |
已部署模型使用的活动副本数。 |
长整型 |
仪表 |
|
gcp.vertexai.prediction.online.response_count |
不同在线预测响应代码的数量。 |
长整型 |
仪表 |
|
gcp.vertexai.prediction.online.target_replicas |
已部署模型所需的活动副本的目标数量。 |
长整型 |
仪表 |
|
gcp.vertexai.publisher.online_serving.character_count |
累积的输入/输出字符计数。 |
长整型 |
仪表 |
|
gcp.vertexai.publisher.online_serving.consumed_throughput |
以字符为单位使用的总吞吐量(考虑下降率)。 |
长整型 |
仪表 |
|
gcp.vertexai.publisher.online_serving.first_token_latencies |
从接收到请求到将第一个令牌发送回客户端的持续时间 |
直方图 |
||
gcp.vertexai.publisher.online_serving.model_invocation_count |
模型调用次数(预测请求)。 |
长整型 |
仪表 |
|
gcp.vertexai.publisher.online_serving.model_invocation_latencies |
模型调用延迟(预测延迟)。 |
直方图 |
||
gcp.vertexai.publisher.online_serving.token_count |
累积的输入/输出令牌计数。 |
长整型 |
仪表 |